話題の記事

【書評】『Google Cloudのしくみと技術がしっかりわかる教科書』は、クラウド初心者から経験者までオススメできる一冊でした

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

このブログは、2021年9月16日に発刊された『Google Cloudのしくみと技術がしっかりわかる教科書』の書籍レビューの記事です。かなりの良著でしたので、良かった点などをまとめてご紹介できればと思います。

私は普段AWSを扱っていますが、GCPについてもざっくり理解したいという動機でこの本を購入しました。

オススメしたい人

この書籍は、以下が当てはまる方にオススメできます。

  • クラウド技術を学びたい初心者の方
  • 他のクラウドに関する経験(AWSやAzureなど)がある方で、GCPの特徴もざっくりと理解したい方
  • テキストベースでなく、豊富な図や表を見てGCPのサービスをキャッチアップしたい方

また、私自身はGCPの認定資格を持っていないので何とも言えませんが、GCPの基礎的な資格(FoundationalやAssociate)を取得されたい方にも参考になる内容かなと思います。

ちなみに、クラウド技術系の書籍は鮮度が命だと思ってます。技術やサービスの進化がとても速いので、この書籍の内容も1年経てば古くなってしまいます。気になっている方は新鮮なうちに購入して、早めにキャッチアップすることを推奨します。上部リンクの技術評論社のページにサンプルPDFもありましたので、本の中身が見たい方はそちらもどうぞ。

概要と構成

この本は、Google Cloudを用いてシステム構築を支援する株式会社grasysと、Google Cloud Japanの西岡典生氏と田丸司氏の共著です。クラウドとは何か?から始まり、GCPの特徴についてから具体的な活用方法まで、丁寧かつちょうど良い粒度でまとめられています。できるだけ図や表で整理することを意識されていたのか、かなり読みやすい構成になっています。しかもフルカラー。

本書にはつい最近公開されたVertex AIなども取り上げられており、まさに2021年のGoogle Cloudを理解するのにもってこいの内容となっています。また、要所に挟まれているちょいネタも興味深く、飽きることなく最後まで読み進めることができました。例えばGoogle Cloudの原点的な論文や、ネットワークに対するのGoogleの考え方などが紹介され、開発者の想いが透けて見える感じが好きです。

