こんにちは、MA部MA開発1ブロックの齋藤(@kyoppii13)です。
8/29-8/31に開催されたGoogle Cloud Next '23へ参加してきました。今年は4年ぶりとなるオフライン開催で、アメリカ・サンフランシスコで開催されました。弊社からはMA部の齋藤・松岡・中原の3名が参加しました。
今年は生成AIにフォーカスした内容がとても多く、それに関連する新サービスの発表も多くありました。本記事では、現地での様子と特に興味深かったセッションをピックアップして紹介します。
現地での様子
3日間に渡って開催されたGoogle Cloud Nextの会場はモスコーニ・センターという大きな展示施設で、メインルームではキーノート、他ルームでセッションが発表されるというものでした。発表以外にもワークショップやたくさんの企業ブースがあり大変賑わっていました。
Google Cloud Nextは毎年開催されているイベントですが、今年は4年ぶりのオフライン開催ということもあり、非常に多くの参加者がいました。そのため、初日最初のキーノートは満席で入場制限が発生していました。セッションやワークショップは基本的には予約制で、予約なしで当日に並んで見ることも可能ですが、人気のものは長い待機列になっていました。
今年は生成AIに関連する発表がとても多かったです。GCPのマネージドなAIサービスであるVertex AIやGoogle Workspaceにおいて生成AIでユーザをサポートするDuet AIに関連する発表が多く見られました。
以降で現地参加したメンバーが気になったセッションについて紹介します。
セッション紹介
PostgreSQL the way only Google can deliver it: A deep dive into AlloyDB
MA部MA開発1ブロックの齋藤です。
このセッションでは、昨年12月にGAとなったPostgreSQL互換のマネージドDBサービスであるAlloyDBの詳細と移行事例について紹介されました。
AlloyDBは標準のPostgreSQLと比較し、TPM(transaction per minute)が4倍以上、分析クエリにおいては最大100倍のパフォーマンス向上が期待できます。分析クエリのパフォーマンス向上により、従来のアプリケーションでは実行できなかったクエリも実行できるようになると紹介されていました。
パフォーマンス以外のメリットとして可用性やスケーラビリティ、オートパイロット機能・AI/ML機能についても述べられていました。また、OSSのPostgreSQLをベースとしているため、商用DBとは異なり、ベンダーロックインもなく、コストやライセンス管理も複雑になりません。
移行事例としてCME Group社によるOracle Exadataからの移行について紹介されていました。移行に伴い従来のパフォーマンスを維持できるかのPoCを実施し、PoCの結果として、従来と同等またはそれ以上のパフォーマンスを実現できたと述べられていました。また、チューニングについても述べられていました。例えば、ORのUNIONへの置き換え、NOT EXISTSを使用しないなどのクエリ修正をすることでアプリケーションが要求するパフォーマンスを満たすことに繋がったと述べられていたのは興味深かったです。
ここからは高パフォーマンスがどのように実現されているかの紹介です。まずはレプリケーションとフェイルオーバーについてです。
アーキテクチャとして、コンピューティングとストレージでレイヤーが分かれていることで、それぞれでスケールでき、レプリケーションの遅延は通常のPostgreSQLと比較して25倍高速になります。フェイルオーバーにおいては、最近のリリースによってプライマリはダウンタイムが1秒未満、リードレプリカは0秒を実現しています。
ダウンタイムが非常に短い点はとても気になりました。MA部では配信システムの開発・運用をしており、配信にはバッチによる配信とリアルタイムな配信があります。また、DBサービスとしてCloud SQLも一部システムで利用しています。Cloud SQLでは決められたメンテナンス時間帯に自動的にメンテナンスをしますが、数十秒のダウンタイムが発生します。特にリアルタイムな配信においてはダウンタイムが短いことは、機会損失を防げる点で非常に有益だと思いました。参考:Cloud SQL インスタンスでのメンテナンスについて
次の高パフォーマンスの実現ではキャッシングとカラムナエンジンについて述べられていました。AlloyDBでは複数のキャッシングを実装しています。RAMベースのキャッシングやUltra-fast Cacheと呼ばれるものです。RAMベースのキャッシュにおいては、通常のPostgreSQLでの行指向のキャッシングに加えて、列指向のキャッシングにも対応しています。このキャッシングに加えて、更にカラムナエンジンという列指向でのデータ処理を実施するエンジンも組み合わせることで、非常に高速な処理が可能となります。
それまでのRDBでは当たり前だった行指向でのデータの扱い方に加えて、BigQueryで培った列指向でのデータの扱い方を組み合わせるというのはGoogleだからこそできる技術だと思いました。
次にオートパイロット機能についてです。以下の機能が述べられていました。
- Index Advisor(インデックスアドバイザー)
- Adaptive memory management(適応的メモリ管理)
- Adaptive vacuum management(適応的バキューム管理)
Index Advisorはクエリパフォーマンス向上のために最適なインデックスを計算する機能です。Adaptive memory managementはOOMが発生しないようにバッファキャッシュを自動計算する機能です。Adaptive vacuum managementは現在のワークロードへの影響を最小限にしながらVACUUM処理を自動化するものです。
オートパイロット機能で特に気になったのは、Adaptive vacuum managementです。MA部では配信に利用するデータを生成するために、バッチ処理でクエリを実行しています。クエリパフォーマンスを保つためにAUTO VACUUMだけではなく、毎日深夜帯にVACUUM処理を実施しています。しかし、VACUUM処理が長引き、配信時間帯になっても終わらないことがあります。このような場合は配信影響を考慮し、VACUUMを停止するというオペレーションが発生します。このような問題を解決するために非常に有用な機能だと思いました。
最後に新機能について述べられました。新機能とは、この日最初のOpening Keynoteで新機能の発表であったAlloyDB AIについてです。
SQL文の実行でエンベディング生成やVertex AIのモデルを呼び出せ、またそれらが高速に動作することで、DBのデータを利用した生成AIのアプリケーションを容易に作成できるようになります。現在はプレビュー版であり、本番利用はできません。詳しくは以下の公式ブログをご覧ください。
Google Cloud Blog - プレビュー版が提供開始された AlloyDB Omni で新たな生成 AI 機能を構築
MA部ではまだAlloyDBを利用していません。しかし今回の発表を聞いて非常に移行メリットは大きいと感じました。移行においてもオンプレやクラウドからの移行ツールであるDatabase Migration Serviceが提供されています。
また、新機能であるAlloyDB AIもデータベースのデータを利用することで簡単にアプリケーションとして生成AIを組み込めるというのは大きなメリットだと思いました。私が今年もっとも衝撃を受けた技術である生成AI、今後の動向に注目したいです。
What's next for application developers
MA部MA開発2ブロックの松岡(@pine0619)です。
本セッションでは、アプリケーションエンジニアの開発者体験を変えるプロダクトとして以下2つの紹介がありました。
- Jump Start Solutions
- Duet AI in Google Cloud
Jump Start Solutions
このプロダクトではユースケースに応じてアプリケーションとインフラのテンプレートが用意されており、それを使うことで簡単にアプリケーションをデプロイできます。新しくクラウドを使い始める際には様々なサービスを組み合わせ、ベストプラクティスを学習するなど障壁が高いという課題があります。このJump Start Solutionsを使うことで、最初のアプリケーション実行までを、より簡単かつセキュリティを担保した上で高速に実現できます。
現在は14種類のテンプレートが用意されています。
ユースケースとテンプレートが合致する場合という条件はあるものの、簡単にアプリケーション・インフラを構築し、初回デプロイまでの時間を短縮出来るのは便利だと感じました。今後テンプレートが増えていくとより使える場面が増えると思うので今後の動向に注目したいです。
Duet AI in Google Cloud
本イベントではGoogle Cloud Duet AI in Google Cloudのプレビュー版が発表されました。Duet AIとはGoogleが提供する生成AIを使った支援機能です。今回の発表でDuet AIによるアシスタント機能がコーディングやBigQuery、データベースなどGoogle Cloudの様々なプロダクト、サービスで利用できるようになりました。
本セッションは、そのDuet AIの機能の中でも開発者向けの機能であるコード補完、コード生成、チャットアシスタント、テスト生成などについての紹介です。
中でもチャットアシスタントはIDE上から呼び出すことができ、コーディングに関する質問やコード全体を要約するなど、効率的に開発を進める上で非常に便利な機能だと感じました。
セッションでは実際にデモも行われ、Duet AIを利用したコーディングの便利さを実感することが出来ました。
What's next for operations and platform builders
次も松岡から"What's next for operations and platform builders"のセッションについてご紹介します。
本セッションでは以下の機能についての紹介がありました。
- Cloud TPU v4 on GKEのGAリリースおよびCloud TPU v5e on GKEのプレビュー提供
- Cloud Run sidecars supportのGAリリース
- GKE Enterprise edition
- Interactive Troubleshooting PlaybooksのGAリリース
中でもCloud Run sidecars supportとInteractive Troubleshooting Playbooksが気になったので簡単に内容をまとめます。
Cloud Run sidecars support
Cloud Run sidecars supportは今年の5月にプレビュー提供が開始され、今回GAリリースとなった機能で、Cloud Runでメインコンテナと並行して動作する独立したサイドカーコンテナが使えるようになります。使う場面としては、DatadogやOpenTelemetryといった監視ツールの動作や、nginxやEnvoyといったproxyとしての使用が挙げられます。サイドカーが使えるようになったことで今までに比べ選択肢が広がり、よりCloud Runの採用がしやすくなったのではないでしょうか?
Cloud Run sidecarsについては以下のセッションで詳しく紹介されていましたので興味がある方はそちらもご覧ください。
Extend your Cloud Run containers’ capabilities using sidecars
Interactive Troubleshooting Playbooks
Interactive Troubleshooting PlaybooksはGKEのトラブルシューティングを行うための機能で、発生したトラブルに応じてログやメトリクスの出力、トラブルシューティングのための次のステップなどが表示され、解決への手引きをしてくれます。
現状はPod unschedulableやCrashLoopBackOffなどのいくつかのトラブルに関するplaybookが提供されていますが、今後他のトラブルに関するplaybookも提供される予定です。
詳しくは以下の公式ブログで紹介されていますので気になる方はご覧ください。
Simplify troubleshooting in Google Kubernetes Engine with new playbooks
MA部ではメールやLINEなどへの配信のバッチ処理をGKE Autopilot上に構築したDigdagで行っています。そちらに関しては以下のテックブログで詳しく紹介しています。
Interactive Troubleshooting Playbooksの機能を使うことでGKEの運用がより楽になることを期待したいです。また、本機能はGKEに限定されていますが、今後他のGCPサービスでも同様な機能が出て運用負荷の軽減が出来ることを期待しています。
What's new with BigQuery
MA部MA開発1ブロックの中原です。
"What's new with BigQuery"について紹介します。
このセッションでは、data clean roomsのプレビュー提供やBigQuery Omniの新機能、生成AIを使った新機能など多くのBigQueryに関する新しい発表がありました。その中でも生成AIを使った新機能に絞って紹介します。大きく以下3つの紹介がありました。
- データエンジニアリング、アナリティクス、予測分析を1つに統合したインタフェースであるBigQuery Studioを発表
- Vertex AI基盤モデルとの統合により、BigQueryのデータにAIを導入
- Looker、BigQuery、Dataplexなどのサービスでデータ作業を再構築するために、Google CloudのDuet AIをプレビュー提供
それぞれについて簡単に内容をまとめます。
BigQuery Studioについて
BigQuery Studioは現在プレビュー提供されています。これまでデータ分析や機械学習を活用するチームが、データウェアハウスやデータレイク、機械学習モデルなどを管理するために異なるツールを使用しており、生産性が低下してしまうという課題がありました。BigQuery Studioを利用することで1つのインタフェースでツールを切り替えることなく上記の作業をできるようになりました。
また、新しく発表されたPython向けノートブックの新サービスColab Enterpriseと統合されたUIでPythonによりBigQueryのデータを操作できるようになります。
Vertex AI基盤モデルとの統合について
Googleが開発した言語モデルであるPaLM 2を含むVertex AI基盤モデルへのBigQueryからの直接アクセスできるようになり、以下の内容が発表されました。
- BigQueryのコンソールでCREATE MODEL構文を使って、BigQuery MLモデルをVertex AI Model Registryに登録できる機能をGA提供
- SQLのみで大規模言語モデル(LLM)のテキスト生成ができる機能をプレビュー提供
1つ目のVertex AI Model Registryへの登録については、機能の概要と詳細が公式ドキュメントに記載されています。BigQueryのコンソール画面のみでモデルのバージョン管理、評価、デプロイを行い、オンライン予測ができるようになりました。
2つ目のLLMのテキスト生成については、使用例が公式ブログに記載されています。SQLのみで簡単な生成AIを実行でき、Cloud SQLやSpannerなどのデータベースに格納されているデータやCSVファイル、他の外部データソースのデータに対してもLLM分析が可能になりました。
Vertex AI基盤モデルとの統合と機能追加によって効率的にデータ分析ができるようになりました。
Duet AIについて
生成AIによる作業支援ツール「Duet AI」がLooker、BigQuery、Dataplexなど、Googleの様々なサービスでプレビュー提供すると発表されました。
BigQueryにおいては、自然言語での指示によるSQLの自動生成や、表やグラフを含むLookerStudioダッシュボードの自動生成などが可能になります。
詳しい内容は以下の公式ブログをご覧ください。
Reimagine data analytics for the era of AI
MA部ではBigQueryのコンソールはよく使うため、Duet AIにより生産性が上がることを期待したいです。将来的にはAIがテーブル名やカラム、データの中身からどのようなテーブルなのかを理解し、どのようなデータを取りたいか指示すると自動でSQLの生成からデータの取得まで行えるようになるのでしょうか。今後の進化が楽しみです。
Go from idea to app with no coding using AppSheet
次も中原から"Go from idea to app with no coding using AppSheet"について紹介します。
AppSheetはノーコードで簡単にアプリケーションを作成できるサービスです。
このセッションでは、AppSheetに追加された新機能と機能強化によって、あらゆるスキルレベルのユーザにとってアプリ開発がより身近なものになったとデモも混じえながら紹介がありました。
発表された内容は、Duet AIがAppSheetで動作するようになり、自然言語で指示するとアプリを作成してくれるようになったということです。GoogleChatで「Duet AI in AppSheet」というアプリをスペースに追加すると、チャットの対話に基づいてアプリケーションを作成してくれます。また、アプリケーションの画面で変更したい箇所にマウスのカーソルを持ってきてクリックするだけで編集画面を開くことができ、直感的に画面をカスタマイズできるようになりました。
デモでは、オフィスのビルで働く人が管理者に対してメンテナンスが必要な箇所をモバイルで報告し、管理者にメールで通知が届きそれらを管理できるアプリを作成していました。データの登録や更新をするだけではなく、画像の添付やメール送信もあり少し複雑なものでしたが、チャットでAIと対話しながらテーブルの作成からアプリケーションの作成までできていました。
AppSheetはGmailやMeetなどのGoogle Workspaceと連携できるため、アイデアがあれば業務プロセスを効率化するようなアプリケーションを簡単に作れるようになりそうです。例えばMA部では、メルマガやLINE、アプリプッシュの配信システムを運用しているため、配信に関する問い合わせが様々な部署から来ます。今はSlack上で問い合わせを受け付けていますが、問い合わせの受け付けと管理をAppSheetのアプリケーションで行えば、問い合わせの管理がより効率的になるのではというアイデアが浮かびます。Duet AI機能を使えば、このアイデアも簡単にアプリケーションにできそうです。
AI-assisted collaborator and the changing workforce
つづいても中原から"AI-assisted collaborator and the changing workforce"について紹介します。
このセッションは、AIと変化する職場についてのパネルディスカッションでした。
AIが職場と仕事に与える影響について以下のようなことを話されていました。
利点
- AIは業務効率を向上させ、重要な業務プロセスを自動化する
- データの活用をサポートし、データから有用な情報を抽出できる
- メールの自動整理や適切なコミュニケーションのタイミングを提案することで、従業員間のコミュニケーションを助け、チームの連携が向上する
- トレーニングや教育プログラムをカスタマイズし、個々の従業員の成長をサポートする
課題
- プライバシーとセキュリティの懸念が存在し、データの適切な保護が必要
- 従業員がAIを活用できるようにトレーニングとスキル向上のサポートが必要
- AIの導入には文化の変化と変更管理が必要
- AIからデータや情報を多く提供されると、有益な情報の抽出を難しくなる可能性があるため、AIが生成するデータのフィルタリングが必要
AI導入のベストプラクティス
- 明確なビジョンと戦略を持ち、段階的な導入を検討する
- 従業員の教育とスキル向上に投資し、外部の専門家を活用する
- データの品質とセキュリティに注意を払い、透明性を重視する
- 組織全体でのコミュニケーションを促進し、文化の変化をサポートする
AIの導入と活用についてアドバイス
- AIは組織にとって貴重なツールであり、戦略的なパートナーとして活用すべき
- AIを受け入れ、学び、適応することが重要で、トレーニングとサポートを提供することが求められる
様々な場面でAIの導入の加速が予想されますが、それと同時にAIを活用するスキルが今後必要になってくると考えられます。ChatGPTをはじめとしたチャットAIやGitHub Copilotをはじめとするコード補完ツールなど様々なAIツールがありますが、最大限に活用できている人は多くないと思います。AI導入のベストプラクティスの「従業員の教育とスキル向上に投資」という観点では、ZOZOではGitHub Copilotを全社導入しています。私も業務で使用していますが、GitHub Copilotが得意なことや不得意なこと、うまく活用するコツを理解して活用するには至っていません。AIツールも進化していくので今のうちからAIツールを積極的に使い、AIツールをうまく最大限に活用する方法を模索していきたいです。
まとめ
参加メンバーがそれぞれ気になったセッションについて紹介いたしました。ここまで紹介したように今年はAI関連、特に生成AIに関する発表が多かったです。弊社でもすでにGitHub Copilotによる生成AIの開発支援は導入していますが、GCPのサービスでも生成AIを活用したものの導入が検討できそうだと思いました。
また、初めての海外カンファレンス参加でしたが、セッションでの学びはもちろんのこと、他社のエンジニアや企業ブースでの得られたコミュニケーションは、現地参加だからこその体験だと思いました。
紹介したセッション以外にもたくさんの興味深い発表がありました。全てのセッションは公式サイトのSession Libraryから見ることができます。ぜひご覧ください。
おまけ
会場やその周辺では様々なところにGoogle Cloud Nextの装飾やロゴがありました。
ワークショップにも参加しました。参加したのはVertex AIでの生成AIとプロンプトデザインについてのワークショップです。
Vertex AIのGenerative AI Studio UIという画面上から生成AIモデルの作成や実行ができるツールとJupyter Notebookを操作しながら、生成AIについて学びました。課題をクリアしながらポイントをゲットしていくという形式で、ポイントランキング上位の人には景品があり、楽しく学ぶことが出来ました。
ランチは毎日メニューが異なり、複数のお弁当から選ぶことができました。これは1日目のチキンサンドイッチです。ビッグサイズでした。
Google Cloud Nextの開催前日には日本からの参加者向けに、ウェルカムパーティーを開催していただきました。Googleの方や他社のエンジニアの方と多くの方とお話して、とても有意義な時間を過ごすことができました。海近くのレストランのため、テラスからは心地よい風を感じられました。
Google Cloud Nextの終了翌日にはGoogleの新社屋であるベイ・ビューのオフィスツアーをしていただきました。とても大きく、オフィス間の移動には車や自転車を使うということでした。オフィスは独特な形をしています。これはソーラーパネルでの発電効率の向上や雨水を集めるための設計です。
社内には様々なGoogleロゴやオブジェがありました。
何箇所かマイクロキッチンと呼ばれる食べ物やドリンクが置かれているエリアがありました。
お昼は社内のカフェでランチをいただきました。いくつかの料理から選べるのですが、私はハンバーガーにしました。とても美味しかったです。
オフィスツアー後にはGoogle Merchandise StoreというGoogleグッズが売っているショップに連れて行っていただきました。アパレルグッズがとても多かったです。
ベイ・ビューのオフィス周辺はシリコンバレーエリアということで、GoogleplexやApple Parkも見てきました。スケールの大きさに驚くばかりでした。
最後に
カンファレンス参加に伴う渡航費や宿泊費は福利厚生のひとつであるセミナー・カンファレンス参加支援制度によって全て会社負担です。
ZOZOでは一緒にプロダクトを開発してくれるエンジニアを募集しています。ご興味のある方は下記リンクからぜひご応募ください!