クラウドでまず抑えるべきポイントを「クラウドエンジニア養成読本」で学ぶ

 楽しみにしていた「クラウドエンジニア養成読本」を早速読んだので、学びをメモしていきます。

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

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

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

 それなりにボリュームのある内容ですが、2日で読めているようです(多分3時間くらい)。

ハンズオンの部分をサラッと流しているというのもありますが、文章が洗練されていて、かつ、内容も非常に面白いので、あっという間に読めてしまいました。

ざっくり内容

  • クラウドの今とこれから
  • 3大クラウドベンダーの基本的な説明とハンズオン
    • Amazon Web Services(AWS)
    • Google Cloud Platform(GCP)
    • Mibrosoft Azure(Azure)
  • クラウド事例集x5

読んだ方がいい人

 下記に該当する方はこの本を読むと学びがあると感じました。

  • クラウドサービスを使ったことがなく、これから入門しようとしている方
  • AWS, GCP, Azure のどれかひとつについては明るいが、他のクラウドサービスについて知見がない方

私は後者です。AWS 以外のサービスについても概要は掴んでおきたいと思っていたのすが、この本はそんな人に最適な内容だと感じました。よく、Webで情報は集められる、という方もいますが、この本は各分野のプロが大事だと思う部分をまとめてくださっているので、「まず何を学ぶべきか」を決めてもらえるのもよかったなと感じます。

学びをつらつらとメモ

 ※メモがテキストになったり、Twitter引用になったりですみません。

クラウドの今とこれから

  • マルチクラウド化のデメリットは、各クラウドを適材適所で使いこなせる人が少ないこと
  • では、エンジニアはどのようにマルチクラウドの知識を溜めていくべきか?これは人による。全体のアーキテクチャ設計が得意になりたい人は、得意なクラウドについて知見を深め、特定の狭い分野を深く設計できるエンジニアを目指す人は、3大クラウドのその分野の特徴を抑えておき、最適な設計ができるようになったほうが良い。というのが筆者の考え。
    • 自分は前者かなー。

3大クラウドベンダーの基本的な説明とハンズオン

Amazon Web Services(AWS)
  • AWS の主要サービスがまとめられている。これからクラウドの世界に入る方は、AWS のこの部分を読むだけでも勉強になると思います。前述の通り「主要な」ものを選んでもらえているのが、いいと思います。全部抑えるの無理なので。
  • Fargate のハンズオン楽しそうなので、どこかでやってみる。
  • Fargate, Lambda, EC2 の使い分けの整理がとても参考になる。
Google Cloud Platform(GCP)
  • Google App Engine は Web アプリに特化した PaaS。「トラフィック移行機能」が便利そう。ワンクリックでB/Gデプロイ、カナリアリリースに対応している。A/Bテストの実施も容易にできる。DevOpsで必要な機能が使いやすく統合されていて、エンジニアはコア機能開発に注力可能。

Mibrosoft Azure(Azure)

クラウド事例集x5

  • クラウドのメリットを引き出す4つのポイント(「セキュリティ」「可用性・拡張性」「バックアップとディザスタリカバリ」「継続的な環境の最適化」)の整理は、クラウド入門した直後に読みたい内容。
  • ディザスタリカバリの4つの方式が整理されている。この図が分かりやすいのがとてもいいです。お客さんと話すときに、これ見ながら話すと捗りそう。
  • 個人的な一番の見どころは、「IoTシステム開発のベストプラクティス」
    • データフォーマットを責任分界点にして、デバイス側とクラウド側で並行開発する
    • デバイス側の開発の方が制約があるので、ビジネスロジックや複雑な処理はクラウド側にもっていく
    • ただし、デバイス側でやるべき処理もあるので注意する
    • 蓄積するデータをS3に配置し、それをトリガにタイムリーなデータをDynamoDBに作りにいく設計
  • ハンズさんの「一番難しいところから移行する」という方針はとても大事だと思いました。いろいろ頑張ったあげく「最後だけダメでした」だとアレなので。スモールスタート的な考え方とこれは区別して考えたほうがよさそう。
  • DynamoDB だけでは複雑な検索が難しいので、分析用データは Redshift、リアルタイム検索については ES に。うーむ。Redshift はいいとして、ES は使わざるをえないのかなー。悩ましい。
  • 複数サービスを組み合わせて開発する場合は、S3に一度データを集める方式がおすすめ。機能拡張に対応しやすい。
  • DynamoDB のキャパシティ。全てのパーティションで共有され、按分されるので、ひとつのパーティションにデータが集中すると地獄を見ることになる。
  • CloudFront 単体ではアクセス制限できないので、WAFを組み合わせて解消した。
  • 「なんでもかんでもサーバレス」はアンチパターン。これは本当に賛成です。目的を達成するための手段の一つでしかないのでそこは今後も意識したい。

まとめ

 読み応えのあるとてもいい本でした。「重要な点に絞って学べる」ことと、随所に登場する「生々しい苦労話」が特におすすめです。

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

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

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