Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

Google Cloud Next '23に参加しました — Application Developer編

こんにちは、技術本部Bill One Engineering Unitでインボイス管理サービス Bill One のアーキテクトを担当している加藤です。このたび、8/29〜31にサンフランシスコで開催されたGoogle Cloud Next ’23に参加したので、聴講したセッションの中から印象に残ったものをご紹介したいと思います。

cloud.withgoogle.com

当社からは5名が参加しました。私はWebアプリケーションエンジニアなので、カテゴリーが「Application Developers」「Database Professionals」「DevOps, IT Ops, Platform Engineers, SREs」のセッションを中心に聴講しました。Bill OneではGoogle Cloudをフル活用しているため、主にBill Oneにおいてどのように活用できそうかという観点で聴きました。

会場であるMoscone Centerの外観

Application Developersカテゴリ

Performance optimizations for Java applications

https://cloud.withgoogle.com/next/session-library?session=DEV301 (リンク先から動画と資料を閲覧できます)

このセッションでは、Javaアプリケーションのパフォーマンスを最適化する手法として、次のものが紹介されました。

  • ビルド時間の最適化
    • jib: レイヤー化されたコンテナイメージの作成
  • 起動時間の最適化
  • 実行時間の最適化
    • Cloud Traceなどを使ったトレーシングによる分析

Bill Oneでは、Kotlin/JVMのアプリケーションをマネージドのCloud Runで稼働させているため、どれも気になるものでした。特に起動時間の最適化で紹介されたCRaCは、まだまだ初期のプロジェクトであるとのことですが、使えるようになると非常に効果がありそうで楽しみです。

Extend your Cloud Run containers’ capabilities using sidecars

https://cloud.withgoogle.com/next/session-library?session=DEV302

このセッションでは、先日Cloud Runでのサポートが発表されたサイドカーのユースケースとして次のものが紹介されました。

  • Application monitoring, logging and tracing
  • Frontcar / Proxy (リバースプロキシ)
  • Advanced Networking, Security, Service Mesh
  • Client Connection Proxies (AlloyDB Auth プロキシなど)
  • Advanced Use case > 2 sidecars (複数のサイドカーコンテナを使う高度なケース)

サイドカーと聞くと、OpenTelemetryのCollectorのようなオブザーバビリティ用途でのユースケースが一番に頭に浮かびますが、他にもさまざまな使い方が紹介されていて、勉強になりました。

実際、帰国後に参加した打ち合わせでサイドカー(Frontcar / Proxy)がちょうど適用できそうなユースケースがあり、候補の一つとして検討することになりました。Cloud RunのサイドカーサポートはPreview段階ですが、今後が楽しみです。

Developer Keynote: What's Next for Your App?

https://cloud.withgoogle.com/next/session-library?session=DEVKEY

Developer Keynoteでは「Legacy」がテーマとして掲げられました。Legacyは必ずしも悪い言葉ではなく、ビジネス価値を生み出してきた証で、これからも新しいLegacyを生み出していくのだというメッセージでした。そしてGoogleが技術的な課題に向き合ってきた過去と、生成AIを中心とする新しい技術を使った今後の開発が対比して紹介されました。

Bill Oneは社内で比較的新しいシステムであるものの、技術課題と向き合っていく必要があります。 その中で、Googleでさえも技術課題と向き合ってきたというエピソードは勇気づけられるものでした。 プロダクトを進化させるのと同時に技術課題を解消していき、新しいLegacyにしていきたいと感じました。

Ten best practices for modern app development

https://cloud.withgoogle.com/next/session-library?session=DEV203

このセッションでは、モダンなアプリケーション開発のベストプラクティスとして、次の10個が紹介されました。

  1. Design Stateless Services
  2. Design for Scale
  3. Optimize Your Containers
  4. Infrastructure as Code
  5. Cloud Native Pipelines
  6. Supply Chain Security
  7. Use Managed Services
  8. Observability
  9. Manage Costs
  10. Cloud Based Development

特別新しい話ではないものの、全部できているかと言われると必ずしもそうではなく、しっかりとやらねばという気にさせられました。

What's next for application developers

https://cloud.withgoogle.com/next/session-library?session=SPTL201

このセッションは、アプリケーション開発者向けのスポットライトセッションで、開発者がクラウドを利用する際の認知負荷を下げるための新機能がいろいろと紹介されました。

  • Jump Start Solutions (GA)
  • Duet AI in Google Cloud (Preivew)
  • Application Integration (GA)
  • Cloud Workstations (GA)
  • Expanded Google Cloud and GitLab partnership

中でもJump Start Solutionsは、ベストプラクティスの構成をコンソールやTerraformで容易に作成し、学べるというもので、新しいサービスをTerraformで構築する際にも役立ちそうに思いました。

展示会場の様子

Database Professionalsカテゴリ

PostgreSQL the way only Google can deliver it: A deep dive into AlloyDB

https://cloud.withgoogle.com/next/session-library?session=DBS210

このセッションではAlloyDBの事例とアーキテクチャが紹介されました。AlloyDBについてはこれまでにも聞く機会がありましたが、Product Managerから直接聞けるのは貴重な機会でした。Alloy(合金)は「PostgreSQLとの互換性」と「Googleの技術」を組み合わせたものという意図で名付けたという話でした。

