本記事を投稿した背景
私が新卒でWeb事業会社にエンジニアとして内定を頂き、インフラ関連の部署に配属が決まったとき、
「事業会社のインフラエンジニアってどんな仕事をするんだろう?」と疑問を抱いていました。
これからインフラエンジニアとして働く学生や未経験エンジニアの方々の参考になれば幸いです。
ざっくりとしたお仕事内容
- アプリケーションやデータベース等の動作環境の構築・運用保守
- プロダクト運用にあたって、パフォーマンスやコストを最適化
- セキュリティ周りのボトルネックを解消
- アプリケーションの監視・障害対応
具体的な仕事例
- アプリのパフォーマンス監視
- AWS上で構築したコンテナやサーバのパフォーマンス, APIに対するリクエストなどを監視
- 異変が発生した時のためのアラート設定も行う
- 定期バッチの設定
- メール送信などアプリケーション内で自動的に行われる動作を設定する
- 検証や本番など、開発チームの用途に合わせた環境構築
- 近年ではTerraformでのAWSリソース構築や、Ansibleによるサーバの状態変更など、コードによるインフラ管理を行うことが多い
- セキュリティ・コスト面の最適化
- AWS Trusted Adviser等に基づくベストプラクティスの設定反映
- インスタンスタイプの変更やWAFの設定など・・
- 上記作業を含め、運用作業の効率化を図る
- シェルスクリプトなどを使って手作業を自動化するなど
どんなことを勉強したらいいの?
AWS/GCP等のクラウド関連の知識
近年はクラウドサービスを使っている企業が多いので、軽く勉強しておくといいでしょう
AWSの勉強にはBlack Belt Seminarがおすすめです。
OS, サーバなどのコンピュータの知識
インフラエンジニアとして働くと最初はわからない言葉がたくさん飛び交います。
コンピュータ関連の基礎知識を事前に勉強しておくと、業務のキャッチアップがしやすくなるでしょう。
コンピュータに関する基礎知識を網羅的に学習するには、基本情報技術者試験の勉強がおすすめです。
Linuxコマンド・シェルスクリプトの知識
ターミナル上でコマンドを打つ作業が多いので、Linuxコマンドの知識は必須です。
また、シェルスクリプトが使えると作業の効率化などで便利なので、覚えておくと嬉しいでしょう。
おすすめ勉強方法はHacker Rankなどでシェルスクリプトのコーディング問題を解くことです。