
以下の内容に関して説明いたします。
本コースで受講生は何を学びますか?
コース受講の前提条件
どのような方に向けたコースですか?
本コースに含まれない内容
Google Cloud 認定者取得のメリット
DevOps認定試験を受験すると最初に気がつくのは、DevOps=ほぼSREと解釈しもいいぐらいに、GoogleのSREを基本にした出題が多いということです。もちろん一般論としてのDevOpsという概念で出題されているものもありますが、Google Certifiedということもあり、Googleでの開発、保守手法であるSREがメインであることを認識させられます。ですので、本コースでもまずこのSREに関して解説していきます。
SREとDevOpsの関連性の基本的なコンセプトを理解した上で、GKE、GCPなどのクラウドインフラを説明していきます。
DevOpsの利害関係を解決する秘訣は、「自動化」と「エラーバジェット(エラー予算)」です。DevOpsは、開発者と運用チームの間で対立することがあります。開発者は素早いアプリケーションのリリースを目標とし、競合他社に対抗するために継続的な開発とリリースが必要と考えます。一方、運用チームはサービスの安定性を重視し、問題の発生を最小限に抑えたいと考えます。ここではこの利害関係とSREで解決する考え方に関して解説します。
SREにおける可用性とは、といった内容で解説していきます。
SREにおける信頼性の意味を解説していきます。
SLI/SLO/SLA各項目ごとに詳細を解説していきます。
ここではSLI、SLO、SLAを実際のクラウドサービスに設定してみましょう。今回はみなさんも利用したことがある、YouTubeを運用することを想定してシュミレーションをします。
SLOを設定する際には、平均よりもこのパーセンタイルを使います。ここではパーセンタイルの基本内容に関して解説していきます。
DevOpsのDev=開発とOps=オペレーションそれぞれの目標達成のバランスをうまく取るために考えられた新しいルールを解説していきます。
ポストモーテムはまずサービスが一切提供できないというような最悪の状況が発生したことを想定するところから始まります。すべてのサービスが元通りになった後にこのような自体を二度と起こさないためのツールがこのポストモーテムです。
対応手順の明示的な提示
一人で責任を背負い込まない
燃え尽き症候群
ポストモーテムによる学びを記録し再発を防ぐ
IC、OL、CLが利用するツール
GKE は、スケーラビリティ、自動化、監視、セキュリティを備えたマネージド Kubernetes サービスです。DevOps チームにとって、アプリケーションの開発、デプロイ、運用をより効率的かつ効果的に行うのに役立つ強力なツールです。このセクションではDevOps試験でも最も出題頻度の多いGKEに関して以下のような内容で解説していきます。
コンテナ化とKubernetesの重要性
GKEとは
GKEの主要機能(Stackdriver Trace、Stackdriver Kubernetes Engine Monitoring、Stackdriver Logging)
ネットワーク設定と負荷分散の戦略
Binary Authorizationのセキュリティ機能
GCR (Google Container Registry)の活用
インシデント管理とローリングアップデートのベストプラクティス
Google Kubernetes Engine(GKE)は、Google Cloud Platform(GCP)の一部で提供されるマネージドKubernetesサービスです。Kubernetesはコンテナオーケストレーションのためのオープンソースプラットフォームであり、アプリケーションのデプロイメント、スケーリング、管理を自動化するためのツールセットの解説をしていきます。
「Cloud Operations」は、Google Cloudのモニタリング、ログ収集、トレース、アラート、ダッシュボード作成など、さまざまな運用関連の機能を提供します。ただし、DevOps認定ではStackdriver名称が使われている場合もあるため、ここではStackdriverとして解説していきます。
SREにおける可用性を実現する際に、GKEにおけるネットワーク設定と負荷分散に関する出題があるので、ここでポイントを確認しておきます。
GKE のセキュリティを考える際に重要な3つのポイントに関して解説していきます。
GKE における GCR (Google Container Registry) の活用は、SRE の観点から重要です。ここではGCRに解説していきます。
SRE は、インシデント管理とローリングアップデートのプロセスを定義し、改善するために責任を負っています。SRE は、インシデント管理とローリングアップデートのベストプラクティスを実施することで、アプリケーションの信頼性を向上させることができます。
DevOps と CI/CDの関連性や違いに関して解説していきます。
ソースリポジトリ、イメージ、レジストリは、CI/CD プロセスにおいて重要な役割を果たします。ここではそれらに関して解説していきます。
クラウド環境ならではの手法としてこのIaCは重要な項目です。クラウド環境ではコンピュータやネットワークは仮想であり、オンプレのように物理的な機器の調達、設置、配線などは必要ありません。この設定を管理コンソールやUIによって設定するとこも可能ですが、コマンドだけで最初から最後まで作業を完了することも可能です。ここではIaCに関して解説していきます。
高いSLOを達成するためには、常にサービスを利用可能な状態にしておく必要があります。そのための重要な仕組みとしてのロールバックに関して解説していきます。
一度サーバーを構築したらその後はその環境を変更するのではなく別途用意したバージョンで環境ごと置き換える、といった仮想化やクラウドを基盤としたインフラの考え方です。
Google Cloud Platform のフルマネージド型の CI/CD プラットフォームである Cloud Build に関して解説していきます。
ビルドのセキュリティを向上させるために、Cloud KMS の暗号化機能を利用できます。ここではそのKMSに関して解説していきます。
Google自身がGCPを使っているために、SREを実現するプラットフォームとしても、必要な機能を随時導入しています。ここではGKE以外のDevOps認定に出題されるサービスに関して解説していきます。
Compute Engine(GCE)はGoogle Cloudにおける仮想マシン、仮想コンピュータです。ここではそのGCEに関して解説していきます。
GCEではコンピューターのスペックつまり性能を選択することができます。これからWebサイトを立ち上げたいのか、CGをレンダリングしたいのか、画像を処理したいのかによってスペックが違ってきます。選択の主な基準はCPU(数と性能)、メモリとなります。もちろんハイスペックなマシンタイプを選択すれば、料金も上がります。これからやりたい作業とコストのバランスを考慮してマシンタイプを決定します…
GCEを運用する際に、スケーラビリティと可用性を求められる場合にこのMIGでの運用を検討します
GCEで仮想マシンインスタンスを作成する際に、その場所を指定する必要があります。リージョンは米国、ヨーロッパ、アジアといった地域内にいくつかのリージョンがあり、そのリージョンの中にゾーンが複数選択できるといった構成などを解説していきます。
試験で頻繁に出題される、その利用シーンにあったコスト最適化に関して解説していきます。
Cloud SQLのトラブルシューティングに関して解説していきます。
SRE(Site Reliability Engineering)とは、Googleが提唱するシステム運用·管理方法とそれに対するエンジニアの役割です。SREの目的は、システムの信頼性を高め、安定して稼働させることです。
Google Cloud Platform(GCP)が提供するSREのための統合監視·分析プラットフォームであるStackdriverに関して説明いたします。
GCE からログを収集して保存するサービスです。ログには、アプリケーションの実行に関する情報、エラーや警告メッセージ、パフォーマンスの指標などが含まれます。Stackdriver Logging を使用すると、アプリケーションの動作を監視して、問題を迅速に検出することができます。
GCE のパフォーマンスを監視するサービスです。CPU 使用率、メモリ使用量、ネットワーク帯域幅、ディスク I/O など、さまざまなパフォーマンス指標を監視できます。Stackdriver Monitoring を使用すると、GCE インスタンスのパフォーマンスを把握して、パフォーマンスを向上させることができます。
GCE 内のアプリケーションのパフォーマンスをトレースするサービスです。
GCE 内のアプリケーションのパフォーマンスを分析するサービスです。
複数の Stackdriver サービスからデータを統合して、1 つの場所で分析および視覚化できるようにするサービスです。
Stackdriverで収集した情報を定期的にダッシュボードなどに表示する方法として、BigQueryに一旦データをエクスポートし、データポータルでダッシュボードを作成することも可能です。
Stackdriver でシンクを作成することで、ログを Cloud Storage バケットにエクスポートして保存することができます。
いわゆるPaaSと呼ばれるGAEは完全なマネージド·サービスとして高い可用性を提供します。Google Cloud Platform(GCP)のGAEとGoogle Compute Engine(GCE)は、異なるサービスで、それぞれ独自の特徴などに関して解説していきます。
GKEやGCEなどでも説明したStackdriverによるインスタンスの監視が可能です。これはGAE向け Stackdriver Monitoring で提供されています。
Stackdriver エラー レポートに送信されるエラー情報をカスタマイズしたいような場合、Stackdriver Error Reporting API を使用してアプリケーションからエラーを ReportedErrorEvent に書き込み、適切な形式のエラー メッセージを含むログエントリを Stackdriver Logging に生成するためのツールに関して解説していきます。
Stackdriverでは各種ログを収集、出力しますが、その中に個人を特定できる情報いわゆるPII(Personally Identifiable Information)を含む場合などの留意点を解説していきます。
Google Cloud各種サービスの基本知識だけでなく、Googleが採用している新しいDevOps手法であるSREに関しても概要を理解することを目標としています。
最後に理解度テストとして、模擬テスト100問(50問×2回)+52問により実際の試験の前に自身の実力を確認することができます。