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
210
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
他責思考で考える、EMとICの本音
tokku5552
1
140
高スループット・低レイテンシを実現する技術
tokku5552
3
15k
AWS CDKのススメ
tokku5552
1
510
Messaging APIのメッセージオブジェクトを検証できるChrome拡張機能を作った話
tokku5552
1
130
FlutterにLINEログインを仕込んで通知メッセージを送る
tokku5552
2
980
AWS CDK × Reactでliffをつくる
tokku5552
1
550
Flutterで単体テストを行う方法とGitHub Actionsを使った自動化
tokku5552
1
100
ネットワーク基礎 - WEBページが表示されるまで
tokku5552
1
280
インフラエンジニアのお仕事(オンプレ)
tokku5552
0
150
Other Decks in Programming
See All in Programming
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
120
CSC509 Lecture 13
javiergs
PRO
0
240
What's New in Web AI?
christianliebel
PRO
0
120
エンジニアに事業やプロダクトを理解してもらうためにやってること
murabayashi
0
140
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
100
AIのバカさ加減に怒る前にやっておくこと
blueeventhorizon
0
160
業務でAIを使いたい話
hnw
0
260
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
300
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
18
5.6k
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
0
210
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
270
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
3
380
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Typedesign – Prime Four
hannesfritz
42
2.9k
Why Our Code Smells
bkeepers
PRO
340
57k
Facilitating Awesome Meetings
lara
57
6.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
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など主要スタンドで配信中!