セッションタイトル: How to leave the office two hours early with Gemini in the Cloud Console
スピーカー: Kamil Brzezinski, Cameron Greene, Cheng Wei

この記事は?

ゆとりのある、ごきげんエンジニアのための極意を伝授していただきました。
そんな素敵セッションのまとめ記事です。

セッション本編です

生産性を向上させる3つの極意!


3つの極意!は以下。

  • リソースを効率よくモニタリングすべし
  • 予期しないダウンタイムを減らすべし
  • IaCにすべし

…っとその前にGeminiを復習しましょう!

Geminiは、スタンドアローンのチャットアプリからIDEのプラグインまで、様々なサービスの中に存在しています。そしてあなたの心の内にも。Geminiはいつだって。

また、Geminiを使うユーザーの職種もAIエンジニア、データサイエンティスト、アプリエンジニア…などさまざまです。

また最近は、さらにビジネスが加速しているため、アプリ開発・投入までの時間が短くなり…
エンジニアたちは日々、火に炙られています。焦げ臭いぞ…

そんな中、救世主Geminiあらわる

Google Cloud Console内の専属GeminiであるGemini Cloud Assist。
この専属アシスタントは、運用を支援するために調整されているんだとか。専属Gemini、頼もしい響きですね。

要するに、タスクを自動化し、ユーザーの意図を理解・学習してGoogle Cloudの管理を簡単にしてくれるものです。

ちなみに…
今回メインのGemini Cloud Assistは、現在プライベートプレビューです。

首をながーーーくして待ちましょう。

そして、本題に戻ろ

具体的に専属Gemini君が得意なことは、以下の3つのようです。

  • 最適化
  • オペレーション
  • デザイン

最適化:
我々人類のアラート疲れから、解放してくれる。ありがとう。

オペレーション:
我々が見ていぬ間にも、Gemini君が見てくれる。
我々人類を自由をもたらしてくれる。ありがとう。

デザイン:
アーキテクチャ・プロジェクトをベストプラクティスになるよう整理してくれる。
我々人類に人生を楽しむ時間をもたらしてくれる。ありがとう。

ただし、この3つしかできないわけではなく、190以上もあるGoogle Cloudをよしなにする使い方はいくらでもある。生殺与奪の権利はエンジニアにあり。

Lesson1「リソースを効率よくモニタリングすべし」

まずは、やるべきことと問題点はなんだろうか…

やるべきことたち

  • クラウドコンソールにログインしよ
  • メトリックエクスプローラに移動しよ
  • クエリを書く/更新しよ
  • レポートを閲覧しよ
  • 異常を調査しよ
  • リソースを調整しよ

問題と対応策はなんだろ

  • 手間がかかる:マニュアルでのチェックと複数のダッシュボード作ろ
  • 複雑なアラート設定:さまざまなリソースに個々の閾値を設定する。閾値の調査・計算もあるよ
  • 情報過多:これを行うたびにログとメトリクスの山をふるいにかける。真実はいつも…一つ?
  • 反応的アプローチ:問題が目立つようになってからの対応になることが多い。対処療法というやつ
  • リソースの非効率:リソース配分の予測と最適化が難しい。タイムマシンplease

Gemini君におまかせあれ!

  • これが気になって夜も眠れない…問題がある。
    ->「私のウェブサイトは正しく応答していますか?」
  • 不具合だらけで、ふて寝したい時
    ->「この問題を引き起こしているリソースは何ですか?」
  • あれ、かあさん、このページってどこにあったっけ
    ->「言及されたリソースの詳細ページに連れてってください」
  • なーんか、最近、速度が遅いんだよなあ
    ->「[サービス名]のバックエンドのレイテンシーを表示してください」

はい。解決。Q.E.D.

助けてGemini君

ある応答に数秒以上かかることがある。待ち時間の問題で真相を解明したい!
でも、そもそも探している情報がどこにあるかなんてわからない!
どうにか、ページに辿り着き。あーでもないこーでもないと、手を替え品を替えクエリを打ち続けること、40分。

…そんな悲しい時にはGeminiにおまかせ!
Gemini君にエラーを話すとあら不思議ものの数秒で解決解決。あっぱれ!

Lesson2「予期しないダウンタイムを減らすべし」

ともあれまずは、やるべきことと問題点はなんだろうか…

やるべきことたち

  • オンコールがGoogle Cloudの外部からのアラートによって問題を認識する
  • オンコールがログ、エラー、チケットを死ぬ気で調べる
  • オンコールが原因分析をまとめる
  • オンコールが修正を行う(ロールバック、パッチなど)
  • 時間があれば、チームが事後分析を行う


