Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloud Run に憧れて Google Cloud を推進している話 / CX事業本部で使...
Search
Takaaki Tanaka
June 16, 2023
Technology
0
210
Cloud Run に憧れて Google Cloud を推進している話 / CX事業本部で使われている技術
【6/16(金)沖縄】クラスメソッドの最新開発ノウハウを学ぶ勉強会 エンジニア編 で発表した資料です。
https://connpass.com/event/286059
Takaaki Tanaka
June 16, 2023
Tweet
Share
More Decks by Takaaki Tanaka
See All by Takaaki Tanaka
製造の課題に立ち向かう Manufacturing Data Engine と Manufacturing Connect の ご紹介
kongmingstrap
0
620
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
590
JAWS-UG 福岡 #16 re:Invent 現地に行った人のお話 #jawsugfuk #jawsug
kongmingstrap
0
490
AppMod の開発のイマを知るために現地に潜入した私が見たものは・・・? #GoogleCloudNext
kongmingstrap
0
540
Kong Gateway から読みとく、 API統合・API連携サービスの最新情報 #devio2023
kongmingstrap
0
1.5k
AWS / Google Cloud / Azure それぞれの推しサービス.pdf
kongmingstrap
0
1.3k
CPUブーストの話
kongmingstrap
0
53
私のAWS愛を聞け! ~ここが好きだよStep Functions~ #devio2022
kongmingstrap
0
1.1k
Cloud Run が作る世界 #devio2022
kongmingstrap
0
2.3k
Other Decks in Technology
See All in Technology
Lambdaと地方とコミュニティ
miu_crescent
2
370
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
330
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1.1k
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
530
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
130
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
250
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
67
4.3k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
We Have a Design System, Now What?
morganepeng
50
7.2k
Ruby is Unlike a Banana
tanoku
97
11k
How GitHub (no longer) Works
holman
310
140k
Building an army of robots
kneath
302
43k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Transcript
Cloud Run に憧れて Google Cloud を推進している話 2023/6/16 CX事業本部Delivery部サーバーサイドチーム 田中孝明
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) こーめい
3 注意事項 前提 • CX事業本部は AWS を主軸に使う方針です • マルチクラウドを推奨する内容ではないです •
個人の見解です • 実運用していないものが含まれています
4 この登壇に関するモチベーション https://cloud.google.com/blog/topics/hybrid-cloud/the-career-benef its-of-multicloud-fluency?hl=en
5 複数のクラウドでスキルを構築するケース 他のクラウドを学ぶモチベーション • クラウドの共通言語を学ぶことで、他のクラウドを学ぶときの学 習時間を短縮する • プライマリクラウドを深く掘り下げた上で、セカンダリクラウドを学 ぶ •
裏側の技術を学ぶのが面白い
6 Google Cloud を学ぶモチベーション 裏側を支える技術が面白い • Borg: クラスタマネージャ • Maglev:
ロードバランサー • Slicer: オートスケール • Jupiter: データセンターのネットワーク • GFS: クラスタレベルのファイルシステム
7 ソリューションデザインパターン これの時はこう • ユースケースごとに、よく 使われるアーキテクチャ が取り上げられている • SAP /
医療 / ゲーム(FPS / MMO) https://www.gc-solution-design-pattern.jp/
8 二刀流エンジニアを目指す方向けの資料 二刀流エンジニア • 他のクラウド (AWS / Azure) との 違いが赤裸々に公開されている
• インフラ編・データベース編は必 見 https://cloudonair.withgoogle.com/events/jump-start-22/resources
9 Google Cloud Partner Top Engineer について https://cloud.google.com/blog/ja/topics/partners/partner-top-engineer-2023-award-winners
10 Google Cloud Partner Top Engineer を目指そう https://cloud.google.com/blog/ja/topics/partners/partner-top-engineer-2023-award-winners ※来年もあるかはわからないので 注意
11 話す内容 話す内容 • Cloud Run について • 第 2
世代について • CPU ブーストについて • Google Cloud の社内事情(オフレコ)
12 Cloud Run について
13 Cloud Run の概要 サーバーレスコンテナ実行環境 • コンテナを秒単位でデプロイできるフルマネージド のサーバーレスコンピューティングプラットフォー ム •
HTTPリクエストを受け取るとコンテナを起動して実 行し、リクエストが完了するとコンテナを停止する (起動数の設定による) • Cloud Functions のバックエンドにも採用されてい る
14 Cloud Run の事例 https://classmethod.jp/cases/zenn/
15 Cloud Run の事例 https://classmethod.jp/cases/zenn/
16 Zenn の Google Cloud Japan ブログ https://zenn.dev/p/google_cloud_jp
17 Cloud Run はどうやって使うの 簡単にデプロイ • Github と Cloud Build
を連携し、コンテナ イメージをビルド • ビルドしたコンテナイメージを Artifact Registry に配置 • コンテナイメージを指定してデプロイ
18 Cloud Run はどうやって使うの 簡単にデプロイ • Github と Cloud Build
を連携し、コンテナ イメージをビルド • ビルドしたコンテナイメージを Artifact Registry に配置 • コンテナイメージを指定してデプロイ
19 Cloud Run はどうやって使うの 簡単にデプロイ
20 Cloud Run のオプション 柔軟なオプション • 最小インスタンス数を調整することで、必要なと きに起動、スケールさせるような設定が柔軟にで きる •
AlwaysCPU などで常にCPUを割り当てることで、 起動時間を改善する
21 第 2 世代 について
22 Cloud Run 第 2 世代 Linux の完全互換性を実現 • ついにGA
• さまざまなパフォーマンス改善(CPU・ネットワーク) • サービスとジョブの使い分けることでアプリケーションにバリエー ションを持たせることが可能に • 最大起動時間増加 • Eventarc に対応しているサービスと連携
23 Cloud Run 第 2 世代 Cloud Run Jobs •
スクリプト、バッチなどのスケジュールジョブ向け • 1 Job = N Task / 1 Task = 1 Container Instance
24 Cloud Run 第 2 世代 Cloud Run Jobs の使い分け
• 1つの Task を実行 • 複数の Task を直列に実行 • 複数の Task を並列に実行
25 CPU ブースト について
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
27 CPUブースト Start up CPU boost (Preview) • Cloud Run
/ Cloud Functions 第二世代向け • コールドスタート時間を短縮し、より迅速にリクエストを処理でき るようになる • 詳しい挙動については調べきれてないです
28 CPUブースト 起動時のCPUブースト • 起動時により多くのCPUがコンテナに動的に割り当てられる • Java (SpringBoot / GraalVM)
でより大きな高速化がみられる
29 CPUブースト Cloud Run 第 2 世代 • コマンドライン or
コンソール画面から有効化 • Cloud Functions 第2 世代 • デフォルトで有効
30 CPUブースト CPUブーストなし CPUブーストあり • デフォルトで有効
31 検証記事 Start up CPU boost (Preview) • Cloud Run
/ Cloud Functions 第二世代向け • • 広い門の下には、この男のほかに誰もいない。 https://zenn.dev/cloud_ace/articles/bd95501cb0cd3f
32 Google Cloud の社内事情
33 Google Cloud について 問い合わせがはいってくるようになってきた • アライアンス統括部がリセールを担当 • 来期からは Google
Cloud のソリューションアーキテ クトの採用にも力を入れる • DA事業本部で BigQuery ガンガン利用している • DA事業本部でアプリ寄りの案件の相談もあり • CX事業本部では細々とやってますが、AWS やり尽 くした人の次の選択肢に是非候補に入れて欲しい
34
35 ここで一息
CX事業本部で使われている技術 2023/6/16 CX事業本部Delivery部サーバーサイドチーム 田中孝明
37 前提 CX事業本部で使われている技術についてお話しします • 日吉さんがしゃべった内容と重複するところもあります • ツッコミ、ガヤ大歓迎!
38 話す内容 話す内容 • AWS アーキテクチャ • 言語 • フレームワーク
/ ライブラリ • IaC • CI/CD • 認証認可 • プロジェクト管理、支援ツール • AI系サービス
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 を使っている案件もあるがレアケース
40 言語 • TypeScript の利用割合が多い ◦ CDK の影響から採用される傾向あり ◦ 次点で
JavaScript • Python、Golang、Java、Scala、Ruby も案件によって使われている • モバイルは Swift / Kotlin 、Flutter も採用実績あり • Rust を実証実験しているプロジェクトもある • 言語選定は慎重に行っています
41 フレームワーク / ライブラリ • フロントエンドは React が多い • Fastify
(TypeScript) • TypeORM (TypeScript) • モバイルの宣言的UIでは SwiftUI が採用されている ◦ 既存の UIKit と共存が多い ◦ Jetpack Compose は情報なし • Play! framework 2.8 (Scala) • Spring Boot
42 フレームワーク / ライブラリ • Unitテスト時のMock ◦ localstack ◦ moto
◦ dynalite ▪ jest-dynalite • vitest 用のプラグインを作ったメンバーも ◦ vitest-environment-dynalite
43 フレームワーク / ライブラリ
44 IaC • CDK (TypeScript) が大勢力 • Terraform (Google Cloudを利用している案件で多い)
• CloudFormation (AWS SAM) • 一部では Serverless framework も採用されている
45 CI/CD • GitHub Actions ◦ ほぼ主流 • CodePipeline •
GitLab Runner • CircleCI ◦ 新規で採用するのは減ってきている • Bitrise • Autify を採用していた案件もあり
46 認証認可 • Auth0 の採用実績が多い • LINEに関してはこの後、城岸さんがしゃ べってくれるはず・・・
47 プロジェクト管理、支援ツール • GitHub / Gitlab / Code Commit •
Zenhub • Trello / Pivotal tracker を使っているところも • Backlog • デザインは Figma が主流になりつつある • Notion / miro • スクラム開発
48 AIサービス • Github Copilot ◦ 一部の案件では採用に向けて顧客と調整中
49