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
200
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
590
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
580
JAWS-UG 福岡 #16 re:Invent 現地に行った人のお話 #jawsugfuk #jawsug
kongmingstrap
0
480
AppMod の開発のイマを知るために現地に潜入した私が見たものは・・・? #GoogleCloudNext
kongmingstrap
0
530
Kong Gateway から読みとく、 API統合・API連携サービスの最新情報 #devio2023
kongmingstrap
0
1.5k
AWS / Google Cloud / Azure それぞれの推しサービス.pdf
kongmingstrap
0
1.3k
CPUブーストの話
kongmingstrap
0
45
私のAWS愛を聞け! ~ここが好きだよStep Functions~ #devio2022
kongmingstrap
0
1.1k
Cloud Run が作る世界 #devio2022
kongmingstrap
0
2.3k
Other Decks in Technology
See All in Technology
バクラクにおける可観測性向上の取り組み
yuu26
3
420
新卒1年目が挑む!生成AI × マルチエージェントで実現する次世代オンボーディング / operation-ai-onboarding
cyberagentdevelopers
PRO
1
170
事業者間調整の行間を読む 調整の具体事例
sugiim
0
1.5k
小規模に始めるデータメッシュとデータガバナンスの実践
kimujun
3
590
ガバメントクラウド先行事業中間報告を読み解く
sugiim
1
1.4k
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
430
Forget efficiency – Become more productive without the stress
ufried
0
140
Autify Company Deck
autifyhq
1
39k
AWS re:Inventを徹底的に楽しむためのTips / Tips for thoroughly enjoying AWS re:Invent
yuj1osm
1
570
フルカイテン株式会社 採用資料
fullkaiten
0
36k
Automated Promptingを目指すその前に / Before we can aim for Automated Prompting
rkaga
0
110
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
43
13k
Become a Pro
speakerdeck
PRO
24
5k
Agile that works and the tools we love
rasmusluckow
327
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Designing for humans not robots
tammielis
249
25k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Documentation Writing (for coders)
carmenintech
65
4.4k
Happy Clients
brianwarren
97
6.7k
Making Projects Easy
brettharned
115
5.9k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
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