問題と対応策はなんだろ

  • 検出が遅い:ユーザーレポートまたは遅延したアラートに依存してインシデントの認識
  • 手動でのデータ収集:ログやメトリックスをシステム全体で収集するのに時間がかかる
  • エラーが起こりやすい分析:大量のデータの中で原因を特定する際の人為的なミス
  • 解決が遅れる:開発と展開に時間がかかり、分単位でカウントする時には時間がかかる
  • 不十分な事後分析:そもそも行われることが少なく、行われたとしても不完全で部分的にしか行動に移せない

Gemini君におまかせあれ!

  • さまざまなツールからのレスポンスを待つ
    ->「モバイルアプリにアラートを設定して」
  • 夜中2時に同僚にメッセージに送らないと
    ->「助けてGeminiくん」
  • エラーメッセージを手作業で解析する
    ->「このエラーを説明してくれぬか」
  • 解決法をドキュメントで調べる
    ->「このエラーを説明してくれぬか」無限語りかけ編をする

助けてGemini君



Geminiのモバイルアプリでどこにいたって、いつだってGemini君と一緒。
どこでもGemini君にお願いするだけで、問題解決してくれるってこと。

Geminiモバイルでは、CPU使用率など、通常のGoogle Cloudコンソールで表示されるほとんどの情報がみれるとのこと。
それも、Gemini君に聞いてから数秒後で全データが返ってくるんだとか。

また、本番用のVMに変更に変更が入った際に、調査するのにも大変便利。
キッチンにいても、農場にいても、数回タップするだけで情報特定->修正ができます。
Gemini君のおかげで大惨事をまのがれましたね。

Lesson3「IaCにすべし」

お決まりのまずは、やるべきことと問題点はなんだろうか…

やるべきことたち

  • Terraform、CloudFormationなどでコードを書いたり、修正したり
  • 構文、ポリシー、およびベストプラクティスのレビューが必要
  • Git、Cloud Source Repositoriesなど、バージョン管理ツールに変更をコミットする必要がある
  • テスト環境で設定を検証するためのテストを書いたり、実行する
  • 本番環境への変更をデプロイ

むむ、やはり手順が沢山ありますね…


問題と対応策はなんだろ

  • レビューに時間がかかる:手動でコンプライアンスをチェックする必要があり、ボトルネックになってしまう。
  • 人間による監視はミスが発生しがち:重大な問題を本番環境まで見逃してしまうことがある。
  • 一貫性のない基準:チームやプロジェクトによって異なるベストプラクティスの標準がバラバラ。
  • リアルタイムのフィードバックがない:問題はテストするまで見つからないことが多い。
  • リソースの管理は難しい:本当に最適かどうか、実際に本番環境で動作させるまでわからない。

Gemini君におまかせあれ!

  • ゼロからIaCを書く
    ->「[サービス名]用に、IaCファイルを作って」
  • 既存のIaCコードをリアルタイムで検証
    ->「既存のコードを貼り付けて、改善を方法について尋ねる」
  • あるプロバイダーから別プロバイダーへIaCを移行
    ->「既存のコードを貼り付けて、アーキテクチャについての説明とGoogle Cloudでの構築方法について尋ねる」

非常に大きなコードファイルだったとしても貼り付けできるんだとか。

助けてGemini君



突然、あるクラウドプロバイダーからGoole Cloudに移行してくれ。そんな話が出た時も、効率よくGoogle Cloudに移行できます。
もし、担当者がGoogle Cloudに不慣れだったとしても…、アーキテクチャをTerraFormに書き起こすことで、一目瞭然。
また、書き起こしてもらったTerraformを貼り付けてGeminiに質問することで、アーキテクチャについて解説してくれます。
これで、理解のスピードもF1の如く高速に進みますね。やった!

こんなに時間を節約できました!

あくまで今回の例の内容にはなりますが、以下の時間を節約できました。

  • Lesson1「リソースを効率よくモニタリングすべし」

40分 -> 21秒!

  • Lesson2「予期しないダウンタイムを減らすべし」

60分 -> 5分!

  • Lesson3「IaCにすべし」

2時間 -> 21秒!

ということで、合計3時間34分18秒の時間の節約になりました。
1日8時間労働だとすると、おおよそ半日分をGETできましたね!時は金なり。

まとめよう

大変に時間を節約できるようになる、Gemini Cloud Assist。大変に楽しみですね。
一度きりの人生、Gemini君に助けてもらい、ながーくハッピーに過ごしましょう。

\今日もGoogle Cloudでハッピーな1日を/