最近何かとGoogle Cloudで動いているシステムに携わる機会が多く、普段メインでインフラ側の開発をすることはないにせよ、それなりに触るタイミングも増えてきました。
しかし、何度もコンソール画面を見ているのにも関わらず、Google Cloudについて知らないことが多いなーと思わされることが結構あることも事実。
そこで、Google Cloudの全体像をしっかりと理解するため、「図解即戦力 Google Cloudのしくみと技術がこれ1冊でしっかりわかる教科書」という本を読んでみました。
今回は特に印象に残った箇所を掻い摘んで感想を書いていきます。
2章 クラウドのしくみとGoogleの取り組み
クラウドとは何かという基礎的な仕組みを一通り解説した上で、Google Cloudがどのような考え方で設計されているのかが説明されており、AWSなど類似のクラウドとの違いを理解することができました。
Google CloudはThe Datacenter as a Computerという設計思想に基づいて構築されており、Warehouse-Scale Computer(WSC)と呼ばれる設計の考え方でインフラを標準化しています。WSCには下記の3つのポイントがあります。
- インフラ設計の標準化
- インフラを1つのコンピュータのように扱う
- 大規模分散処理の実現
特に「大規模分散処理の実現」は面白く、世界中のWSCに処理を分散することで、ピークを平準化することでCPUやメモリの利用率を高め、インフラ資源を効率的に活用できるようにしているとのことでした。
このような基盤となる考え方を知らずに何となくGoogle Cloudを触っていたので、新しく知ることも多く非常に興味深かったです。
更に、この章では生成AIや大規模言語モデル(LLM)についても取り上げており、Googleが提供しているLLMであるGeminiについても解説されていました。
私は最近行っている個人開発でGemini CLIを使用しており、開発以外でもGeminiに質問をしたりすることがあります。こちらの本で紹介されているものは2024年7月の情報で少し古いものではありますが、それでも根柢の部分は変わっていないと思うので、自分の身近なものとして面白く読ませてもらいました。
Geminiの特徴として、ロングコンテキストの情報を扱えることがあります。多少まだ荒い箇所がありつつも、大規模な情報を的確に扱ってくれるというのは使用していても実感としてあるので、これを読んでとても納得しました。
3章 Google Cloudを使うには
この章では実際にGoogle Cloudを使用するにあたっての基本的な流れが説明されています。
私が業務で触ったものはもう既に運用され始めているプロジェクトばかりだったので、こうして一から使用する手順を学べるのはとてもありがたかったです。
また、使用手順のみではなく、Google Cloudコンソールの使い方とリソース管理やIAM、料金の仕組みなどGoogle Cloudを使用するにあたっての基本的な情報も説明されており、自分が既に知っている部分は改めて振り返ることができ、知らなかった部分は更に知識を増強することができました。
6章 ストレージサービス「Cloud Storage」
Cloud Storage(GCS)はGoogle Cloudを使用しているサービスに関わったことがあれば一度は触ったことがあると思います。例外なく、私もGCSには何度もアクセスしたことがあり、GCSにファイルをアップロードする実装も行ったことがあります。
何となく使い方は理解しているはずなのですが、かなりふわっとした認識だったので、この章を読むことで曖昧だったものがはっきりとしました。
例えばバージョニングという機能があり、オブジェクトを削除または上書きをする際に過去バージョンを保持することができます。このおかげで謝ってファイルを削除してしまっても復元することができるのですが、このバージョニングをするとその分だけストレージ料金が掛かってしまうとのことでした。
会社で管理しているサービスであるため、この料金の点を意識せずに何度もバージョニングをしてしまってましたが、今後はコスト削減に少しでも貢献するために、必要な分だけ保持しておくようにしておこうと思いました。
8章 データベースサービス
この章では、データベースの基本的なおさらいを踏まえて、Google Cloudではどのようなデータベースサービスが提供されているかの解説がされていました。
Google Cloudのデータベースは何度も利用したことがあり、Cloud SQLやFirestoreなど、この章で挙げられているデータベースサービスもいくつかは実際に利用したことがあるものでした。
しかし、初めて見聞きするデータベースもあり、一つ一つ詳しく説明をしてくれているので、新しい知見が増えて非常に楽しく読むことができましたし、実際にデータベースを選択する時の参考になるなと思いました。
まとめ
Google Cloudを使用するサービスに関わったことのあるエンジニアとして、クラウドの全体像や基礎知識を一通り学ぶのに大変役に立ちました。
自分でインフラ環境を構築する機会が訪れた時や、何か既存のサービスを改修しなければならなくなった時、この本を随時見直したいと思うくらい情報が詰め込まれているので、Google Cloudに少しでも興味のある人は手に取ってみることをお勧めします!