楽しみにしていた「クラウドエンジニア養成読本」を早速読んだので、学びをメモしていきます。
クラウドエンジニア養成読本[クラウドを武器にするための知識&実例満載!] Software Design plus
- 作者: 佐々木拓郎,西谷圭介,福井厚,寳野雄太,金子亨,廣瀬一海,菊池修治,松井基勝,田部井一成,吉田裕貴,石川修,竹林信哉
- 出版社/メーカー: 技術評論社
- 発売日: 2018/03/14
- メディア: Kindle版
- この商品を含むブログを見る
それなりにボリュームのある内容ですが、2日で読めているようです(多分3時間くらい)。
クラウドエンジニア養成読本読みます!
— ちゃんけ (@ketancho) 2018年3月14日
#クラウドエンジニア養成読本 読了。あとで整理しよう。面白かった。
— ちゃんけ (@ketancho) 2018年3月15日
ハンズオンの部分をサラッと流しているというのもありますが、文章が洗練されていて、かつ、内容も非常に面白いので、あっという間に読めてしまいました。
ざっくり内容
- クラウドの今とこれから
- 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で必要な機能が使いやすく統合されていて、エンジニアはコア機能開発に注力可能。
Cloud SQL が RDS 的な子、Cloud Datastore が DynamoDB 的な子という理解でいいのかなーと思ってたら、Cloud Spanner なる強そうな子が出てきた!#クラウドエンジニア養成読本
— ちゃんけ (@ketancho) 2018年3月15日
Private Google Access が VPC エンドポイント的な子かな。#クラウドエンジニア養成読本
— ちゃんけ (@ketancho) 2018年3月15日
GCP のエンドポイントは事前暖気しなくてもいいらしい。あと、リージョンをまたがったロードバランシングができる。なるほど。#クラウドエンジニア養成読本
— ちゃんけ (@ketancho) 2018年3月15日
BigQuery の定額料金プランいいですねー。#クラウドエンジニア養成読本
— ちゃんけ (@ketancho) 2018年3月15日
Cloud Pub/Sub は SQS 的な子かな。リージョン意識しないでいいとのこと。At least once 保証。Fanout パターン作るときに使ったり。#クラウドエンジニア養成読本
— ちゃんけ (@ketancho) 2018年3月15日
Cloud Dataflow バッチ処理やストリーミングをフルマネージド基盤で実行。必要な時だけリソースを使うモデル。ジョブの前後感ケアも定義できそうに見える。Step Functions & Lambda 的な子?ハンズオンがあるらしい。あとでやってみよう。#クラウドエンジニア養成読本
— ちゃんけ (@ketancho) 2018年3月15日
Mibrosoft Azure(Azure)
Azure Event Grid は SNS 的な子?#クラウドエンジニア養成読本
— ちゃんけ (@ketancho) 2018年3月15日
Azure Functions だけは使ったことあるぞ(ドヤ)Python 対応してないのかな?🤔#クラウドエンジニア養成読本
— ちゃんけ (@ketancho) 2018年3月15日
Azure DevTest Labs 便利そう(こなみかん#クラウドエンジニア養成読本
— ちゃんけ (@ketancho) 2018年3月15日
「A z u r eは 、 1人のユ ーザ ーに対して複数のサブスクリプション ( A z u r eの契約単位 )を切り替えながら作業を進めます 。」ほう。。
— ちゃんけ (@ketancho) 2018年3月15日
#クラウドエンジニア養成読本
「2 0 1 8年からは A z u r e向けのマイクロソフト認定プロフェッショナル ( M C P )認定試験も拡充されています 。」
— ちゃんけ (@ketancho) 2018年3月15日
#クラウドエンジニア養成読本
クラウド事例集x5
- クラウドのメリットを引き出す4つのポイント(「セキュリティ」「可用性・拡張性」「バックアップとディザスタリカバリ」「継続的な環境の最適化」)の整理は、クラウド入門した直後に読みたい内容。
- ディザスタリカバリの4つの方式が整理されている。この図が分かりやすいのがとてもいいです。お客さんと話すときに、これ見ながら話すと捗りそう。
- 個人的な一番の見どころは、「IoTシステム開発のベストプラクティス」
- データフォーマットを責任分界点にして、デバイス側とクラウド側で並行開発する
- デバイス側の開発の方が制約があるので、ビジネスロジックや複雑な処理はクラウド側にもっていく
- ただし、デバイス側でやるべき処理もあるので注意する
- 蓄積するデータをS3に配置し、それをトリガにタイムリーなデータをDynamoDBに作りにいく設計
- ハンズさんの「一番難しいところから移行する」という方針はとても大事だと思いました。いろいろ頑張ったあげく「最後だけダメでした」だとアレなので。スモールスタート的な考え方とこれは区別して考えたほうがよさそう。
- DynamoDB だけでは複雑な検索が難しいので、分析用データは Redshift、リアルタイム検索については ES に。うーむ。Redshift はいいとして、ES は使わざるをえないのかなー。悩ましい。
- 複数サービスを組み合わせて開発する場合は、S3に一度データを集める方式がおすすめ。機能拡張に対応しやすい。
- DynamoDB のキャパシティ。全てのパーティションで共有され、按分されるので、ひとつのパーティションにデータが集中すると地獄を見ることになる。
- CloudFront 単体ではアクセス制限できないので、WAFを組み合わせて解消した。
- 「なんでもかんでもサーバレス」はアンチパターン。これは本当に賛成です。目的を達成するための手段の一つでしかないのでそこは今後も意識したい。
まとめ
読み応えのあるとてもいい本でした。「重要な点に絞って学べる」ことと、随所に登場する「生々しい苦労話」が特におすすめです。
クラウドエンジニア養成読本[クラウドを武器にするための知識&実例満載!] Software Design plus
- 作者: 佐々木拓郎,西谷圭介,福井厚,寳野雄太,金子亨,廣瀬一海,菊池修治,松井基勝,田部井一成,吉田裕貴,石川修,竹林信哉
- 出版社/メーカー: 技術評論社
- 発売日: 2018/03/14
- メディア: Kindle版
- この商品を含むブログを見る