国内のIT業界、特にWeb業界の企業は、ほぼ何らかのクラウドサービスを利用している、またはクラウドサービスの導入を検討していると言われています。
この「クラウド導入化」に伴い、エンジニアには一般的なクラウドやパブリッククラウドの知識を持つことが求められつつあり、パブリッククラウドでの設計や構築の経験を持つエンジニアの需要は増加傾向にあります。
現在、クラウドサービス(パブリッククラウド)業界の中で、認知度・人気度共にNo.1であり、国内企業におけるシェアの約半数を占めるのは、アマゾン社が提供するAWS(Amazon Web Services)です。
本記事では、AWSエンジニアの概要や現状、そして必要な経験やスキルなどについて解説していきます。
1. AWSエンジニアって?
そもそもAWSでは、インフラやクラウドの専門家でなくても比較的簡単にサービスを利用しやすいしくみが提供されており、サーバーやネットワーク管理のハードルが低くなっています。
そのため、AWSの基礎部分を "扱える" または、"触れる" エンジニアであれば多数います。
AWSエンジニアの明確な定義はありませんが、あえて、AWSエンジニアと呼ばれるのは、インフラまわりやクラウドの知識をベースに持ちながら、AWSに関する幅広い知識や技術を有し、AWS上での環境の設計・構築・運用などの経験やスキル、既存のオンプレミスからのAWSへの移行経験などがあるエンジニアを指すようです。
2. AWSエンジニアの需要が増えている理由
2.1 パブリッククラウド市場の急成長
最近は「クラウド」とよく耳にしますが、企業がクラウドサービスを導入するということはどういうことでしょうか。
それは、AWSのような、サーバーやネットワーク環境を含めたシステム運用に必要なインフラ環境をレンタルできる "パブリッククラウド" を利用することです。
そして現在、このパブリッククラウド市場が飛躍的な成長を遂げています。
株式会社MM総研が実施した「2019年国内クラウドサービス需要動向調査」によると、クラウドサービス市場全体として右肩上がりの成長率ですが、特に、パブリッククラウド市場においては2018年度の6,165億円で前年度比34.1%増となり、2018年度以降の平均成長率は21.7%と予測されています。
クラウドサービス市場規模の実績・予測ともに、先行するプライベートクラウドの緩やかな伸びに対し、パブリッククラウドの急成長が見て取れます。
参照元:MM総研調査「国内クラウドサービス市場規模 実績・予測」
2.2 進む "脱オンプレ化" と優位性を保つAWS
それでは、企業はどのような目的でパブリッククラウドを利用するのでしょうか?
PaaS/IaaSの主な用途(重複回答)
参照元:MM総研調査「国内クラウドサービス市場規模 実績・予測」
クラウドサービスPaaS(OSとインフラ)/IaaS(インフラ)の利用用途としてはどちらも、「アプリケーション開発基盤の移行」「自社開発システムの移行」が上位となっています。
これまでの既存システムをクラウドへ移行する "脱オンプレ化" が進んでいる状況がわかります。
そして、パブリッククラウドサービスをリードするのはAWS。
半数近くのシェアを占め、優位性を保っています。
【PaaS 利用者のクラウドサービス】
順位 | クラウドサービス | % |
---|---|---|
1 | Amazon Web Services | 47.7 |
2 | Microsoft Azure | 32.8 |
3 | Google Cloud Platform | 13.2 |
【IaaS 利用者のクラウドサービス】
順位 | クラウドサービス | % |
---|---|---|
1 | Amazon Web Services | 47.1 |
2 | Microsoft Azure | 25.6 |
3 | IBM クラウド | 7.8 |
"既存システムをクラウドへ移行する" 、つまり、従来のオンプレミスからクラウドへと切り替えを行ったり、ハイブリッドクラウド*などに対応するためには、インフラやクラウドの知識や技術に加え、パブリッククラウド(AWS)に深い知見を有する実践的なスキルを持つAWSエンジニアが求められています。
現状では、AWSエンジニアはまだまだ少なく、需要の増加に対して圧倒的に不足していると言われています。
*ハイブリッドクラウドとは
堅牢性が高いオンプレミスやプライベートクラウドと、低価格で必要分だけ利用できるパブリッククラウドを併用すること
3. AWSエンジニアの仕事内容について
AWSエンジニアの仕事は、AWSの利用用途によっても変わってきますが、主に、AWS上でのインフラ基盤の設計や構築、インフラ部分の運用などを担当することが多いでしょう。
3.1 インフラ基盤の設計
AWS上での仮想サーバー、権限管理、テスト計画などの「設計」
企業がハイブリッドクラウドである場合は、データセンターとクラウドとの連携部分に関する設計なども必要。
3.2 インフラ基盤の構築
インフラ基盤を「構築」
構築の自動化には、AWS CloudFormationでインフラ部分のコード化などを行う。
3.3 運用・保守
「運用・保守」部分は、インスタンスの監視や障害対応など。
PaaS利用であれば、OSやミドルウェアの運用設定を行う。
AWSエンジニアは、幅広い分野のAWSサービスの中から必要なものを選定し効率化をはかり、コスト面を熟考し低コスト化を目指すなどの、"AWS化" によるメリットを考慮する必要もあります。
4. AWSエンジニアに必要な経験とスキル
担当する業務によっても使用する技術は変わってきますが、AWSエンジニアとして備えておきたいスキルやAWSサービスを挙げてみます。
4.1 インフラ技術
AWSの操作は専門知識がなくても可能ですが、AWS上にインフラを構築するとなれば、
ネットワークやサーバーはもちろんインフラ基盤に関連する知識・技術は必須です。
インフラエンジニアやネットワークエンジニアとしてのオンプレミスでのインフラ経験があればかなり有利でしょう。
4.2 インフラのコード化
インフラの運用管理には、インフラのコード化(Infrastructure as Code)が非常に重要です。
コード化によって、インフラ管理の簡略化や変更管理などが可能となったり、また、インフラ構築の自動化の実現により効率化がはかれます。
まずは、インフラのコード化を理解し、AWS CloudFormationについて知識を得るとよいでしょう。
4.3 コンテナとサーバーレス
コンテナ:可搬性と再利用性の高さ・自由度の高さ
サーバーレス:使った分だけ課金という無駄のない低コスト性・インスタンスの自動スケール
これら双方のメリットを活かして両者を一緒に使う手法も注目されています。
Dockerなどのコンテナやサーバーレスに関する知識、そしてAWS LambdaやAWS Fargate、Bashなどのシェルについても理解しておきましょう。
4.4 ミドルウェア関連
特にPaaS利用であれば、OSやミドルウエア、LinuxやRDBMSなどに関連する知識も必須です。
4.5 知っておきたいAWSサービスまとめ
AWSエンジニアであればまずは理解しておきたいAWSサービスの一覧です。
AWS VPC:仮想ネットワーク
AWS EC2:仮想サーバー
ELB:ロードバランサー(トラフィックの自動分散装置)
AWS ECS:コンテナの実行
AWS Lambda:サーバーレスでのイベント自動実行
AWS Fargate:サーバーレスでコンテナを実行
AWS S3:ストレージ(サーバーやファイルの保管)
AWS EBS:EC2と組みあわせて使用するブロックストレージ
AWS IAM:権限管理・暗号化キー管理
AWS CloudWatch:監視の設計
AWS CloudFormation:インフラ部分のコード
4.6 未経験でもAWSエンジニアになれるのか
上記で説明してきたとおり、AWSエンジニアには様々な知識と技術、そして経験も必要です。
従って、例えば、IT業界未経験でいきなりAWSエンジニアになれるかというと難しいと言えるでしょう。
サーバーサイドエンジニアからの転身であれば、まずはインフラまわりについての知識を得てから、クラウドの基礎知識をつけつつAWSを勉強するとよいでしょう。
AWSやクラウドは未経験だけれど、インフラエンジニアでの経験があればかなり有利です。
これまでオンプレミスで培ってきた知識をベースに、クラウドの基礎知識を含めAWSについての理解を深めていくことでAWSエンジニアへの近道になるといえます。
5. AWSエンジニアの将来性について
クラウドサービス市場、特にパブリッククラウドの急成長や今後の成長率予想の高さを見ても、AWSエンジニアの需要は伸びていくでしょう。
また、AWSでは当初のインフラ関連サービスにとどまらず、機械学習やIoTといった最新技術で利用するパーツの提供を始めるなど、"クラウドサービスの多角化" も強みとしており、今後もクラウド業界をリードする企業であることが予想できます。
このようなことから、AWSエンジニアには将来性があるといってもよいでしょう。
少なくとも、AWSエンジニアを目指したり、AWSエンジニアになることのデメリットは少ないと言えます。
もし今後、他社のクラウドサービスが伸びて、AWSのシェアが劣勢になってきたとしても、パブリッククラウドの根本的な考え方は同じですので、知識や技術を活かすことも可能です。
その上で、クラウド技術の進歩や変化は激しいため、常に最新情報をキャッアップする意識は持っておく必要があります。
6. まとめ
AWSはパブリッククラウドですので、AWSエンジニアとは、"パブリッククラウド(AWS)に特化したエンジニア" であるともいえるでしょう。
クラウド時代と言われる現在において、パブリッククラウドに強いエンジニアは重宝されます。
さらに、業界のトップを行くAWSに特化したスキルを磨いていくことで仕事の幅も広がるでしょう。
初学者であっても、AWSを利用しながらクラウドスキルを学び、インフラ部分にも触れて知識を得ることは、今後のIT業界を生き抜く上でも損をしない選択だといえます。
AWSエンジニアの必要性・将来性が見えてきた現在こそ、技術やスキルを身につけ、就職や転職・キャリアチェンジなどに活かしてみてはいかがでしょうか。
下記のAWS関連記事もぜひ参考にしてみてください。