Upgrade to Pro — share decks privately, control downloads, hide ads and more …

広告配信サーバーにおけるBlue Green Deploymentの導入事例について \ Sp...

yuma iwasaki
February 20, 2017

広告配信サーバーにおけるBlue Green Deploymentの導入事例について \ SpeeeCafeMeetup05

配信サーバーをBlue Green Deploymentでデプロイするようにしたので、その紹介

yuma iwasaki

February 20, 2017
Tweet

More Decks by yuma iwasaki

Other Decks in Technology

Transcript

  1. 広告配信サー バー における Blue Green Deployment の導入事例に ついて DC アドテク事業部UZOU

    エンジニア 岩崎 裕馬 (@suthio_) SpeeeKaigi / 2017-02-11 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について
  2. アジェンダ 以前の配信サー バー のデプロイ Blue Green Deployment とは 配信サー バー

    におけるBlue Green Deployment やってみた結果 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 3
  3. 配信サー バー 抱えていた課題 アプリケー ション上の問題により、Graceful Restart ができない ELB から切り離さないとデプロイが行えない ミドルウェアに対する変更にリスクがあり、

    怖くて躊躇してしまう 動作確認に時間がかかってしまう ミドルウェアアップデー トの際に切り戻しができない AWS インフラ変更作業が多く発生 インフラ構成変更に時間を多くを使ってしまっている Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 5
  4. 求める配信サー バー リリー ス作業を安全にできる アプリケー ションデプロイ ミドルウェアアップデー ト、 設定変更 AWS

    インフラの変更 ( インスタンスタイプ変更、EBS ディスク拡張等) 問題が発生しても対処が簡単に可能 リリー ス前に本番環境に近い状態でのテストが可能 不具合のあるアプリケー ションをデプロイしても すぐにロー ルバックが可能 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 11
  5. Blue Green Deployment Speee Cafe Meetup #5 ~ 広告配信サー バー

    におけるBlue Green Deployment の導入事例について 13
  6. Blue Green Deployment とは 動いている既存のサー バー とは別に、 まったく新しいサー バー 群を

    立ち上げて、 サー バー が立ち上がったらロー ドバランサー を切り替 えるという考え方 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 14
  7. Blue Green Deployment のメリット アプリケー ションだけでなくインフラも含めた動作確認ができる ユー ザ0に公開する前に、 本番環境となるサー バー

    で 最終的な動作確認テストができる 切り戻しが非常に容易 Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 15
  8. 配信サー バー のBlue Green Deployment の手順 Speee Cafe Meetup #5

    ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 17
  9. AWS だとどうやってBlue Green Deployment を 実現するか? DNS ベー スでの切り替え <-

    今回は話さない AutoScalingGroup( 以下ASG) を使用しての切り替え Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 18
  10. Blue Green Deployment 実行前 Speee Cafe Meetup #5 ~ 広告配信サー

    バー におけるBlue Green Deployment の導入事例について 21
  11. 1. プロビジョニング / デプロイ Speee Cafe Meetup #5 ~ 広告配信サー

    バー におけるBlue Green Deployment の導入事例について 22
  12. 2. AMI 作成 Speee Cafe Meetup #5 ~ 広告配信サー バー

    におけるBlue Green Deployment の導入事例について 23
  13. 3. LaunchCon g 作成 Speee Cafe Meetup #5 ~ 広告配信サー

    バー におけるBlue Green Deployment の導入事例について 24
  14. 4. LaunchCon g をASG に紐付け Speee Cafe Meetup #5 ~

    広告配信サー バー におけるBlue Green Deployment の導入事例について 25
  15. 5. Desired Capacity 変更 Speee Cafe Meetup #5 ~ 広告配信サー

    バー におけるBlue Green Deployment の導入事例について 26
  16. 6. Desired Capacity 変更後 Speee Cafe Meetup #5 ~ 広告配信サー

    バー におけるBlue Green Deployment の導入事例について 27
  17. 8. Standby のASG を紐付ける Speee Cafe Meetup #5 ~ 広告配信サー

    バー におけるBlue Green Deployment の導入事例について 29
  18. 9. Active のASG を切り離す Speee Cafe Meetup #5 ~ 広告配信サー

    バー におけるBlue Green Deployment の導入事例について 30
  19. 10. 切り離したASG のDesired Capacity を変更 Speee Cafe Meetup #5 ~

    広告配信サー バー におけるBlue Green Deployment の導入事例について 32
  20. やってみた結果 ログ欠損も特になく安全にデプロイできている( 負荷試験済) デプロイそんな遅くない(6 分~ 10 分) 問題が発生してもすぐに対処できるようになった インフラも含めての確認ができるので、 リリー

    スに対しての安心感が非常に高まった 結果、 攻めた開発ができるようになった そもそも前の状態が本当によくなかった Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 33
  21. 今後 現状だとスケー ルインが手動なので、 自動化する Code Deploy を使ってのBlue Green Deployment もやってみたい

    1/30 に出たばかりなのでまだ試してない 配信サー バー 以外のサー バー についても Blue Green Deployment でのDeploy に挑戦 そのために常に破棄されても大丈夫な状態の サー バー を作っていきたい ログをどこかに集約 サー バー 自体をステー トレスにする Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 35
  22. まとめ Blue Green Deployment をやった効果、 安全にデプロイする 以外の副次的な効果が非常に多かった 本質的には簡単にサー バー を捨てれることが非常に重要

    なにかあったら作り直せばいいという考えにしやすい そもそもステー トレスなサー バー にならざるを得ない 複雑なデプロイフロー を行ってる場合は前提を 疑ってみるのもいいかもしれない Speee Cafe Meetup #5 ~ 広告配信サー バー におけるBlue Green Deployment の導入事例について 36