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
Google CloudとAWSのコンテナ実行環境比較
Search
tokku5552
February 22, 2024
Programming
0
170
Google CloudとAWSのコンテナ実行環境比較
Google CloudとAWSのコンテナ実行環境比較
2023/2/22 【Google Cloud】GDG Tokyo Monthly Online Tech Talksにて登壇
tokku5552
February 22, 2024
Tweet
Share
More Decks by tokku5552
See All by tokku5552
高スループット・低レイテンシを実現する技術
tokku5552
3
9.9k
AWS CDKのススメ
tokku5552
1
470
Messaging APIのメッセージオブジェクトを検証できるChrome拡張機能を作った話
tokku5552
1
120
FlutterにLINEログインを仕込んで通知メッセージを送る
tokku5552
2
910
AWS CDK × Reactでliffをつくる
tokku5552
1
510
Flutterで単体テストを行う方法とGitHub Actionsを使った自動化
tokku5552
1
84
ネットワーク基礎 - WEBページが表示されるまで
tokku5552
1
230
インフラエンジニアのお仕事(オンプレ)
tokku5552
0
130
hooks riverpod + state notifier + freezed でのドメイン駆動設計
tokku5552
0
360
Other Decks in Programming
See All in Programming
Grafana Cloudとソラカメ
devoc
0
140
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
730
sappoRo.R #12 初心者セッション
kosugitti
0
230
テストをしないQAエンジニアは何をしているか?
nealle
0
130
2024年のWebフロントエンドのふりかえりと2025年
sakito
1
230
AWS Lambda functions with C# 用の Dev Container Template を作ってみた件
mappie_kochi
0
240
AHC041解説
terryu16
0
590
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
660
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
130
CI改善もDatadogとともに
taumu
0
110
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
360
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
5
3.8k
Featured
See All Featured
Speed Design
sergeychernyshev
25
780
KATA
mclloyd
29
14k
Automating Front-end Workflow
addyosmani
1367
200k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Adopting Sorbet at Scale
ufuk
74
9.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Optimizing for Happiness
mojombo
376
70k
Bash Introduction
62gerente
610
210k
Building an army of robots
kneath
302
45k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Transcript
Google CloudとAWSの コンテナ実行環境比較 【Google Cloud】GDG Tokyo Monthly Online Tech Talks
2024/2/22 徳田真之介
自己紹介 徳田真之介 (とっく - @tokkuu) • 株式会社 Cyber Agent ◦
AI事業本部 • 好きな技術 ◦ TypeScript/Go/App Runner/Cloud Run ◦ Flutter/Firebase • 趣味など ◦ 3歳の娘のパパ ◦ ポーカー(超初心者) 2
はじめに
はじめに • AWS -> Google Cloudへの載せ替えを検討する際に整理した内容 ◦ 比較する単位の合わせ方や観点は主観で選んでます • 開発段階なので、実際運用してみた知見は含まれません
• アプリケーションエンジニア(バックエンドメイン)のみのチームで運用するという観点 なので、専属のSREやプラットフォームエンジニアが居る場合は結論が異なると思 います • zennの記事「Amazon ECSとApp RunnerとCloud runの比較」 https://zenn.dev/tokku5552/articles/diff-aws-google-cloud
背景 • AWSで構築していた広告配信シ ステム(DSP)をGoogle Cloudで構 築している。 • まだリリース前なので運用した所 感などはないが、開発段階での 気付きなどをシェア。
5 https://speakerdeck.com/tokku5552/gao-surupututodi-reitensiwoshi-xian-suruji-shu
Real Time Biddingの流れ 6 SSP ユーザー DSP ①インプレッション ②リクエスト AD
• ユーザーが広告を表示しようとしていることをSSPが検 知。 • SSPはDSP(複数)に対してリクエストを行う。
Real Time Biddingの流れ 7 SSP ユーザー 広告主 キャンペーン1 キャンペーン2 キャンペーン3
DSP ①インプレッション ②リクエスト ③入札(内部) ¥100 ¥120 ¥90 AD AD AD AD • DSPに予め登録しておいた広告の候補を内部で精査し て、いくらで入札するかを決定。(インナーオークション)
Real Time Biddingの流れ 8 SSP ユーザー 広告主 キャンペーン1 キャンペーン2 キャンペーン3
DSP ①インプレッション ②リクエスト ③入札(内部) ④入札(外部) ¥100 ¥120 ¥90 ¥120 AD AD AD AD AD • SSPに対して入札額と広告の情報を返却
Real Time Biddingの流れ 9 SSP ユーザー 広告主 キャンペーン1 キャンペーン2 キャンペーン3
DSP ①インプレッション ②リクエスト ③入札(内部) ④入札(外部) ⑤落札 DSP(A社) ¥100 ¥120 ¥90 ¥120 ¥110 AD AD AD AD AD AD • 他のDSPと比べて一番高い額で落札
Real Time Biddingの流れ 10 SSP ユーザー 広告主 キャンペーン1 キャンペーン2 キャンペーン3
DSP ①インプレッション ②リクエスト ③入札(内部) ④入札(外部) ⑥掲載 ⑤落札 DSP(A社) ¥100 ¥120 ¥90 ¥120 ¥110 AD AD AD AD AD AD
Real Time Biddingの流れ 11 SSP 秒間 数十万リクエスト に対して 50ms でレスポンス
ユーザー 広告主 キャンペーン1 キャンペーン2 キャンペーン3 DSP ①インプレッション ②リクエスト ③入札(内部) ④入札(外部) ⑥掲載 ⑤落札 DSP(A社) ¥100 ¥120 ¥90 ¥120 ¥110 AD AD AD AD AD AD
12 AWSでの構成
チーム体制 • プロダクト立ち上げというのもあり 実際に手を動かしているエンジニ アは3名 • FE・BE・SREなどのポジションはな く、全員全部やるスタイル (一応みんなBEがメイン) •
EKSやGKEなどのKubernetes サービスは除外 13 エンジニア 3名 PM・Biz
比較
Amazon ECS (on Fargate) • Amazon ECSはフルマネージドの コンテナオーケストレーションサービス • 稼働する場所(キャパシティ)をEC2か
Fargateか選べる。 • AWS Fargateはサーバーレスのコンテナ実行 環境。 15
App Runner • AWSが提供するフルマネージドの コンテナアプリケーションサービス • ECSよりも管理すべき部分が少なく、GitHubのリ ポジトリもしくはECRなどのイメージリポジトリと接 続して、CD環境が勝手に作られる。 •
カスタムドメインやHTTPSリダイレクト、Secret Manager、WAFもサポート (最近) • DSPシステムに採用できるほどではないが、 Cloud Runに近いので比較 16
Cloud Run • Google Cloudが提供するフルマネージドなコ ンテナ実行環境 • 対応している言語であればDockerfileなしで もデプロイ可能 •
コールドスタートが可能 17
18 サービス 最大vCPU 最大メモリ スケーリング上限 ECS on Fargate 16vCPU 120GB
5000(サービスあたりのタスク 数) App Runner 4vCPU 12GB 25 Cloud Run 8vCPU 32GB 1000(CPUやメモリによって変 動) 設定できるリソースとスケーラビリティ • App RunnerはDSPというワークロードには向いていなさそう • 元のシステムでの稼働実績としてはCloud Runで賄える
19 サービス 料金 1ヶ月あたりの料金目安 (1vCPU/1GBと仮定) 備考 AWS Fargate(ECS) Linux/ARM・東京リージョン vCPU当たり0.04045USD/h
メモリ1GBあたり0.00442USD/h 32.3064 USD App RunnerやCloud Runと 同じ構成にするには他のリ ソースが必須(ALBとか) App Runner アジアパシフィック (東京) リージョン 料金は 0.009 USD/GB 時および 0.081 USD/vCPU 時 64.8 USD 常時アクティブな場合の料 金 Cloud Run $0.00001800 / vCPU 秒 $0.00000200 / GiB 秒 51.84 USD 無料枠あり 料金による比較 • 実際の課金額はカタログスペックと逆転することもありそう
その他のポイント • App Runnerはimage uriにlatestタグを指定 しておくと、latestのイメージを更新するだけ で勝手にデプロイが走ってくれる • Cloud Buildの使い勝手が良い(主観)
• ECS、Cloud Runはサイドカーに対応している (App Runnerだけしてない...) 20
Cloud Runのメリット・デメリット(主観) • App RunnerとCloud Runはインフラ側の管理コストが かなり低く感じる • 管理コストに対して対応できるワークロードの幅が良 い(広く対応できる)
• Cloud Build使いやすい ◦ モノレポでも使えそう。 Code Pipeline系はモノレポだと厳し かった。 21 • VPCとの接続が分かりづらい • FireLens的なの欲しい メリット デメリット
Podcastやってます! https://podcasters.spotify.com/pod/show/5rh9uag8ah エンジニアがもがくラジオ エンジニアのキャリアなどについて雑談している Podcastです Spotify/Apple Podcast/Google Podcast/Amazon Musicなど主要スタンドで配信中!