Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud Run に憧れて Google Cloud を推進している話 / CX事業本部で使...

Cloud Run に憧れて Google Cloud を推進している話 / CX事業本部で使われている技術

【6/16(金)沖縄】クラスメソッドの最新開発ノウハウを学ぶ勉強会 エンジニア編 で発表した資料です。

https://connpass.com/event/286059

Takaaki Tanaka

June 16, 2023
Tweet

More Decks by Takaaki Tanaka

Other Decks in Technology

Transcript

  1. 2 • CX事業本部 Delivery部 サーバーサイドチーム・チームマネージャー
 • 福岡オフィス所属
 • 2023 Japan

    AWS All AWS Certifications Engineers
 • 2022 APN ALL AWS Certifications Engineer
 • 2021 APN AWS Top Engineer
 • Google Cloud Partner Top Engineer 2023
 • サウナ・スパ プロフェッショナル
 田中 孝明 (Takaaki TANAKA) こーめい

  2. 6 Google Cloud を学ぶモチベーション 裏側を支える技術が面白い • Borg: クラスタマネージャ • Maglev:

    ロードバランサー • Slicer: オートスケール • Jupiter: データセンターのネットワーク • GFS: クラスタレベルのファイルシステム
  3. 8 二刀流エンジニアを目指す方向けの資料 二刀流エンジニア • 他のクラウド (AWS / Azure) との 違いが赤裸々に公開されている

    • インフラ編・データベース編は必 見 https://cloudonair.withgoogle.com/events/jump-start-22/resources
  4. 11 話す内容 話す内容 • Cloud Run について • 第 2

    世代について • CPU ブーストについて • Google Cloud の社内事情(オフレコ)
  5. 13 Cloud Run の概要 サーバーレスコンテナ実行環境 • コンテナを秒単位でデプロイできるフルマネージド のサーバーレスコンピューティングプラットフォー ム •

    HTTPリクエストを受け取るとコンテナを起動して実 行し、リクエストが完了するとコンテナを停止する (起動数の設定による) • Cloud Functions のバックエンドにも採用されてい る
  6. 17 Cloud Run はどうやって使うの 簡単にデプロイ • Github と Cloud Build

    を連携し、コンテナ イメージをビルド • ビルドしたコンテナイメージを Artifact Registry に配置 • コンテナイメージを指定してデプロイ
  7. 18 Cloud Run はどうやって使うの 簡単にデプロイ • Github と Cloud Build

    を連携し、コンテナ イメージをビルド • ビルドしたコンテナイメージを Artifact Registry に配置 • コンテナイメージを指定してデプロイ
  8. 22 Cloud Run 第 2 世代 Linux の完全互換性を実現 • ついにGA

    • さまざまなパフォーマンス改善(CPU・ネットワーク) • サービスとジョブの使い分けることでアプリケーションにバリエー ションを持たせることが可能に • 最大起動時間増加 • Eventarc に対応しているサービスと連携
  9. 23 Cloud Run 第 2 世代 Cloud Run Jobs •

    スクリプト、バッチなどのスケジュールジョブ向け • 1 Job = N Task / 1 Task = 1 Container Instance
  10. 24 Cloud Run 第 2 世代 Cloud Run Jobs の使い分け

    • 1つの Task を実行 • 複数の Task を直列に実行 • 複数の Task を並列に実行
  11. 26 公式ブログ Start up CPU boost (Preview) • Cloud Run

    / Cloud Functions 第二世代向け https://cloud.google.com/blog/ja/products/serverless/ann ouncing-startup-cpu-boost-for-cloud-run--cloud-functions
  12. 27 CPUブースト Start up CPU boost (Preview) • Cloud Run

    / Cloud Functions 第二世代向け • コールドスタート時間を短縮し、より迅速にリクエストを処理でき るようになる • 詳しい挙動については調べきれてないです
  13. 29 CPUブースト Cloud Run 第 2 世代 • コマンドライン or

    コンソール画面から有効化 • Cloud Functions 第2 世代 • デフォルトで有効
  14. 31 検証記事 Start up CPU boost (Preview) • Cloud Run

    / Cloud Functions 第二世代向け • • 広い門の下には、この男のほかに誰もいない。 https://zenn.dev/cloud_ace/articles/bd95501cb0cd3f
  15. 33 Google Cloud について 問い合わせがはいってくるようになってきた • アライアンス統括部がリセールを担当 • 来期からは Google

    Cloud のソリューションアーキテ クトの採用にも力を入れる • DA事業本部で BigQuery ガンガン利用している • DA事業本部でアプリ寄りの案件の相談もあり • CX事業本部では細々とやってますが、AWS やり尽 くした人の次の選択肢に是非候補に入れて欲しい
  16. 34

  17. 38 話す内容 話す内容 • AWS アーキテクチャ • 言語 • フレームワーク

    / ライブラリ • IaC • CI/CD • 認証認可 • プロジェクト管理、支援ツール • AI系サービス
  18. 39 AWS アーキテクチャ • サーバーレスアーキテクチャーが採用されている案件が多い ◦ API Gateway + AWS

    Lambda + Amazon DynamoDB ◦ API Gateway + AWS Lambda + Amazon Aurora (RDS Proxy) ◦ AWS IoT を採用する案件で利用実績多し • AWS Fargate on ECS + Amazon Aurora • Amazon EKS を使っている案件もあるがレアケース
  19. 40 言語 • TypeScript の利用割合が多い ◦ CDK の影響から採用される傾向あり ◦ 次点で

    JavaScript • Python、Golang、Java、Scala、Ruby も案件によって使われている • モバイルは Swift / Kotlin 、Flutter も採用実績あり • Rust を実証実験しているプロジェクトもある • 言語選定は慎重に行っています
  20. 41 フレームワーク / ライブラリ • フロントエンドは React が多い • Fastify

    (TypeScript) • TypeORM (TypeScript) • モバイルの宣言的UIでは SwiftUI が採用されている ◦ 既存の UIKit と共存が多い ◦ Jetpack Compose は情報なし • Play! framework 2.8 (Scala) • Spring Boot
  21. 42 フレームワーク / ライブラリ • Unitテスト時のMock ◦ localstack ◦ moto

    ◦ dynalite ▪ jest-dynalite • vitest 用のプラグインを作ったメンバーも ◦ vitest-environment-dynalite
  22. 44 IaC • CDK (TypeScript) が大勢力 • Terraform (Google Cloudを利用している案件で多い)

    • CloudFormation (AWS SAM) • 一部では Serverless framework も採用されている
  23. 45 CI/CD • GitHub Actions ◦ ほぼ主流 • CodePipeline •

    GitLab Runner • CircleCI ◦ 新規で採用するのは減ってきている • Bitrise • Autify を採用していた案件もあり
  24. 47 プロジェクト管理、支援ツール • GitHub / Gitlab / Code Commit •

    Zenhub • Trello / Pivotal tracker を使っているところも • Backlog • デザインは Figma が主流になりつつある • Notion / miro • スクラム開発
  25. 49