本書は、Google Cloud Platform(GCP)でシステム、アプリケーションを
構築するための実践的な入門書です。
GCPを初めて利用する開発者をメインターゲットとし、GCPの提供する
サービス(コンポーネント)の全体像と、サービスを組み合わせて最適な
アプリケーションアーキテクチャを実現する方法を、具体的なサンプルを
使ってわかりやすく解説します。
Webアプリケーションを動かす具体的な手順の解説に加えて、コンテナ、
オーケストレーションといったテーマもカバーするため、業務で本格的な
利用を考えている方にも適しています。
単にGCPの使い方を説明する手順書にとどまらず、GCPを利用する上で
理解しておきたいインフラの基礎技術などを解説することで、技術動向の
変化が激しいクラウドの解説書でありながらも陳腐化を最小化するよう
工夫しています。
また、GCPの強みであるクラウドネイティブなアーキテクチャによる
アプリケーション実行環境の構築をサンプルとして挙げているのも
大きな特徴です。本書の強みは、具体的なサンプルを使って丁寧に
説明することで、GCPの良さを体得してもらえるところにあります。
GCPの利用や導入を検討している/初めて使う、あるいは、AWSなど
他のクラウドを使ったことがあるプログラマ/開発者の方におすすめの
一冊です。
第1章 Google Cloud Platformの概要
1.1 Google Cloud Platformへようこそ
1.1.1 GCPがもたらすシステムアーキテクチャ
本書で扱うGCPのサービス
Google App EngineとGCPの歴史
1.1.2 GCPのコンセプト
1.2 Google Cloud Platformを支えるインフラ
1.2.1 GCPの全体像
1.2.2 ユーザーアカウントとプロジェクト
1.2.3 仮想ネットワーク
1.3 はじめてのGoogle Cloud Platform
1.3.1 アカウント登録
[1]登録の開始
[2]アカウント情報の登録
1.3.2 プロジェクトの作成
[1]プロジェクトの作成
[2]プロジェクト名の設定
1.3.3 Cloud Consoleの使い方
[1]ツールとサービス
[2]ダッシュボード
[3]Cloud Shell
1.3.4 Google Cloud Platformの開発/運用管理ツール
アプリケーション開発ツール
デバッグ/トレース/分析ツール
ロギング/モニタリング
自動デプロイ
第2章 Webアプリケーション実行基盤を構築しよう
2.1 知っておきたいWebシステムを支える技術
2.1.1 Webアプリケーションの基礎
Webアプリケーションとネイティブアプリケーション
リクエストとレスポンス
HTTP通信の仕組み
2.1.2 データベースの基礎
データベース
データ操作言語
トランザクション処理
2.1.3 サーバ仮想化技術の基礎
ホスト型仮想化
ハイパーバイザー型仮想化
コンテナ型仮想化
2.2 Webシステムで利用する主なGCPサービス
2.2.1 Google Compute Engine(GCE)
仮想マシンのスペック
ストレージ
ネットワーク
無停止での仮想マシン運用
2.2.2 Google Cloud Storage
2.2.3 Google Cloud SQL
2.3 GCPを使ったWebシステムのアーキテクチャ
2.4 Webアプリケーションの実行基盤構築
2.4.1 要件定義とアーキテクチャ設計
GCEを使ったサンプルアプリケーション実行環境の構築(v1.0)
Cloud SQLを使ったデータの管理(v2.0)
Cloud Storageを使った画像データの保存(v3.0)
2.4.2 GCEを使ったサンプルアプリケーション実行環境の構築
Compute Engineの仮想マシン起動
Pythonの実行環境構築
サンプルアプリケーションのデプロイ(v1.0)
2.4.3 Cloud SQLを使ったデータの管理
Cloud SQLのインスタンス作成
データベースの作成
サンプルアプリケーションのデプロイ(v2.0)
2.4.4 Cloud Storageを使った画像データの保存
Cloud Storageのバケット作成
サンプルアプリケーションのデプロイ(v3.0)
第3章 止まらないWebアプリケーション基盤を構築しよう
3.1 知っておきたいネットワーク技術
3.1.1 物理ネットワークと仮想ネットワーク
3.1.2 IPアドレス
3.1.3 ネットワーク通信プロトコル
3.1.4 ファイアウォールとルーター
3.1.5 DNSの基礎
3.1.6 負荷分散の基礎
3.1.7 仮想ネットワークの基礎
物理ネットワークの基礎
仮想ネットワーク
仮想ネットワークを実現する技術
3.2 知っておきたいGCPのネットワークの仕組み
3.2.1 GCPのネットワーク構成
3.2.2 グローバルIPアドレス
3.2.3 GCPのファイアウォール機能
3.2.4 Cloud Load Balancingによる負荷分散機能
3.2.5 Cloud DNSによる名前解決
3.3 Cloud Load Balancingでの負荷分散システム構築
3.3.1 負荷分散システムのインフラアーキテクチャ概要
3.3.2 仮想マシン起動イメージの作成
[1]スナップショットの作成
[2]ディスクの作成
[3]イメージの作成
3.3.3 複数インスタンスの自動生成
[1]インスタンステンプレートの作成
[2]インスタンスグループの作成
3.3.4 ロードバランサの作成
[1]バックエンドの設定
[2]ホストとパスのルール
[3]フロントエンドの設定
3.3.5 動作確認
3.4 Cloud DNSを使った名前解決
3.4.1 独自ドメイン名でのアクセス
[1]ゾーンの作成
[2]レコード設定
[3]レジストラへの登録
[4]動作確認
第4章 コンテナ実行環境でマイクロサービスアーキテクチャを体験しよう
4.1 知っておきたいDocker/Kubernetesの基礎
4.1.1 Dockerを利用したアプリケーション開発
Dockerとは
Dockerが解決する課題
Dockerの基本機能
4.1.2 Kubernetesによるコンテナオーケストレーション
クラスタリングとは
コンテナオーケストレーションツールとは
Kubernetesの基本構成
Kubernetesによるコンテナオーケストレーション
4.2 コンテナ環境で利用する主なGCPサービス
4.2.1 Google Container Engine
4.2.2 Google Container Registry
4.2.3 Google Cloud Datastore
4.3 GCPを使ったコンテナ実行環境のアーキテクチャ
4.4 オンラインゲームのコンテナ実行環境構築
4.4.1 要件定義/設計
4.4.2 GKEによるコンテナクラスタ構築
4.4.3 ランダム対戦機能のDockerイメージ作成(v1.0)
Dockerfileの用意
Dockerイメージの作成
ローカル環境での動作確認
Dockerイメージの公開
4.4.4 ランダム対戦機能のデプロイ(v1.0)
バックエンド機能のアプリケーションデプロイ
フロントエンド機能のアプリケーションデプロイ
ランダム対戦機能の動作確認
4.4.5 AI機能へのバージョンアップ(v1.1)
AI機能のDockerイメージ作成
バックエンド機能のバージョンアップ
AI対戦機能の動作確認
4.4.6 コンテナクラスタの停止と削除
第5章 機械学習を用いたGAEアプリケーション
5.1 機械学習と関連サービスの概要
5.1.1 機械学習、ディープラーニング、人工知能
5.1.2 GCPの機械学習関連サービス
5.1.3 APIサービスの利用方法
JavaScriptからAPIサービスを呼び出す
5.2 Google App Engine入門
5.2.1 Google App Engineの概要
5.2.2 Cloud Datastoreの概要
5.2.3 Cloud Datastoreを使用する際の注意点
5.2.4 GAEのその他の機能
5.3 写真アルバムサービスのデプロイ
5.3.1 サンプルアプリケーションの仕組み
Cloud Vision APIによる画像のラベル付け
Cloud Translation APIによるテキスト翻訳
Cloud Datastoreでのデータ管理
5.3.2 アプリケーションのデプロイ
5.3.3 動作確認
5.4 [参考]Cloud Machine Learning Engineによる機械学習モデルのトレーニング
5.4.1 事前準備
5.4.2 Cloud MLEによる学習処理の実施
5.4.3 学習済みモデルによる予測処理の実施
付録A Stackdriverによるシステム運用
A.1 Stackdriverの初期設定
A.2 Stackdriverによるアプリケーション監視
[1]監視対象インスタンスの作成
[2]監視エージェントのインストール
[3]稼働時間チェックの設定とアラートポリシーの作成
[4]監視グラフの作成
[5]ログの確認
付録B Cloud IAMによるアカウント管理
B.1 Cloud IAMの基本機能
B.2 サービスアカウントの作成
付録C GCPの最新技術情報の入手
kouki_0524 さん
2017-07-25
良書。GCPの持つ多彩な機能を事例を通して一通り学習できる。CPU1個のサーバで2時間かかるmnistの深層学習が、ML Engineに投げると15分くらいで返ってくるのは驚き。Tensorflowの使い手には強い味方なのではないか。この本の出版は2017年6月で、割とすぐに購入して試したにも関わらず、本のとおりに試しても一部うまく動作しなかった。最新のI/F設定等を自ら確認する必要があると思われる。GCPは日々進化を続けているため、これはやむをえないし、その自学の過程でより知識が身につくと思う。
shiojojo さん
2020-05-02
ちょっと情報が古い。gcpの概要を掴むのには良い
φ さん
2017-07-21
ネットの「ちょっとかじってみた」系の記事と違って、かなり踏み込んだ内容だったので満足。惜しむらくは、googleがインターフェースをコロコロコロコロ替えるせいで、こういう良書が数ヶ月で古書になってしまうこと。