Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
6.9k
「Laravel Novaの適切な使い方を考えてみる」 / laravel meetup tokyo vol 11
suthio
1
2k
バッチをGoにリプレイスして高速化した話 / GoGoGolangEdition!
suthio
2
28k
本当は怖くない AWS Lambda / speee_cafe_meetup06
suthio
2
840
初めての本当の意味でのチーム開発 / pmjp 2016-12-03
suthio
4
1.8k
AWSインフラ構築ツールとしてのTerraform / SpeeeKaigi
suthio
1
2.2k
広告配信サーバーの設計について / Speee Engineer Meeting 2016-06-22
suthio
5
2.7k
しくじり先生 アドネットワーク開発でしくじった話 / yapc8oji
suthio
2
2k
Other Decks in Technology
See All in Technology
ウェルネス SaaS × AI、1,000万ユーザーを支える 業界特化 AI プロダクト開発への道のり
hacomono
PRO
0
350
AI with TiDD
shiraji
1
130
MLflowダイエット大作戦
lycorptech_jp
PRO
1
160
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
580
AWS運用を効率化する!AWS Organizationsを軸にした一元管理の実践/nikkei-tech-talk-202512
nikkei_engineer_recruiting
0
160
Fashion×AI「似合う」を届けるためのWEARのAI戦略
zozotech
PRO
2
1.1k
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
1.8k
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
3
230
AI との良い付き合い方を僕らは誰も知らない
asei
0
210
特別捜査官等研修会
nomizone
0
520
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
1
350
AI駆動開発の実践とその未来
eltociear
1
460
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
0
90
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
240
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Balancing Empowerment & Direction
lara
5
810
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
64
35k
How to build a perfect <img>
jonoalderson
0
4.6k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
110
Evolving SEO for Evolving Search Engines
ryanjones
0
72
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
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