Google Cloud Next のイベントでカウシェの技術選定やアーキテクチャについて話しました

Yuki Ito
KAUCHE Tech Blog
Published in
6 min readOct 22, 2022

こんにちは、株式会社カウシェの Architect の伊藤です。

先日開催された Google Cloud Next のイベントにて、「スタートアップに聞く!Google Cloud の上手な活用方法」というテーマのパネルディスカッションに参加させていただきました。本稿では、このイベントでカウシェの Architect としてお話させていただいた内容をまとめます。イベントの動画は Youtube 上で公開されているので、合わせてご覧ください。

スタートアップに聞く!Google Cloud の上手な活用方法

Google Cloud を選んだ理由

  • スタートアップの立ち上げではリソース(人、資金、時間)が少ないので、「管理コストが低いマネージドなサービスでアプリケーションを構築できるか」という点を重視していた
  • ワークロードの管理の容易さやポータビリティを考慮して、コンテナを用いてアプリケーションを構築したいと考えていた
  • コンテナ化したアプリケーションの管理という点では Kubernetes が魅力的だが、Kubernetes の管理に人員を割く余裕がないので「よりマネージドな形式でコンテナを実行できる環境」を求めていた

上記のような観点から、「コンテナ化したアプリケーションをフルマネージド形式で実行できるプラットフォーム」である Google Cloud の Cloud Run に着目しました。Cloud Run は、トラフィック量に応じたオートスケールトラッフィクのマイグレーションなど、コンテナ化したアプリケーションを管理する上で欠かせない機能を提供しており、「管理コストが低いマネージドなコンテナ実行環境」という点と合わせてスタートアップの立ち上げには非常に効果的なサービスだと考えました。

また、コンテナ化したアプリケーションの実行環境以外にも、マネージドなデータベースである Cloud SpannerFirestore、非同期的に処理を実行するためのサービスである Cloud TasksPub/Sub など、Google Cloud には信頼性の高いアプリケーションを生産性が高い状態で開発するためのサービスが整っていると考えました。

これらの点を総合して、カウシェの開発には Google Cloud を採用しました。結果的には狙い通りの効果を得られており、スタートアップの立ち上げに、Cloud Run を中心とした Google Cloud のサービスを採用して正解だったと考えています。

Google Cloud の活用で工夫している点

カウシェのアーキテクチャ

カウシェの開発では、Google Cloud を活用する上で下記の 2 つの設計思想を掲げています。

  • 可能な限り全ての処理を API(gRPC)として宣言的に実装する
  • 可能な限り全ての処理を Cloud Run 上で実行する

カウシェでは、これら 2 つの設計思想を合わせて「可能な限り全ての処理を Cloud Run 上で API として実行する」ことを基礎的な設計方針としています。

カウシェでは、モバイルアプリケーションからのリクエストを処理する API サーバーの実行環境として Cloud Run を利用していますが、それ以外にも「Cloud Tasks や Pub/Sub を利用した非同期処理」や「Cloud Scheduler を用いた定期実行処理」、「外部サービスとの Webhook による連携処理」を Cloud Run 上で API として実行しています。

このように、「可能な限り全ての処理を Cloud Run 上で API として実行する」ことによって、「ビジネスロジックが gRPC の API として宣言的に実装されているので可視性が高い」「Observability のための仕組みを API 向けに統一した形で導入できる」といったメリットがあり、アプリケーションの信頼性と生産性を向上させることに成功しています。

おわりに

本稿では、Google Cloud Next のイベントでお話ししたカウシェでの技術選定やアーキテクチャについてまとめました。このイベントには、株式会社 unerry さんと株式会社バベルさんの CTO の方々も登壇されており、Google Cloud の活用について、特にスタートアップに関して参考になるノウハウが共有されています。詳しくはぜひ動画をご覧いただければと思います!

また、私事ですが、先日 Google Cloud に Champion Innovator として推薦をいただき、Modern Architecture と Serverless App Development の分野で認定していただきました。今後も Google Cloud のノウハウを積極的に発信していければと思います!

宣伝

カウシェでは、本稿で紹介したような Google Cloud の活用を含めて、常に「より良いアーキテクチャ」を模索しています。エンジニアにとっては非常にエキサイティングな環境なので、もし弊社に興味を持っていただいた場合は、ぜひ採用情報をご覧いただければと思います。

筆者は Meety 上でカジュアル面談を募集しているので、こちらもぜひご応募ください(「カウシェへの転職に興味はないけど Google Cloud などの技術の話を聞きたい!」という方も歓迎しています!)。

また、来週水曜日(10/26 2022)に、先日カウシェに入社された柴田 芳樹さん(書籍「プログラミング言語 Go」の翻訳者)と Go をテーマとして対談するイベントを開催します。こちらもぜひご参加いただければと思います!

--

--