ISBN 9784839977603
AWSではじめる クラウド開発入門
概要
AWS CDK を軸にクラウド開発の基礎から機械学習・サーバーレスまで実践的に習得する
想定読者
クラウドをほぼ触ったことのないエンジニア・研究者・学生で、EC2/Lambda/DynamoDBなどAWSの主要サービスをコードベースで一通り動かしてみたい人
こんな人には向いていない
- すでにAWS本番環境を運用しておりCDK・IaCの実務経験がある人には基礎的な内容が多い
- 機械学習を深く学びたい人には、本書のMLパートは入口紹介にとどまるため専門書が別途必要
- コンソール操作を軸にAWSを学びたい人には、CDKによるコードファースト方式が合わない場合がある
読了後にできるようになること
- AWS CDKを使ってEC2・Lambda・DynamoDB・S3・ECSなどの主要サービスをコードで構築・管理できる
- DockerコンテナをAWS上で動かし、ECS/Fargateによるコンテナ実行環境を構築できる
- AWS Batchを用いた機械学習ハイパーパラメータサーチの並列化を設計・実行できる
- サーバーレスアーキテクチャ(API Gateway + Lambda + DynamoDB)でWebサービスを実装できる
- boto3を使いPythonからAWSリソースをプログラム操作する手法を習得できる
- 深層学習を活用した自動アート生成Webアプリケーションをエンドツーエンドで構築できる
本書のキー概念(章解説)
- 第 1 章 はじめに
- 第 2 章 クラウド概論 — クラウドの基礎概念を整理する章。すでに知識がある人は読み飛ばせる
- 第 3 章 AWS入門
- 第 4 章 Hands-on #1: 初めてのEC2インスタンスを起動する — 最初のハンズオン。CDKの基本操作を習得する出発点
- 第 5 章 Hands-on #2: AWSでディープラーニングを実践 — GPUインスタンス活用。MLワークロードをクラウドに乗せる第一歩
- 第 6 章 Docker入門 — コンテナの基礎を押さえる。以降のECS/Fargate章への橋渡し
- 第 7 章 Hands-on #3: AWSで自動質問回答ボットを走らせる
- 第 8 章 Hands-on #4: AWS Batchを使って機械学習のハイパーパラメータサーチを並列化する — 並列計算基盤の設計。研究用途でも直結度が高い
- 第 9 章 ウェブサービスの作り方
- 第 10 章 Serverless architecture
- 第 11 章 Hands-on #5: サーバーレス入門
- 第 12 章 Hands-on #6: Bashoutter — Lambda + DynamoDB + S3でSNSアプリを実装する。サーバーレス設計を体感できる章
- 第 13 章 Hands-on #7: boto3道場
- 第 14 章 Hands-on #8: シン・Bashoutter
- 第 15 章 Hands-on #9: 深層学習を用いたアート自動生成アプリケーション — 本書の総仕上げ。複数サービスを統合した実践的なアプリ構築
ハイライト
- 本書は東京大学で開講された講義資料を元に修正・増補して書籍化したもので、AWS CDKを一貫して使用し再現性の高いハンズオンを複数収録している。最終ハンズオンではEC2・ECS・Lambda・DynamoDB・S3など複数サービスを組み合わせた実践的なアプリケーションを構築する。(本書の出自(東大講義)と構成上の最大の特徴(CDK一貫使用 + 複合サービス統合)が端的に示されている箇所)
- AWS CDKを使ってコードでインフラを定義することで、コンソール画面の変化に左右されず再現性を保てる点が、他のAWS入門書との差別化になっている。(CDKを軸に据えた本書の独自性をQiita読者が端的に評価した記述)
外部からの言及
- 東大の人気授業を書籍化した経緯への言及が複数あり、学習素材としての信頼性の根拠として引用されることが多い。特に『かなり実践的で勉強になる』という評価が代表的なコメントとして見られる。(qiita)
- AWS CDKを使ってインフラをコードで定義する方式を『コンソール操作と比べて再現性が高い』と評価するコメントが見られる。Cognitoなど特定サービスを別のアプローチで学ぼうとした際に、本書の方法論が参照される例がある。(qiita)
- 本書のハンズオン章を進めながら学習内容をまとめたノート記事が複数投稿されており、Fargate・Lambda・DynamoDB・SNSアプリ構築など各章に対応する記事が確認できる。実際に手を動かして学ぶ用途で活用されている。(qiita)
編集メモ
Qiita言及記事11件確認(うちlikes 84・39の記事を含む)。ISBN直接引用は少ないが、本書の章構成を題材にした学習記録が複数投稿されており、入門層の学習ルートとして継続的に参照されている。Rakutenランキング情報なし。
読む前に押さえておきたいこと
- Pythonの基本文法(関数・クラス・モジュール程度)
- コマンドライン操作の基礎(ファイル操作・環境変数の設定)
- GitとGitHubの基本操作
- HTTPとRESTful APIの概念的理解
学習のコツ
- 本書はChapter 2〜3のクラウド・AWS概論を読んだ後、すぐにChapter 4のEC2ハンズオンへ進むと概念と実践の往復が効率的になる
- 機械学習に興味がない読者は、Chapter 5(ディープラーニング)とChapter 8(AWS Batch並列化)を後回しにしてもサーバーレス系の流れ(Chapter 9〜12)を先に押さえられる
- boto3章(Chapter 13)はPythonからAWSをAPIで操作する汎用スキルなので、ハンズオンが終わった後も手元のリファレンスとして繰り返し参照できる
- 各ハンズオンで作成したCDKスタックは章末で削除する手順が示されているため、コスト管理の観点で必ず実行する習慣をつけると良い
出版社による内容紹介
本書は、東京大学計数工学科で2021年度S1/S2タームに開講された"システム情報工学特論"の講義資料の一部を元に修正・増補して書籍化したものです。 本書の目的は、クラウドの初心者を対象としてクラウドの基礎的な知識・概念を解説することです。Amazon Web Serviceが提供するクラウド環境を実例として、具体的なクラウドの利用方法をハンズオンにより学びます。 ■本書の特徴: 1.初心者でも実践的な知識が身につく 本書はクラウドの初心者を対象としていますが、実践的な知識を学べます。AWSの提供するクラウド環境を例に、手を動かしながら知識を身につけられます。 2.コードで学べる サーバー構成などをコードで管理する方法を丁寧に解説しています。AWSをコードで管理する方法を実際に手を動かしながら学ぶことができます。 3.豊富な図解 AWSのサービスや構築に関わる内容を概念図によって丁寧に解説しています。はじめての学習でも最後まで学べるような構成にしてあります。 ■本書の構成: Chapter1.はじめに Chapter2.クラウド概論 Chapter3.AWS入門 Chapter4.EC2インスタンスの起動 Chapter5.クラウドで行う科学計算・機械学習 Chapter6.AWSによるディープラーニング Chapter7.Docker入門 Chapter8.AWSで自動質問解答ボットを走らせる Chapter9.AWS Batchによる機械学習のハイパーパラメータサーチ並列化 Chapter10.Webサービスの作り方 Chapter11.Serverless architecture Chapter12.サーバーレス入門 Chapter13.Bashoutter Chapter14.boto3道場 Chapter15.シン・Bashoutter Chapter16.深層学習による自動アート生成サイトの構築 ーーー Appendix 環境構築 Chapter 1 はじめに Chapter 2 クラウド概論 Chapter 3 AWS入門 Chapter 4 Hands-on #1:初めてのEC2インスタンスを起動する Chapter 5 Hands-on #2:AWS でディープラーニングを実践 Chapter 6 Docker 入門 Chapter 7 Hands-on #3:AWS で自動質問回答ボットを走らせる Chapter 8 Hands-on #4:AWS Batch を使って機械学習のハイパーパラメータサーチを並列化する Chapter 9 ウェブサービスの作り方 Chapter 10 Serverless architecture Chapter 11 Hands-on #5:サーバーレス入門 Chapter 12 Hands-on #6:Bashoutter Chapter 13 Hands-on #7:boto3 道場 Chapter 14 Hands-on #8:シン・Bashoutter Chapter 15 Hands-on #9:深層学習を用いたアート自動生成アプリケーション ーーー Appendix 環境構築
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。