インフラエンジニアの将来を考える その2


その1ではインフラエンジニアの将来について触れましたが、今回は具体的にどんなスキルを身につければ良いのか考察したいと思います。

確実に言える事

まず一つ確実に言えることは、クラウドに強いインフラエンジニアになるということです。
今後オンプレへの投資が減っていく中で、いつまでもクラウドの技術習得に二の足を踏んでる場合ではありません。
しかしオンプレ専業のエンジニアがクラウド専業に移行するのはそれほど簡単ではありません。 その原因の一つが作業の幅が広いということです。
オンプレの時はサーバの管理だけ得意なエンジニアでも活躍できたと思いますが、クラウドはネットワークとサーバの境界が曖昧な所があり、結果としてどちらも構築できないと使い勝手の悪いエンジニアとなってしまいます。
私のチームでもインフラエンジニアはAWSの全作業を一人で出来ることが前提となっています。
もう一つがサーバレス構成を構築するためにはプログラミングスキルが必須だと言うことです。
Lambdaは痒い所に手が届く大変便利なサービスですが、コードはnodejsやjavaを書く必要があります。
Lambdaの制約上、そんなに難しいプログラムを書くことはないと思いますが、プログラミングができないエンジニアにとってはスキルを身につけるまで大変かも知れません。

クラウドでのインフラ構築について

もうちょっと具体的にクラウド上ではどんなインフラを構築するのかいくつか例を出してみたいと思います。

標準Webサービス

こちらの図はCLOUDCRAFTというAWSの構成図を3Dで描画できるWebサービスで作成しました。 開発者とイメージを共有するのに便利なので普段からお世話になってます。
基本機能であれば無料で使えますよ。
そのサービスの中に構成図のテンプレートがいくつかあるのですが、こちらは標準Webサービスと定義されているものです。
ユーザの下にあるELB配下のEC2がフロントエンドで、その更に下がバックエンドというイメージでしょうか? あとはDNSはroute53で管理して、画像などはS3をオリジンとしてCloudFrontから配信するようですね。
この程度であればAWS特有の知識はほとんど必要ないので、やってみたらなんとかなると思います。

ユーザ認証ありのWebサービス

ではこの構成ではいかがでしょうか?
APIへのリクエストはAPIGatewayを経由したCognitoというOAuthサービスにて認証済みの場合のみ許可し、更にCognitoからLambdaを呼んで権限をチェックした上で許可するメソッドを制限する構成です
あとはALBへの不正なリクエストを弾くよう、WAFが配置されているのもポイントですね。
この辺りになってくると、各サービスの特性を理解していないと組むのは難しいと思います。

サーバレス構成

こちらはサーバレス構成と定義されているテンプレートです。
モバイルアプリからAPIGatewayへリクエストを投げて、LambdaからDynamoDBにレコードを書き込み、更にその書き込みイベントをトリガーとして別のLambdaを呼び出し動的に生成したHTMLをs3に配置するという構成のようです。
AWSならではのサービスをこれでもかと使っており、オンプレのスキルだけではどうにもならない事を理解していただけると思います。
今後このようなサーバレス構成の需要が伸びてくるのは間違いないので、要件をヒヤリングして構築できるレベルまでスキルを身に付けておくに越したことはありません。
また各社競い合うようにどんどん新サービスを出してくるので、本番では利用しないにしろ、積極的にテスト環境で評価していくのも大事だと思います。

コメント

このブログの人気の投稿

ヨドバシカメラで納品書を再発行してもらった話

海外通販でSwiss postを使って到着まで1ヶ月掛かった話

Fedexの配送は早かった