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
オンプレからクラウドへ移行するための頑張らないアーキテクチャ
Search
yabako kobayashi
January 31, 2025
Technology
0
94
オンプレからクラウドへ移行するための頑張らないアーキテクチャ
吉祥寺.pm37
LT枠
https://kichijojipm.connpass.com/event/339040/
yabako kobayashi
January 31, 2025
Tweet
Share
More Decks by yabako kobayashi
See All by yabako kobayashi
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
2
760
Other Decks in Technology
See All in Technology
マルチアカウント環境における組織ポリシーについて まとめてみる
nrinetcom
PRO
2
110
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
550
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
380
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
開発者のための FinOps/FinOps for Engineers
oracle4engineer
PRO
2
260
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
240
“常に進化する”開発現場へ! SHIFTが語るアジャイルQAの未来/20250306 Yuma Murase
shift_evolve
0
100
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
エンジニアの健康管理術 / Engineer Health Management Techniques
y_sone
4
730
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
1.1k
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
困難を「一般解」で解く
fujiwara3
8
2.3k
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
For a Future-Friendly Web
brad_frost
176
9.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Unsuck your backbone
ammeep
669
57k
Adopting Sorbet at Scale
ufuk
75
9.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Transcript
オンプレからクラウドへ移行するた めの頑張らないアーキテクチャ @yabakokobayashi 1
自己紹介 小林将太(@yabakobayashi) ▪ アフィリエイトのシステム全般開発 ▪ オンプレとクラウドをいったりきたり ▪ PHPとGoをいったりきたり 2
クラウド移行で障害なる要因は何があるか? 3
1. 現行システムの理解 2. コストの見積もり 3. データ移行 4. セキュリティとコンプライアンス 5. 非互換性
6. クラウドネイティブな設計の適応 7. 運用体制 4
1. 現行システムの理解 2. コストの見積もり 3. データ移行 4. セキュリティとコンプライアンス 5. 非互換性
6. クラウドネイティブな設計の適応 7. 運用体制 5
社内セキュリティへの 適合 マネージドDBのコスト ダウンタイムなどの考慮 そもそも売上に直結しないの で優先度低い・・・ 6
オンプレのままでもいいか ... 7
りょ (クラウド移行は後回しやな) あれもこれもやってね 前まで 8
(インフラ老朽化や、各システムの構成を拡 張したりで手一杯) (なんか開発遅いような ) 数年後 9
せめてkubernetes環境を作る? オンプレで・・・ 経験もなしに大規模を・・・・・・ 無理!! いまから勉強して!? 出来る!? 否 死 10
クラウド移行に向き合わなきゃ 11
12 オンプレDBどうしよう・・・ Cloud Interconnect使えるようになりました ※オンプレとGoogle ネットワークの間の物理的な直接接続してくれるすごいやつ!
それなら(頑張らず)いける 13
移行対象を考える アプリケーション データベース バッチ そもそもこいつら全部をクラウド化しようとするからややこしくなる 14
頑張って移行するところ /しないところ 1. 頑張って移行 a. 負荷が大きく変動し、スケーラビリティが重要なもの i. ユーザ画面、キャンペーン b. 負荷が集中する時間が決まっているもの
i. 定期的なバッチ処理 2. 頑張ると辛いので今回は見送り a. 実行時間が長いもの i. 大量のデータ分析処理 b. 複雑性が高いもの i. 実行に順序性がある処理、データベース c. エンドユーザが参照しないもの i. 社内管理画面 15
Cloud Load Balancing • パスルールでオンプレとクラウドを振り分け • オンプレでIP制限している場合は、GCPのIPを許可する 必要あり 16
移行はDNSで切り替えるだけなので難しいことは一切なし! 17
工数や影響を考慮して段階的なリプレイスを採用 • ユーザーの画面を対象 ◦ 全ての画面を一気にリプレイスせず、変更後の 影響範囲を狭める • フロントとバックエンドは分離 ◦ 既存は密結合している
◦ 規模やを鑑みると、分離してスケーラビリティや 変更影響を限定的にしたい • DBはオンプレミスをそのまま使用 ◦ 個人情報が保存されており、クラウド移行に大 きな課題がある 18
クラウド移行してみて 1. 急な負荷によるサーバ保守対応が少なくなった a. バッチが止まってたりね ... 2. モニタリングが改善された a. オンプレ時は各サーバの構築時期によって整理されてなかった
3. 移行による障害が起きても部分的だったので、致命傷ですんだ 4. コストは安くなった部分と高くなった部分がある a. アプリケーション実行環境はサーバレスになって安くなった b. 通信が鬼高い i. 特にオンプレとの通信につかっている Dedicated Interconnect DBも移行すればい いのに・・・ 19
オンプレの 重さ感じて 雲恋し 20
ありがとうございました 21