特集記事 転職・キャリア

転職市場で需要急増!職種毎に必要とされるAWSスキルを徹底解説

売り手市場のエンジニア転職市場

コロナ禍においても衰えないエンジニアへの需要

コロナ禍が経済に大きなダメージを与えていますが、エンジニアの求人環境・転職市場に目を移すと、企業の採用意欲は、いち早い回復傾向が見られており(「Findy」がコロナ禍のエンジニア採用市場の実態調査 - コロナ直後に比べエンジニアの転職意欲・企業の採用意欲は回復傾向(※1))、依然としてエンジニア市場が売り手市場であることに変わりはないと思われます。
エンジニアの求人・転職市場が、今後急速に縮小すると見ている人は少なく、しかも回復は他の業界に比べて相当に早いと考える意見が多いようです。むしろ今こそ優秀な人材を採用するチャンスであるとして、大幅に採用を強化している企業も多く見受けられます。

※1 参考:エンジニア転職「Findy」がコロナ禍のエンジニア採用市場の実態調査 - コロナ直後に比べエンジニアの転職意欲・企業の採用意欲は回復傾向(PR TIMES)

エンジニア転職市場におけるAWSスキルの価値

クラウド化への加速

特に、AWSスキルを持ったエンジニアへの転職市場における期待と価値はますます高くなっています。背景として、企業システムがオンプレミスから、クラウド利用へと急速に移行しつつあることが挙げられます。2017年にクラウド利用を行なっている企業の割合は56.9%であり、前年の46.9%から比較して大幅に増加しており、クラウドサービス事業者のシェアは、米調査会社Synergy Research Groupの2018年第3四半期の調査(※2)によると、AWSが約34%でトップ、2位はMicrosoft、3位はIBM Cloudと続いています。
このような「オンプレミス」から「クラウド」へと変化するIT業界の大きな変化の中で、AWSをはじめとするクラウド上でネットワーク、インフラを設計、構築、運用するスキルを持つエンジニアへの視線は一層熱いものになっていくと思われます。

※2 参考:synergy「The Leading Cloud Providers Increase Their Market Share Again in the Third Quarter」

エンジニア職種毎に必要とされるAWSスキル

ではエンジニア職種別に求められると思われるAWSスキルはどんなものなのか、具体的に見ていきましょう。

インフラエンジニア

AWSの各サービス、ネットワーク、ソフトウェア、データ等、ITインフラの設計・構築・運用を担当するのがインフラエンジニアです。設計・開発から始まって、商用リリースとその後の運用に至るまでAWSの最適なサービスを組み合わせて、システムに最適な環境を構築・保守・運用するスキルが求められます。

Iaasとも言われるAWSサービスのうち、特にどのサービスがインフラエンジニアとして押さえるべきかを明確に特定することは、極めて困難ですが、その中でもインフラエンジニアとして”取り扱うことの多いサービス”に絞って、一部となってしまいますがご紹介させて頂きます。

コンピューティング関連

基本となるAmazon EC2のみならず、昨今、Webサービス系企業に留まらず、様々な現場での活用ケースが急拡大しているコンテナ技術を前提としたAWSサービス群にもインフラエンジニアとして扱う機会は業界全体として着実に増えています。

また、サーバーレス環境を構築する上での筆頭格といってもいい、AWS Lambdaについても、所謂、モダンなサーバーレス環境のみならず、サーバーを含んだ環境との共存等、徐々に一般化しつつありインフラエンジニアとしても抑えておく必要はあるでしょう。

ストレージ関連

Amazon S3については、様々なサービス・用途で用いられる為、”インフラエンジニアとして”と限定しているわけではありませんが、インフラ構成自体がどのような形態を取っていたとしても、必ずといっていいほど、用いられるサービスです。

Amazon EFSはEC2と組み合わせて利用されるファイルストレージサービスです。S3ほどの利用頻度でないかもしれませんが、インフラエンジニアとしては、様々な場面でのS3の使い分けや構築に関する知見が求められます。

データベース関連

Amazon RDSやAmazon Auroraを構成に組み込む上では、RPO/RTOを考慮した事業継続性を担保することのできる冗長性、可用性を確保した構成を設計、構築することができるかという事が腕の見せ所にもなります。

また、後述するようなサーバーレス構成の裏側で使われる等、利用シーンも拡大しているAmazon DynamoDB、Webアプリ環境における秒単位の応答時間/リアルタイム性が要求される環境でのAmazon Elastic Cacheの利用等、一言で”データベース”と言っても、インフラエンジニアとして押さえる領域は小さくはありません。

ネットワーク関連

インフラエンジニアとして、最も期待され、また、最も難易度の高い事の一つがネットワーク設計ではないでしょうか?様々なネットワーク・セキュリティー要件を咀嚼した上で、適切に各AWSサービスを配置することは、やはり経験が必要です。また、単一のVPC上での構築設定であれば、さほど難易度が高くない場合でも、VPCの連結、あるいは、オンプレとの併用等も考慮し始めると、検討事項が無数に広がっていきます。

