はじめまして。今年(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つの問題を抱えてしまいます。
- アプリケーションのbuild&deployの手間
- サーバーの設定メンテナンスの労力
- localのPCの環境に依存する
この後紹介する
Google Cloud Platform
を使うと、この3つの問題を解決できます。 以降の内容では、開発プロセス順に沿ってツールの紹介をします。
※Googleのアーキテクチャ図用のソリューションのアイコンセットにCloud Workstations
の公式アイコンがなかったため、Cloud Workstations
は公式アイコンなしというアイコンで代替させていただきます
Cloud Workstations
リモートな統合開発環境です。大きな特徴として、DuetAI
をによるGoogle Cloud
の開発者支援ができます。(Cloud Workstations with DuetAI
)
DuetAI
による開発者支援機能
- ポイラープレートコードの生成
- インラインでのコード補完
- コードの解説
- コードのセキュリティガードレール
- 企業向けカスタマイズ
Cloud Workstations
はもちろん、Cloud Shell
やCloud Code
、VSCode
向けに提供中または提供予定です。
※ポイラープレートコードとは複数の場所で繰り返される定型コードのこと ※セキュリティガードレールとは社内でクラウド利用のルールを定義し、 ルールを遵守していない利用を制限または検知できるようにすること
Cloud Build
サーバーレスのCI/CD
プラットフォームです。Google Cloud Platform
で構成しているサービスのサービスアカウントで権限管理できる。
- デベロッパーフレンドリー
- 柔軟なビルドステップ
- フルマネージドCIプラットフォーム
Cloud Deploy
ソフトウェアやアプリケーションをGoogle Kubernetes Engine
やCloud Run
へデプロイするサービスです。
- 継続的デリバリー(CD)に特化したサービス
- ベストプラクティスを実装
- アプリケーションの厳密な管理
- 重要指標の可視化
※継続的デリバリー(CD)とは、結合テストなどを自動的に行い、設定した環境へデプロイすることを保証するプロセスです。
その他サーバーレスプラットフォームの使用例について
アプリケーションが実行環境に上がったら、Google Kubernetes Engine
やCloud 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 Build
やCloud Deploy
で勉強するのもありだと思いました。
今回参加したセッションの内容から、今後はどんなことに繋げていけそうなのか?
業務では、既存の整備された実行環境でデプロイしていましたが、本記事を執筆する中で実行環境の作り方を知らなかったことに気づきました。これを機にGoogle Cloud
で、アプリケーションの実行環境を作ってみたいと思いました。
最後に
オプティムでは、世界の人々・各産業に大きく良い影響を与えたい方、身の丈に合わない大きな志を持って楽しみながら挑戦し、自ら己の可能性を広げられる方、そして、あらゆる属性を意識せず思いやりを持ってこれからのオプティムという組織・文化を創っていって頂ける方を新卒・中途問わず通年で募集しています。新卒採用では引き続きエンジニア志望(プログラミング未経験者可)、ビジネスサイド志望ともに募集しています。私たちと一緒に世界を変える大きなことにチャレンジしたいという方、是非以下をご覧になってください。ご応募お待ちしております。