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.6k
広告配信サーバーにおける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
7
4.5k
「Laravel Novaの適切な使い方を考えてみる」 / laravel meetup tokyo vol 11
suthio
0
1.6k
バッチをGoにリプレイスして高速化した話 / GoGoGolangEdition!
suthio
2
28k
本当は怖くない AWS Lambda / speee_cafe_meetup06
suthio
2
750
初めての本当の意味でのチーム開発 / pmjp 2016-12-03
suthio
4
1.6k
AWSインフラ構築ツールとしてのTerraform / SpeeeKaigi
suthio
1
2.1k
広告配信サーバーの設計について / Speee Engineer Meeting 2016-06-22
suthio
4
2.5k
しくじり先生 アドネットワーク開発でしくじった話 / yapc8oji
suthio
2
1.9k
Other Decks in Technology
See All in Technology
四国クラウドお遍路 2024 in 高知 エンディング
yukataoka
0
200
20240911_New_Relicダッシュボード活用例
speakerdeckfk
0
100
OR学会2024秋_短期収益と将来のオフ方策評価性能を考慮したクーポン割当方策混合比の決定
recruitengineers
PRO
4
460
Fediverse Discovery Providers overview
andypiper
0
160
Road to Single Activity
yurihondo
1
230
LINEヤフーのフロントエンド組織・体制の紹介
lycorp_recruit_jp
1
1.2k
ネットワークだけ隔離されたコンテナ作成デモ / Kichijoji.pm36
tenforward
1
210
20240912 JJUGナイトセミナー
mii1004
0
140
Jetpack Compose Modifier 徹底解説 / Jetpack Compose Modifier
wiroha
0
180
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
330
再考 アクターモデル/ reconsider actor model
ytake
0
310
Agile in Automotive Industry, puzzles and lights.
hiranabe
3
1.3k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
Scaling GitHub
holman
458
140k
Designing for humans not robots
tammielis
248
25k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
326
21k
Building Adaptive Systems
keathley
36
2.1k
Navigating Team Friction
lara
183
13k
Unsuck your backbone
ammeep
667
57k
Agile that works and the tools we love
rasmusluckow
327
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
Infographics Made Easy
chrislema
239
18k
Six Lessons from altMBA
skipperchong
26
3.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