Google Cloud Next Tokyo ’23 アプリケーション開発環境について

 はじめまして。今年(2023年)の新卒入社の白木です。Google Cloud Next Tokyo ’23に参加したので、プログラミング未経験で入社した新卒社員が拙いながらもフレッシュな目線で、Google Cloudのアプリケーション開発のユースケースと技術解説をします。
本記事では、「【初級】2023 年版: アプリケーションをどこで動かすべきか」のセッションから学んだ、Google Cloudが目指すものと開発のユースケース紹介、各機能の解説をします。

目次

Google Cloud Next Tokyo ’23とは

 4 年ぶりにオフラインでの開催となった今回のGoogle Cloud Next Tokyo ’23は東京ビッグサイトで開催されました。Google Cloud のAIや機械学習の技術にフォーカスを当てて、新技術のリリースやAIや機械学習の技術の活用事例の紹介などを講演します。

タイムスケージュール

 私は下記のようなタイムスケジュールでセッションに参加しました。

セッション名 時間
DAY1 基調講演 10:00 ~ 11:40
【中級】AWS と Google Cloud の垣根を超えてデータを活用する方法 12:00 ~ 12:40
【中級】ノーコード ツール AppSheet 活用企業と学ぶ、データ活用最新情報 13:00 ~ 13:40
【初級】2023 年版: アプリケーションをどこで動かすべきか 14:00 ~ 14:40
【初級】Google Cloud を活用したカインズ流需要予測とは 15:00 ~ 15:50
【初級】金融システムのセキュリティ対策要点と最新版 FISC リファレンスのご紹介 16:00 ~ 16:40
【初級】今さら聞けない!ベクトル検索超入門 ~データベース ユーザーは何をおさえておけばいいのか?~ 17:00 ~ 17:00

本記事では、 【初級】2023 年版: アプリケーションをどこで動かすべきか をピックアップしてお伝えします。

【初級】2023 年版: アプリケーションをどこで動かすべきか

Google Cloudが目指すもの

 Google Cloudはアプリケーション開発に便利な様々な機能を提供しています。そんなGoogle Cloudが目指すものは、開発者がいつでもどこでも開発できる環境を提供することです。
従来の開発はlocalのPCで、アプリケーションを開発したりサーバーを立てたりしていました。 しかし、この開発方法では、大きく3つの問題を抱えてしまいます。

  1. アプリケーションのbuild&deployの手間
  2. サーバーの設定メンテナンスの労力
  3. localのPCの環境に依存する この後紹介するGoogle Cloud Platformを使うと、この3つの問題を解決できます。 以降の内容では、開発プロセス順に沿ってツールの紹介をします。

※Googleのアーキテクチャ図用のソリューションのアイコンセットにCloud Workstationsの公式アイコンがなかったため、Cloud Workstationsは公式アイコンなしというアイコンで代替させていただきます

Cloud Workstations

Cloud Workstations
 リモートな統合開発環境です。大きな特徴として、DuetAIをによるGoogle Cloudの開発者支援ができます。(Cloud Workstations with DuetAI)

DuetAIによる開発者支援機能

  • ポイラープレートコードの生成
  • インラインでのコード補完
  • コードの解説
  • コードのセキュリティガードレール
  • 企業向けカスタマイズ

Cloud Workstationsはもちろん、Cloud ShellCloud CodeVSCode向けに提供中または提供予定です。

※ポイラープレートコードとは複数の場所で繰り返される定型コードのこと ※セキュリティガードレールとは社内でクラウド利用のルールを定義し、 ルールを遵守していない利用を制限または検知できるようにすること

Cloud Build

Cloud Build
 サーバーレスのCI/CDプラットフォームです。Google Cloud Platformで構成しているサービスのサービスアカウントで権限管理できる。

  • デベロッパーフレンドリー
  • 柔軟なビルドステップ
  • フルマネージドCIプラットフォーム

Cloud Deploy

Cloud Deploy

 ソフトウェアやアプリケーションをGoogle Kubernetes EngineCloud Runへデプロイするサービスです。

  • 継続的デリバリー(CD)に特化したサービス
  • ベストプラクティスを実装
  • アプリケーションの厳密な管理
  • 重要指標の可視化

※継続的デリバリー(CD)とは、結合テストなどを自動的に行い、設定した環境へデプロイすることを保証するプロセスです。

その他サーバーレスプラットフォームの使用例について

 アプリケーションが実行環境に上がったら、Google Kubernetes EngineCloud Runを使うことで、アプリケーションの管理やユーザーがアプリケーションを使えるようになります。

Google Kubernetes Engine (GKE)

 クラウド上でを実行するためのマネージャーおよびオーケストレーションシステムです。
Google Cloud上で、Dockerコンテナなどのコンテナ化されたアプリケーションのデプロイ、運用管理を行うためのシステムです。名前からわかるように、Kubernetesを拡張したサービスです。

  • Standardモードでおすすめのユースケース
    • ノードの設定変更が必要なゲームのバックエンド
    • GPU, TPUを使うMLパイプライン
  • Autopilotモードでおすすめのユースケース
    • スケーラブルな負荷テストツール用環境
    • 必要リソースに変動の少ないシステム

Cloud Run

 Cloud Runコンテナを、Google Cloudが用意したサーバー上で動かすことができます。手軽にWebサイト/Web APIサーバーを作れて、スケーリングも勝手に面倒見てくれます。

  • サーバーレスで柔軟性を持ったアプリケーションを作れる
  • コンテナをデプロイするだけで外部から到達可能なURLが発行される
  • イベント駆動処理
  • HTTP/2、WebSocket、gRPCに対応

※スケーリングとは、ユーザ数が一時的に増えても、サーバーが落ちないように、サーバーの増減しサービスのアーキテクチャが機能できるようにすることです。

業務でテスト環境や本番環境などにデプロイすることがあり、Google Cloudでも同じような機能を使えることを初めて知りました。
CI/CDの理解を深めるためにも、Cloud BuildCloud Deployで勉強するのもありだと思いました。

今回参加したセッションの内容から、今後はどんなことに繋げていけそうなのか?

 業務では、既存の整備された実行環境でデプロイしていましたが、本記事を執筆する中で実行環境の作り方を知らなかったことに気づきました。これを機にGoogle Cloudで、アプリケーションの実行環境を作ってみたいと思いました。

最後に

 オプティムでは、世界の人々・各産業に大きく良い影響を与えたい方、身の丈に合わない大きな志を持って楽しみながら挑戦し、自ら己の可能性を広げられる方、そして、あらゆる属性を意識せず思いやりを持ってこれからのオプティムという組織・文化を創っていって頂ける方を新卒・中途問わず通年で募集しています。新卒採用では引き続きエンジニア志望(プログラミング未経験者可)、ビジネスサイド志望ともに募集しています。私たちと一緒に世界を変える大きなことにチャレンジしたいという方、是非以下をご覧になってください。ご応募お待ちしております。