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
広告配信サーバーにおけるBlue Green Deploymentの導入事例について \ Sp...
Search
yuma iwasaki
February 20, 2017
Technology
3
1.9k
広告配信サーバーにおけるBlue Green Deploymentの導入事例について \ SpeeeCafeMeetup05
配信サーバーをBlue Green Deploymentでデプロイするようにしたので、その紹介
yuma iwasaki
February 20, 2017
Tweet
Share
More Decks by yuma iwasaki
See All by yuma iwasaki
僕のキャリアとワインと鍋 / daikichijojipm
suthio
9
7k
「Laravel Novaの適切な使い方を考えてみる」 / laravel meetup tokyo vol 11
suthio
1
2k
バッチをGoにリプレイスして高速化した話 / GoGoGolangEdition!
suthio
2
28k
本当は怖くない AWS Lambda / speee_cafe_meetup06
suthio
2
850
初めての本当の意味でのチーム開発 / pmjp 2016-12-03
suthio
4
1.8k
AWSインフラ構築ツールとしてのTerraform / SpeeeKaigi
suthio
1
2.3k
広告配信サーバーの設計について / Speee Engineer Meeting 2016-06-22
suthio
5
2.7k
しくじり先生 アドネットワーク開発でしくじった話 / yapc8oji
suthio
2
2.1k
Other Decks in Technology
See All in Technology
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
190
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
180
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
840
あの夜、私たちは「人間」に戻った。 ── 災害ユートピア、贈与、そしてアジャイルの再構築 / 20260108 Hiromitsu Akiba
shift_evolve
PRO
0
510
1万人を変え日本を変える!!多層構造型ふりかえりの大規模組織変革 / 20260108 Kazuki Mori
shift_evolve
PRO
6
1.1k
I tried making a solo advent calendar!
zzzzico
0
140
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
740
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
170
Java 25に至る道
skrb
3
190
次世代AIコーディング:OpenAI Codex の最新動向 進行スライド/nikkei-tech-talk-40
nikkei_engineer_recruiting
0
110
AWSと生成AIで学ぶ!実行計画の読み解き方とSQLチューニングの実践
yakumo
2
320
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
47
Test your architecture with Archunit
thirion
1
2.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Prompt Engineering for Job Search
mfonobong
0
140
Agile that works and the tools we love
rasmusluckow
331
21k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
410
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
180
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.5k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Transcript
広告配信サー バー における Blue Green Deployment の導入事例に ついて DC アドテク事業部UZOU
エンジニア 岩崎 裕馬 (@suthio_) SpeeeKaigi / 2017-02-11 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について
自己紹介 岩崎裕馬(@suthio_) 株式会社Speee でネイティブアドの広告システム作ってます 2
アジェンダ 以前の配信サー バー のデプロイ Blue Green Deployment とは 配信サー バー
におけるBlue Green Deployment やってみた結果 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 3
広告システムの配信サー バー 広告システムの配信サー バー は止まらないことが前提 広告はメディアの収益源 -> 止まったらその分補填する Speee Cafe
Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 4
配信サー バー 抱えていた課題 アプリケー ション上の問題により、Graceful Restart ができない ELB から切り離さないとデプロイが行えない ミドルウェアに対する変更にリスクがあり、
怖くて躊躇してしまう 動作確認に時間がかかってしまう ミドルウェアアップデー トの際に切り戻しができない AWS インフラ変更作業が多く発生 インフラ構成変更に時間を多くを使ってしまっている Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 5
Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment
の導入事例について 6
1 台ずつELB からインスタンスを切り離す Speee Cafe Meetup #5 ~ 広告配信サー バー
におけるBlue Green Deployment の導入事例について 7
Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment
の導入事例について 8
Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment
の導入事例について 9
なにが問題か デプロイ時は配信サー バー が1 台少ない状態で動いている デプロイが不安定 インフラの構成変更の際に手動などで同様の対応を行う必要があ る。 Speee Cafe
Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 10
求める配信サー バー リリー ス作業を安全にできる アプリケー ションデプロイ ミドルウェアアップデー ト、 設定変更 AWS
インフラの変更 ( インスタンスタイプ変更、EBS ディスク拡張等) 問題が発生しても対処が簡単に可能 リリー ス前に本番環境に近い状態でのテストが可能 不具合のあるアプリケー ションをデプロイしても すぐにロー ルバックが可能 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 11
守るところは守って、 攻めた開発がしたい! Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue
Green Deployment の導入事例について 12
Blue Green Deployment Speee Cafe Meetup #5 ~ 広告配信サー バー
におけるBlue Green Deployment の導入事例について 13
Blue Green Deployment とは 動いている既存のサー バー とは別に、 まったく新しいサー バー 群を
立ち上げて、 サー バー が立ち上がったらロー ドバランサー を切り替 えるという考え方 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 14
Blue Green Deployment のメリット アプリケー ションだけでなくインフラも含めた動作確認ができる ユー ザ0に公開する前に、 本番環境となるサー バー
で 最終的な動作確認テストができる 切り戻しが非常に容易 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 15
Blue Green Deployment のデメリット リリー スまでの手順が煩雑になる デプロイに時間がかかる インフラコストが少しかさむ 一時的に2 倍のインフラコストがかかる
Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 16
配信サー バー のBlue Green Deployment の手順 Speee Cafe Meetup #5
~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 17
AWS だとどうやってBlue Green Deployment を 実現するか? DNS ベー スでの切り替え <-
今回は話さない AutoScalingGroup( 以下ASG) を使用しての切り替え Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 18
Before Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green
Deployment の導入事例について 19
After Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green
Deployment の導入事例について 20
Blue Green Deployment 実行前 Speee Cafe Meetup #5 ~ 広告配信サー
バー におけるBlue Green Deployment の導入事例について 21
1. プロビジョニング / デプロイ Speee Cafe Meetup #5 ~ 広告配信サー
バー におけるBlue Green Deployment の導入事例について 22
2. AMI 作成 Speee Cafe Meetup #5 ~ 広告配信サー バー
におけるBlue Green Deployment の導入事例について 23
3. LaunchCon g 作成 Speee Cafe Meetup #5 ~ 広告配信サー
バー におけるBlue Green Deployment の導入事例について 24
4. LaunchCon g をASG に紐付け Speee Cafe Meetup #5 ~
広告配信サー バー におけるBlue Green Deployment の導入事例について 25
5. Desired Capacity 変更 Speee Cafe Meetup #5 ~ 広告配信サー
バー におけるBlue Green Deployment の導入事例について 26
6. Desired Capacity 変更後 Speee Cafe Meetup #5 ~ 広告配信サー
バー におけるBlue Green Deployment の導入事例について 27
7. 切り替え前の状態 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue
Green Deployment の導入事例について 28
8. Standby のASG を紐付ける Speee Cafe Meetup #5 ~ 広告配信サー
バー におけるBlue Green Deployment の導入事例について 29
9. Active のASG を切り離す Speee Cafe Meetup #5 ~ 広告配信サー
バー におけるBlue Green Deployment の導入事例について 30
10. タグのUpdate Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue
Green Deployment の導入事例について 31
10. 切り離したASG のDesired Capacity を変更 Speee Cafe Meetup #5 ~
広告配信サー バー におけるBlue Green Deployment の導入事例について 32
やってみた結果 ログ欠損も特になく安全にデプロイできている( 負荷試験済) デプロイそんな遅くない(6 分~ 10 分) 問題が発生してもすぐに対処できるようになった インフラも含めての確認ができるので、 リリー
スに対しての安心感が非常に高まった 結果、 攻めた開発ができるようになった そもそも前の状態が本当によくなかった Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 33
課題 現状だとデプロイすると内部のGolang のキャッシュが消えてしまう 元々 ヒット率高くなかったので問題なかった スケー ルインする時にログデー タ消失のリスクがある 自動で安全にスケー ルインする仕組みになってない
Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 34
今後 現状だとスケー ルインが手動なので、 自動化する Code Deploy を使ってのBlue Green Deployment もやってみたい
1/30 に出たばかりなのでまだ試してない 配信サー バー 以外のサー バー についても Blue Green Deployment でのDeploy に挑戦 そのために常に破棄されても大丈夫な状態の サー バー を作っていきたい ログをどこかに集約 サー バー 自体をステー トレスにする Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 35
まとめ Blue Green Deployment をやった効果、 安全にデプロイする 以外の副次的な効果が非常に多かった 本質的には簡単にサー バー を捨てれることが非常に重要
なにかあったら作り直せばいいという考えにしやすい そもそもステー トレスなサー バー にならざるを得ない 複雑なデプロイフロー を行ってる場合は前提を 疑ってみるのもいいかもしれない Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 36