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
250
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
Zenn のウラガワ ~エンジニアのアウトプットを支える環境で Google Cloud が採用されているワケ~ #burikaigi #burikaigi_h
kongmingstrap
20
7.5k
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
190
製造の課題に立ち向かう Manufacturing Data Engine と Manufacturing Connect の ご紹介
kongmingstrap
0
760
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
650
JAWS-UG 福岡 #16 re:Invent 現地に行った人のお話 #jawsugfuk #jawsug
kongmingstrap
0
540
AppMod の開発のイマを知るために現地に潜入した私が見たものは・・・? #GoogleCloudNext
kongmingstrap
0
590
Kong Gateway から読みとく、 API統合・API連携サービスの最新情報 #devio2023
kongmingstrap
0
1.7k
AWS / Google Cloud / Azure それぞれの推しサービス.pdf
kongmingstrap
1
1.4k
CPUブーストの話
kongmingstrap
0
77
Other Decks in Technology
See All in Technology
The Future of SEO: The Impact of AI on Search
badams
0
190
Classmethod AI Talks(CATs) #16 司会進行スライド(2025.02.12) / classmethod-ai-talks-aka-cats_moderator-slides_vol16_2025-02-12
shinyaa31
0
100
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
930
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.1k
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.6k
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
160
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.6k
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
540
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
400
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Building Your Own Lightsaber
phodgson
104
6.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
Raft: Consensus for Rubyists
vanstee
137
6.8k
Embracing the Ebb and Flow
colly
84
4.6k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
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