事例ではOracle ExadataをAlloyDBに置き換えた話が紹介されました。さまざまなツールを活用してクエリを書き換え、本番でのリプレイテストでパフォーマンス検証を行い、Database Migration Serviceで移行したという素晴らしい事例でした。

AlloyDBのアーキテクチャに関しては、システムメモリとバッファーキャッシュの割合を自動調整してくれるAdaptive memory managementは初めて知り、とても便利そうに感じました。

Building next-generation databases at Google: Cloud Spanner under the hood

https://cloud.withgoogle.com/next/session-library?session=DBS302

このセッションではCloud SpannerのアーキテクチャやGoogle内での利用事例が紹介されました。Cloud SpannerはGoogle内での大量データ処理を改善するために作られたもので、PostgreSQLを改善したAlloyDBとは出自が全く異なることがよくわかりました。

今のところCloud Spannerの利用機会はありませんが、通常のクエリに影響を与えずに分析用のクエリを実行できるCloud Spanner Data Boostも便利そうでした。

Run your high-performance database workloads on any cloud with AlloyDB Omni

https://cloud.withgoogle.com/next/session-library?session=DBS208

このセッションでは、AlloyDBをローカルで利用できるAlloyDB Omniが楽しく紹介されました。元々ローカル開発用途のイメージが強かったですが、Amazon EC2上で起動してAurora Postgresから論理レプリケーションでデータを同期するデモが紹介され、データ移行やパフォーマンス検証でも手軽に利用できることがわかりました。

また、カラムナエンジンを有効にするだけで300msの分析クエリが6msで返ってくるようになるデモも印象的でした。

Five best practices to enable highly available applications with Cloud SQL

https://cloud.withgoogle.com/next/session-library?session=DBS303

このセッションでは、Cloud SQLを使って高い可用性を持つアプリケーションを作るためのベストプラクティスとして、(タイトルに反して)次の6つが紹介されました。

  1. 相対的な更新順序付きでメンテナンスウィンドウを設定する
  2. メンテナンスの更なるコントロールのためには、セルフサービスメンテナンスを使用する
  3. 最高の可用性が必要なインスタンスはEnterprise Plusエディションを使用する
  4. ゾーンの障害の際にも高可用性を維持するためには、HA構成を有効にする
  5. リージョンの障害の際にも高可用性を維持するためには、クロスリージョンレプリカでHA構成を有効にする
  6. 日次の自動バックアップとPITR (Point-in-Time Recovery) を適切な期間で常に有効にし、ユーザーの誤操作や破滅的な事象から守る

Bill OneのメインのデータベースとしてCloud SQLを使用していますが、改めて聞くと、クロスリージョンレプリカのHA構成やPITRを使用した別リージョンへのインスタンス復元など、意外と知らなかった新機能もあり、とても勉強になりました。

Cloud SQLは、Google社内ではあまり使われていないプロダクトだと思われますが、Top 100 Customersの95%以上が使っているとのことで、非常に配慮が行き届いたプロダクトだなと改めて感心しました。

セッション会場の様子

DevOps, IT Ops, Platform Engineers, SREsカテゴリ

What's new in modern CI/CD on Google Cloud

https://cloud.withgoogle.com/next/session-library?session=OPS200

このセッションでは、セキュアでモダンなCI/CDを実現するための次のプロダクトとその新機能が紹介されました。

  • Cloud Build
  • Artifact Registry
  • Cloud Deploy

GitHub/GitLabとの連携が改善したCloud Buildの第2世代リポジトリや、Cloud Run security insightsなど、便利な新機能を知ることができました。

Bill OneのCI/CDを考えてみると、開発を始めた3〜4年前からCloud Build→GitHub Actionsの移行は進みましたが、大きな仕組みとしては変わっていません。紹介されたサービスも活用しつつ、より素早くリリースでき開発者体験が良いものに進化させていきたいと感じました。

選んだランチ

おわりに

本記事ではGoogle Cloud Next ’23で印象的だったセッションを紹介しました。記事内ではあまり触れていませんが、AI(特に生成AI)がカンファレンス全体の大きなテーマでした。あらゆるプロダクトでAIを活用した新機能が提供されていました。ソフトウェアエンジニアとして、AIを活用できる機会を常に意識していくことが大切だと感じました。

普段からGoogle CloudのEnterpriseサポートで毎月製品アップデートを紹介していただいたり、リリースノートを購読したりすることで情報をキャッチアップしているつもりでしたが、初めて知る機能が多くあったのにも驚かされました。今後もこのようなカンファレンスに参加することで、しっかりとキャッチアップしていきたいです。

オンサイトで海外カンファレンスに参加するメリットとして、開発に関わっているエンジニアやプロダクトマネジャーと直接会話できることがよく挙げられます。実際に登壇者に質問することでそのメリットを享受できたものの、英会話力はまだまだで、もっと研鑽していきたいと思います。

サンフランシスコには初めて訪れましたが、空は気持ちよく晴れ渡っているのに長袖がちょうどいい程度の涼しさで、とても過ごしやすい気候でした。出発前から近年の治安悪化は聞いていて、実際大通りやショッピングモールの空きテナントの多さには驚きましたが、特に何事もなく帰ってこられて良かったです。

同僚のおかげで毎日美味しいご飯を食べることもでき、充実した出張となりました。機会があればぜひまた訪れたいです。

フィッシャーマンズ・ワーフのシーフード

© Sansan, Inc.