下記に挙げたのは一部ですが、いずれも、ネットワーク・セキュリティー要件と密接に関連したAWSサービスであり、このサービスの使い所、設定方法次第では、システムの強さ、費用対効果が大きく変わってきますので、ベストプラクティスをしっかりと理解しつつも、その上で、プロジェクト毎にあった構成・設定を提案できるかが、ポイントになります。

その他サービス

上記で説明したAWSサービス以外にも、インフラエンジニアとして取り扱うであろうサービスは多くありますが、その中でも、頻出のサービスを最後に挙げたいと思います。

下記全てを説明することはしませんが、やはり、IAMユーザー、IAMロール、IAMポリシーを司る、IAMは最重要と言っても過言ではありません。ユーザーの権限設定のみならず、AWSサービス間のコミュニケーションにおいても、適切なロール設定は必須です。

また、昨今、「インフラのコード化」、「Infrastructure as Code」というキーワードを耳にすることが多くなりましたが、AWSでは、AWS Cloud Formationがその役割を担っています。ソースとしてインフラを管理することで、複製、削除、バージョン管理等のオペレーションの正確性、効率が飛躍的に向上します。インフラエンジニアである以上、今後避けては通れない事の一つになるのではないでしょうか?

役立つ資格

非専門認定資格

専門認定資格

Webアプリ/モバイルアプリエンジニア

Webアプリケーション、モバイルアプリケーション開発の領域は、特に技術トレンドの移り変わりも早く、様々な新しい技術が日々生まれている印象です。その為、Webアプリ、モバイルアプリ開発を仕事にするエンジニアは”開発”に軸足を置きつつも、開発のプロセスに関わる広範囲かつ、新しい知見を獲得している事が、求められています。

DevOpsのような直接的に開発と関連するAWSサービスから、実際に開発したプログラムが稼働するインフラを構成するAWSのサービスまで幅広くご紹介します。

鉄板Webアプリ構成

Webアプリケーションを運用する為に必要になってくるAWSサービス、またその構成については、王道パターンが存在します。もちろん、サービス、会社のポリシーに沿った非機能要件等により、その構成は若干異なるものの、まずは、基本形として理解しておく必要があるかと思います。開発エンジニアは”開発”がメインとなりますが、やはり、この鉄板構成については、理解しておきたいものです。

今後、鉄板Webアプリ構成についての、記事も公開してまいります。

鉄板サーバレスAPI構成

Webアプリであれ、モバイルアプリであれ、AWS上でAPIを構築する場合には、この構成がスタンダードになりつつあります。鉄板Webアプリ構成同様に開発がメインタスクであるエンジニアでも、この構成への理解、各サービスの設定は対応できるようにしておいて良いと思います。

今後、鉄板サーバレスAPI構成についての、記事も公開してまいります。

DevOps関連

継続的かつ短期間に設計、実装、テスト、デプロイ、そして運用までの一連の流れをシームレスに効率良く回していくことを前提としたDevOpsにもAWSはサービスを提供しています。現時点では、まだ、定番化したとまでは言えないかもしれませんが、現在進行系で、需要が拡大しているのは間違いありません。

DevOpsの構成要素とも言える「CI/CD」、「インフラのコード化」、「コンテナ」について、実用的な観点から経験を積むことで、エンジニアとしての優位性にも繋がります。

【番外編】鉄板爆速アプリ開発構成

「知っておくべき」というには、少し早いかもしれませんが、Webアプリ、モバイルアプリを爆速で開発するための知見として知っておくのも良いかもしれません。AWS Amplifyとは、サーバーレスなバックエンド環境を設定するためのAWS CLIや、フロントエンドで利用できるUIコンポーネント等をフレームワーク化したものですが、さらに、フルマネージドのGraphQLサービスであるAWS AppSyncと認証機能を司るAmazon Cognitoを活用することによって、面倒なバックエンド側の設定を効率的に済ませ、エンジニアは開発に集中することができます。

今後、鉄板爆速アプリ開発構成についての、記事も公開してまいります。

役立つ資格

非専門認定資格

 IoTエンジニア

スマートスピーカーやスマート家電などあらゆるモノとインターネットを接続してサービスを展開するIot(Internet of Things=モノのインターネット)が身近なものとなり、クラウドとともに大きく需要が高まってきています。こうしたIoT製品やIoT技術を利用したシステムの開発をおこなうIoTエンジニアは今後の花形と言ってもいいかもしれません。AWSのIoTへの取り組みは現在進行形で次々に進化しています。非常に目まぐるしい分野ですので、そのほんの一端をご紹介します。

AWS IoT

AWSにはAWS IoTと呼ばれる産業用、エンドユーザー用、商用ソリューションのための IoT サービスカテゴリーがあり、IoTソリューションに最適な最新のAWSのテクノロジーを選択して開発できます。 デバイスソフトウェア、コントロールサービス、分析サービスから構成されています。

