プログラマでありたい

おっさんになっても、プログラマでありつづけたい

クラウドエンジニア養成読本を書きました

 ご報告遅くなりましたが、技術評論社から出版中のクラウドエンジニア養成読本の執筆に参加させていただきました。この本は、AWS, Azure, GCPという3大クラウドを取り扱うという意欲的な企画で、それぞれの分野の第一人者の方々が執筆されています。その中の末席に加えて頂けたこと、大変光栄です。

マルチクラウド


 私は、特集1の「ゼロから学ぶクラウドの世界 〜クラウドの現在、そして未来はどうなる?」という部分を担当しました。導入的な部分で、クラウドを取り巻く現状、主要ベンダーとその位置付け、最近の潮流、さらにはエンジニアはクラウドとどう向かい合うのかということをつらつらと書いています。
 その中のひとつのキーワードとして、マルチクラウド化を挙げています。マルチクラウドというと、何を持ってと宗教論争が起きるので、ここでの言葉の定義は2つ以上のクラウドを使っていたらマルチクラウドとざっくりしたものとしています。

f:id:dkfj:20180322072148p:plain

 マルチクラウド化の必然については、後述するコンテナ・サーバレスという2つの潮流の中で、クラウド間の可搬性がより高まることが予想されます。そうなると、企業としては、サービスごとに一番良いものを使い分けていくという方向になります。そんな未来がテーマの一つにしています。

コンテナ化とサーバレスアーキテクチャ


 先程のマルチクラウド化の論拠は、コンテナ化とサーバレス・アーキテクチャだと言いました。この2つは、システム・アプリケーションの可搬性を高めます。どちらも上手く作れば、動くプラットフォームはなんでもよくなります。そうなると、特定のクラウドサービスに拘る理由が少なくなってきます。実際、AWSをメインで使っているものの、コンテナ部分についてはKubernetesが便利なのでGCPを使っているという話をよく聞きました。
 コンテナ・サーバレス以外にもAI・機械学習・ビッグデータに関わるようなサービスについては、既に併用しているというケースは多いのではないでしょうか?GCP使ったことないと言いつつ、Big Queryだけ使ったことある人多いですよね。

成長戦略


 じゃぁ、マルチクラウドが進む中で、エンジニアはどうすれば良いのでしょうか?全てのクラウドを学んでいく?私の意見として、それは現実的ではないと思っています。個人として、複数のクラウドを習熟するのは困難ですし、たとえ組織としてもかなり大規模な組織ではないと難しいのではないかと考えています。
 では、取るべき道はどうすれば良いのでしょうか?私は、T型のアーキテクトか、特定のレイヤーに特化のどちらかだと思います。

 まずT型のアーキテクトです。下の下手な字にあるとおり、特定のクラウドに習熟した上で、他のクラウドについても、ある程度抑えるという方向です。

f:id:dkfj:20180322072108p:plain

 これに対して、特定レイヤー特化型は、ネットワークやコンテナ、サーバレスなどレイヤーを絞って、複数のクラウドサービスに習熟するという方向です。

f:id:dkfj:20180322072137p:plain

 私自身としては、T型です。特定レイヤーについては、もう少し余裕があれば手を伸ばしたいところです。取り組むとしたら、主戦場であるコンテナ・サーバレスではなく、今までの経験が活きる認証認可の分野かなと思っています。

まとめ


 他の方の執筆内容については言及できませんでしたが、かなり面白いです。同僚の石川によるサーバレスで構築するシングルページアプリケーション&バックエンドや、ソラコム松井さんのIoT、ハンズラボさんのクラウド移行話など、読み応えたっぷりです。
 余談ですが、最近だしたAWS関係本がAmazonのクラウドランキングに3つ並んで、ちょっと嬉しいです。

f:id:dkfj:20180322064951j:plain

クラウドエンジニア養成読本[クラウドを武器にするための知識&実例満載! ] (Software Design plusシリーズ)

クラウドエンジニア養成読本[クラウドを武器にするための知識&実例満載! ] (Software Design plusシリーズ)

  • 作者: 佐々木拓郎,西谷圭介,福井厚,寳野雄太,金子亨,廣瀬一海,菊池修治,松井基勝,田部井一成,吉田裕貴,石川修,竹林信哉
  • 出版社/メーカー: 技術評論社
  • 発売日: 2018/03/14
  • メディア: 単行本
  • この商品を含むブログを見る