参考までに、技術評論社のページより目次を掲載しておきます。

  • 第1章 Google Cloud の基礎知識
    • 01 Google Cloudとは ~Googleが提供するクラウドサービス
    • 02 Google Cloudのサービス ~100種類以上のサービスを提供
    • 03 Google Cloudを利用しやすくするしくみ ~誰でもかんたんにサービスを利用できる
    • 04 Google Cloudの導入事例 ~大手企業や金融機関での採用も多数
  • 第2章 クラウドのしくみとGoogle の取り組み
    • 05 クラウドとは ~クラウドはさまざまな価値を提供する
    • 06 パブリッククラウドとプライベートクラウド ~クラウドの利用形態
    • 07 IaaS、PaaS、SaaS ~クラウドのサービスが提供する範囲
    • 08 The Datacenter as a Computer ~Googleのインフラ設計における考え方
    • 09 グローバルなインフラ ~クラウドのサービスを支える技術
    • 10 クラウドにおけるセキュリティ対策 ~クラウドでもセキュリティ対策は必要
    • 11 ハイブリッドクラウドとマルチクラウド ~オンプレミスやほかクラウドを利用した構成
    • 12 オープンクラウド ~クラウドの技術をオープンにする取り組み
  • 第3章 Google Cloud を使うには
    • 13 Google Cloudを使う流れ ~Webブラウザさえあればすぐに使える
    • 14 Google Cloudコンソール ~リソースの操作がGUIで可能
    • 15 リソース階層 ~複数のリソースを管理するしくみ
    • 16 IAM ~リソースへのアクセスを管理する
    • 17 リージョンとゾーン ~世界中に展開されているデータセンター
    • 18 Cloud Billing ~料金を管理するしくみ
  • 第4章 サーバーサービス「Compute Engine」
    • 19 Compute Engine ~仮想マシンを作成できるサービス
    • 20 Compute Engineを使う流れ ~仮想マシンを使うまで
    • 21 Compute Engineの料金 ~使った分だけ払う従量課金制
    • 22 マシンタイプ ~用途別にまとめられた仮想的なハードウェア
    • 23 Compute Engineのストレージオプション ~利用できるストレージには種類がある
    • 24 Compute Engineへのアクセス方法 ~アクセスするには複数の方法がある
    • 25 インスタンスのバックアップ ~インスタンスの復元に利用できる
  • 第5章 ネットワークサービス「VPC」
    • 26 Google Cloudのネットワーク ~安全で高速なネットワーク
    • 27 VPC ~仮想ネットワークサービス
    • 28 デフォルトネットワーク ~自動で作成されるネットワーク
    • 29 サブネット ~Google Cloudにおけるサブネットの扱い
    • 30 VPCネットワークの2つのモード ~サブネットを作成する2つの方法
    • 31 ファイアウォール ~通信制御を行うしくみ
    • 32 VPCネットワークの拡張 ~VPCネットワークの相互接続や共有
    • 33 ルーティングとNAT ~セキュアなネットワークを構築する
    • 34 Cloud Load Balancing ~負荷分散サービス
    • 35 Cloud CDN ~表示速度を向上させるしくみ
    • 36 Cloud DNS ~DNSサービス
  • 第6章 ストレージサービス「Cloud Storage」
    • 37 Cloud Storage ~安全で信頼性が高いストレージサービス
    • 38 Cloud Storageを使う流れ ~ストレージを使うまで
    • 39 ストレージクラス ~用途に応じて選べるストレージ
    • 40 オブジェクトとバケット ~ファイルと保存する入れ物
    • 41 アクセス制限 ~データの機密性を守るしくみ
    • 42 オブジェクトのアップロードとダウンロード ~さまざまなアップロード方法を提供
    • 43 バージョニングとライフサイクル管理 ~オブジェクトの履歴を管理する方法
  • 第7章 コンテナとサーバーレスのサービス
    • 44 コンテナとは ~アプリケーション単位で仮想化する技術
    • 45 Kubernetes(K8s) ~コンテナを管理するツール
    • 46 Google Kubernetes Engine(GKE) ~Google Cloudで使えるKubernetes
    • 47 GKEのアーキテクチャ ~コンテナを管理するしくみ
    • 48 GKE/K8sを使うメリット ~GKEとCompute Engineの比較
    • 49 GKEを使用する流れ ~GKEでコンテナを動かすまで
    • 50 サーバーレスサービス ~サーバーを意識する必要がないしくみ
    • 51 App Engine ~Webアプリケーション開発のサービス
    • 52 Cloud Functions ~関数を実行できるサーバーレスサービス
    • 53 Cloud Run ~コンテナを動かせるサーバーレスサービス
    • 54 Cloud Build ~テストやビルドを自動化
  • 第8章 データベースサービス
    • 55 データベースとは ~整理されたデータの集合体
    • 56 Google Cloudのデータベースサービス ~用途別に提供されているデータベース
    • 57 Cloud SQL ~RDBサービス
    • 58 NoSQLデータベース ~大規模データを処理できるデータベース
    • 59 そのほかのデータベース ~インメモリ型などのデータベース
  • 第9章 データ分析のサービス
    • 60 データ分析とは ~データ分析が注目を浴びる理由
    • 61 Google Cloudのデータ分析サービス ~さまざまなデータ分析サービスを提供
    • 62 BigQuery ~代表的なデータ分析サービス
    • 63 BigQueryを使用する流れ ~データ分析をするまで
    • 64 BigQueryのベストプラクティス ~BigQueryのコストを抑制する方法
    • 65 BIツール ~データを可視化できるサービス
  • 第10章 そのほかに知っておきたいGoogle Cloudのサービス
    • 66 Anthos ~オンプレミスとクラウドで一貫した開発と運用
    • 67 Google CloudのAI・機械学習関連サービス ~かんたんに機械学習できる
    • 68 Operations suite ~監視・運用ツール