デバイスソフトウェアでは低電力小型エッジデバイスのプログラミング、デプロイ、保護、接続、管理を簡単にするFreeRTOS、AWS をエッジデバイスにシームレスに拡張するAWS IoT Greengrass などが用意されています。
デバイスと接続してコントロールするコントロールサービスには、AWS IoT Core やAWS IoT Device Management が用意されています。
分析サービスとしては、膨大な量の IoT データの高度な分析を簡単に実行できるAWS IoT Analytics、IoT センサーやアプリケーションで発生したイベントを検出し対応できるAWS IoT Events などあります。

デバイスソフトウェア
コントロールサービス
分析サービス

インターフェース

AWS IoTには次のようなインターフェースが用意されています。AWS CLIを使えばAWS IoTをコマンド実行によって Windows、MacOS、Linux で利用でき、オブジェクト、証明書、ルール、ジョブ、ポリシーを作成したり管理することができます。AWS IoT Devise SDK及びAWS Mobile SDKによって送受信先のデバイス上にアプリケーションを構築することができます。AWS IoT APIによってHTTP または HTTPS リクエストを使用して APIアクションでIoT アプリケーションを構築できます。構成やユースケースに合わせてインターフェースを扱えることもIoTエンジニアにとっては非常に重要です。

AIエンジニア

最先端技術である人工知能(AI)の開発を行うのがAIエンジニアです。機械学習の基礎技術や開発を行うエンジニアの他、AIを使ったデータ解析やシステム開発と実装に取り組むエンジニアなど業務には幅があります。そのためAWSが提供しているAI関連のサービスは機械学習の基盤構築を可能とするAWS MLサービスと、主に機械学習の成果を利用してデータを分析するAWS AIサービスがあり、それぞれのユースケースに応じたサービスが用意されています。AIサービスを利用する上では機械学習の知識は基本的に必要ありません。一言でAIと言っても多くの業務領域に広がっており、従事するAIサービスがどのような分野に属するのか知った上でスキルを身につける必要があります。

この分野は、少し前であれば膨大な工数とスキル、費用がなければ開発できなかったものがほとんどですが、AWS上のサービスを組み合わせることで、工数と人のリソースが大幅に削減できることを知っていることは、AIエンジニアにとってこれからの時代、大変に重要です。

AWS MLサービス

開発者やデータサイエンティストが機械学習 (ML) モデルを迅速に構築、トレーニング、デプロイできるようにする完全マネージド型のAmazon SageMaker 、機械学習のための高精度なトレーニングデータセットを簡単に構築することができるAmazon SageMaker Ground Truth他があります。

AWS AIサービス

アプリケーションに画像およびビデオ分析を簡単に追加できるAmazon Rekognition 、機械学習とパターンマッチングを使用して AWS の機密データを検出して保護するAmazon Macie、音声やテキストを使用して、任意のアプリケーションに対話型インターフェイスを構築するサービスAmazon Lexなど多くのサービスがあります。

AWSの基本スキルを身につけるために

認定資格の利用

各エンジニアの項でも触れてきましたが、AWSエンジニアになろうと決めたら、認定資格試験の勉強で知識を身につけその進捗について確認してみるのも良いと思います。就職や転職にはAWSに関する技術の証明として役に立ちます。
AWSには非常に多くの分野にわたって多様なサービスが用意されていますが、こうしたAWSスキルを効率的に身につけるための認定資格が、「AWS 認定ソリューションアーキテクト」 です。 中でも基礎となるアソシエイト試験は、AWS における分散システムの可用性、コスト効率、高耐障害性およびスケーラビリティの設計に関する 1 年以上の実務経験を持つソリューションアーキテクト担当者を対象としています。
AWS のテクノロジーを使用して安全で堅牢なアプリケーションを構築およびデプロイするための知識を効果的に証明することや、顧客の要件に基づき、アーキテクチャ設計原則に沿ってソリューションを定義できること、プロジェクトのライフサイクルを通して、ベストプラクティスに基づく実装ガイダンスを組織に提供できる能力の証明に用いられます。
AWSエンジニアとしては基本の基本ではありますが、膨大なAWSサービスを扱うための入り口としてぜひ利用してみてください。

まとめ

企業がオンプレミスからクラウドに移行する時代を迎えて、代表的なクラウドであるAWSのスキルを持ったエンジニアへの転職市場でのニーズはますます高まっています。エンジニアの職種によってどのようなAWSサービスを利用するスキルが必要なのかについて考えてきました。AWSサービスは非常に多種多様にわたっており、次々と新しいサービスが登場していますので、ここに記載したものはほんの一端にしか過ぎませんが、参考にしていただきたいと思います。スキルの取得にはAWS認定資格取得などの機会を利用して勉強することも有効だと考えられます。

 

 

-特集記事, 転職・キャリア

© 2021 A-COM(エーコム) Powered by AFFINGER5