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
GCP native cloud migration
Search
Ryosuke TAKASHIMA
December 03, 2020
Programming
550
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GCP native cloud migration
Ryosuke TAKASHIMA
December 03, 2020
More Decks by Ryosuke TAKASHIMA
See All by Ryosuke TAKASHIMA
Cloud migration of the essential service
rst76
1
630
About purely functional language
rst76
0
160
performance-tuning-of-the-microservice.pdf
rst76
0
1.6k
red-black-tree.pdf
rst76
0
95
Understanding Subtype in 5 Minutes
rst76
0
190
Fun of Types
rst76
0
66
Embedded Probabilistic Programming
rst76
0
390
Other Decks in Programming
See All in Programming
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
290
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
570
Vite+ Unified Toolchain for the Web
naokihaba
0
570
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
260
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
1
190
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
430
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
340
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
470
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
0
370
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
190
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7.2k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
A better future with KSS
kneath
240
18k
Git: the NoSQL Database
bkeepers
PRO
432
67k
A Tale of Four Properties
chriscoyier
163
24k
KATA
mclloyd
PRO
35
15k
The agentic SEO stack - context over prompts
schlessera
0
840
Ethics towards AI in product and experience design
skipperchong
2
320
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
180
Making the Leap to Tech Lead
cromwellryan
135
10k
WENDY [Excerpt]
tessaabrams
11
38k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
960
Transcript
GCP native なクラウド移行 〜 2000年創業エムスリーが挑む 大規模クラウド移行の舞台裏 #2 〜 2020/12/03 高島 亮祐
自己紹介 • 高島 亮祐(@rst76) • 2019/01- エムスリー 基盤開発チーム ◦ 認証やメール配信など共通サービスの開発運用
◦ 最近はクラウド移行がメイン • 最近学んだこと: メダカは秋でも卵を産む(狭い部屋がさらに狭く…)
エムスリーの標準的なクラウド移行 • Web サーバ、AP サーバは Fargate に • DB は
Aurora や RDS に • ALB、Route 53、S3、Cloud Watch、Lambda • 基本に忠実な構成
今回移行したサービス • ユーザーのアクティビティをトラッキング ◦ ページに埋め込まれた画像リンクからアクセス ◦ アクセスを記録 ◦ 実際の画像の URL
にリダイレクト ◦ 画像を取得 • アクセス増加に伴って性能問題の 一因となっており、クラウド化 • よし、GCP でサーバーレスだ トラッ キング コンテ ンツ ① ② ③ ④ ① ② ③ ④
GCP アーキテクチャ(旧) オンプレミス ブラウザ ロード バランサ Webサーバ apache アップ ローダ
(随時) ログ Webサーバ apache DB アップ ローダ (日次) アップ ローダ ログ BigQuery 他のサービスと共用で 相互に悪影響… 移行にともない この経路は廃止
アーキテクチャ(新) ブラウザ GCP Cloud Pub/Sub Cloud Dataflow BigQuery Cloud Run
(随時) (日次) 基本的な流れは単純 → ぜんぶ GCP でいけそう 既存の連携処理と並行稼働が 必要で構成が少し複雑に
Cloud Run • 役割はログ出力とリダイレクトなので nginx だけのコンテナ • Kubernetes の管理はしたくないので、フルマネージドを選択 •
Cloud Pub/Sub への連携はログ出力先を設定するだけ • とても楽だが注意点も ◦ 1 つのコンテナインスタンスが受信できるリクエストは最大 80 ◦ リクエスト数や連携するログ容量も従量課金 GCP Cloud Pub/Sub Cloud Dataflow BigQuery Cloud Run (随時) (日次)
Cloud Pub/Sub • 安定性のために導入 → 非常に安定して稼働しており安心 • at-least-once の仕様が問題になる場合は対応が必要だが、 今回は対応せず
GCP Cloud Pub/Sub Cloud Dataflow BigQuery Cloud Run (随時) (日次)
Cloud Dataflow • 単純なデータ連携なら Google の提供するテンプレートをそのまま 利用可能 ◦ 例:BigQuery のスキーマに則った
JSON が Cloud Pub/Sub にある • 今回はデータ加工のために実装する必要があった • データ連携という要求の単純さと比べると、実装は面倒 ◦ Google の提供するテンプレート(Pub/Sub Subscription to BigQuery)は複雑(Apache Beam、AutoValue など独特の技術) ◦ 実装しなくてすむよう事前にデータを加工しておく方がいいかも GCP Cloud Pub/Sub Cloud Dataflow BigQuery Cloud Run (随時) (日次)
BigQuery • BigQuery to BigQuery の連携に、Scheduled Query を利用 ◦ SQL
を定時起動するだけなので、管理は非常に容易 ◦ 通常のデータ連携では、あまり出番がないかも ◦ エムスリーでは、GCS / S3、既存の RDB、スプレッドシートなどの 外部データソースからデータを取り込むのにも使われている GCP Cloud Pub/Sub Cloud Dataflow BigQuery Cloud Run (随時) (日次)
料金 Cloud Run の CPU (同時実行設定に誤り…) Cloud Run の リクエスト数
ログ容量 Cloud Dataflow の CPU フロントエンド(Cloud Run の部分)を AWS にした類似サービスも
まとめ • GCP でも問題なくクラウド移行できた • 細かい制約に注意が必要 ◦ Cloud Run はリクエスト数に対して従量課金
◦ Cloud Run の同時接続数 ◦ Cloud Dataflow の実装要否 • 基盤開発チームはメンバを募集中です! (12/16 に採用説明会を予定)