興味深かったトピック

ここからは、個人的に面白いと感じたトピック(上の目次で太字の部分)をピックアップしてご紹介していきます。

Googleの独自技術について(第2章08,09,10)

第1章や第2章は、クラウドの一般的な概念やGCPの全体像について、スタンダードな内容がメインとなっています。そんな中でアカデミック寄りに際立っているのが、第2章の「08 The Datacenter as a Computer」「09 グローバルなインフラ」「10 クラウドにおけるセキュリティ対策」です。

Google Cloudは、2009年にGoogleが発表したThe Datacenter as a Computerの中にある Warehouse-Scale Computer と呼ばれる設計思想が元ネタになっているみたいです。「09 グローバルなインフラ」では、Kubernetesの原点であるBorgをはじめとする、Googleが開発した独自技術についても紹介されており、非常に面白い内容でした。

学術論文から出発しハードウェアからミドルウェアの設計まで、非常に高度な技術を駆使して便利なサービスを世に送り出しているのは、さすがのGoogle社です。書籍でも紹介されてますが、Googleのデータセンターを見学できる動画がYouTubeに上がっているので貼っておきます。

「10 クラウドにおけるセキュリティ対策」では、セキュリティに対するGoogleの取り組みについて紹介がされており、特に今年発表されたBeyondCorp Enterpriseの元になるゼロトラストネットワークについても触れられていたのが良かったです。勉強になりました。

BeyondCorp ゼロトラスト企業セキュリティ | Google Cloud

リソース階層(第3章 15)

GCPのリソース階層は、AWSのそれとはかなり異なっているので、「15 リソース階層」は参考になりました。

組織をGCPのリソース階層にマッピングする | Google Cloud Blog

アカウント管理面では、個人用のGoogleアカウントでサインアップすることもできますが、組織化するためにはGoogle WorkspaceやCloud Identityが必要だそうです。概要だけ理解した状態なので、今後公式ドキュメントなどを読んでさらに深掘りしていきたいです。

ネットワーク全般(第5章)

当方、ネットワークはまだまだ勉強中の身なので、GCPのネットワークについて紹介する第5章もかなり参考になりました。一般的なネットワークの要件についても触れられているので、「ネットワークってこうあるべきで、それをGCPではこう実現するんだな」というのを把握することができます。今後も何度も読み返すことになりそうな章です。

Virtual Private Cloud(VPC) | Google Cloud

コンテナ技術(第7章 45,46,47)

KubernetesやGKEについて解説されているのが、「45 Kubernetes(K8s)」「Google Kubernetes Engine(GKE)」「GKEのアーキテクチャ」の節です。Kubernetesに関して、すでに色々な教材や解説記事などがネットに出回っていますが、10分くらいでサクッと理解したい場合は第7章の内容もオススメです。Kubernetesの概要から、なぜGKEがこのようなサービス設計になっているかまで解説されており、コンテナ技術の使いどころを把握することができます。

Kubernetes - Google Kubernetes Engine(GKE) | Google Cloud

データ分析サービス全般(第9章)

今やGCPといえば、BigQueryを中心としたデータ分析基盤のエコシステムが主力製品でしょう。文章の筆圧とテンションも第9章だけ突出しているように感じました。既にこの本を読了済みの方、何となくそう感じませんでしたか?

BigQueryにデータを突っ込んでしまえば、雑なSQLを投げてもハイパフォーマンスな分析ができますし、データポータル(無料!)でグラフもサクッと作れてしまいます。そんな今流行りのGCPのデータ基盤について、本章ではサービスの特徴や組み合わせ方について解説されています。

GCPのデータ分析基盤について、もっと詳しく知りたい!という方は、こちらの書籍もオススメです。

感想

この本でGCPの概要を把握することができましたが、一方でAWSの優れているところも相対的に気づくことができました。エンジニアとして、それぞれの良さを理解して使いこなせるようになりたいものですね。

本書は一人一冊持ってて損はない良著だと思います。幅広い層のエンジニアにオススメです!