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
LeSSに潜む「隠れWF病」とその処方箋
lycorptech_jp
PRO
2
120
よくわからんサービスについての問い合わせが来たときの強い味方 Amazon Q について
kazzpapa3
0
220
フルカイテン株式会社 採用資料
fullkaiten
0
36k
AWS re:Inventを徹底的に楽しむためのTips / Tips for thoroughly enjoying AWS re:Invent
yuj1osm
1
570
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
270
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
160
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
290k
一休.comレストランにおけるRustの活用
kymmt90
3
580
10分でわかるfreeeのQA
freee
1
3.4k
visionOSでの空間表現実装とImmersive Video表示について / ai-immersive-visionos
cyberagentdevelopers
PRO
1
110
AIを駆使したゲーム開発戦略: 新設AI組織の取り組み / sge-ai-strategy
cyberagentdevelopers
PRO
1
130
国土交通省 データコンペ参加者向け勉強会
takehikohashimoto
0
110
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
290
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Automating Front-end Workflow
addyosmani
1365
200k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
Visualization
eitanlees
144
15k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Optimising Largest Contentful Paint
csswizardry
33
2.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