インフラ・クラウド・DevOps · 上級
デプロイ戦略:ブルーグリーン、カナリア、段階的
一行でいうと: 良いデプロイは出ていく速さではなく、素早くロールバックする能力で測られる。
三つの方法
ブルーグリーン。二つの同一の環境;一方からもう一方にトラフィックを移動し、逆の移動でロールバックする。シンプルで、しばらく二倍のリソースが必要。
カナリア。新しいバージョンへのトラフィックの小さな割合、指標による拡大。最も安全で、良い監視が必要。
ローリング。インスタンスを段階的に置き換える。一般的なデフォルトだが、中間期間は二つのバージョンを一緒に実行する——これは互換性が必要だ。
前提条件
依存関係をチェックし、プロセスが生きているだけでなく確認する本当のヘルスチェック;後方互換性のあるスキーマ;アクティベーションからデカップルされたデプロイ——スイッチでオンにするとコードをオフにしてリリースする。
事前にロールバックをトリガーするものを定義する
自動ロールバックをトリガーするエラー閾値、応答時間、成功率。インシデント中の決定は常に穏やかな朝に書かれたものより悪い。
さらに深く
すべてが順調なときにロールバックを練習する、少なくとも四半期に一度。一度も行使されないメカニズムは必要なときにちょうど失敗し、通常は小さな詳細によって——権限、スキーマバージョン、クリアされなかったキャッシュ。