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.7k
広告配信サーバーにおける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
8
5.3k
「Laravel Novaの適切な使い方を考えてみる」 / laravel meetup tokyo vol 11
suthio
0
1.8k
バッチをGoにリプレイスして高速化した話 / GoGoGolangEdition!
suthio
2
28k
本当は怖くない AWS Lambda / speee_cafe_meetup06
suthio
2
780
初めての本当の意味でのチーム開発 / pmjp 2016-12-03
suthio
4
1.7k
AWSインフラ構築ツールとしてのTerraform / SpeeeKaigi
suthio
1
2.1k
広告配信サーバーの設計について / Speee Engineer Meeting 2016-06-22
suthio
5
2.6k
しくじり先生 アドネットワーク開発でしくじった話 / yapc8oji
suthio
2
2k
Other Decks in Technology
See All in Technology
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
200
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
580
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
250
分解して理解する Aspire
nenonaninu
1
110
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
800
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
980
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
現場で役立つAPIデザイン
nagix
33
12k
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
710
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.3k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
91
5.8k
4 Signs Your Business is Dying
shpigford
182
22k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Thoughts on Productivity
jonyablonski
69
4.5k
The Cult of Friendly URLs
andyhume
78
6.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
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