インフラ・クラウド・DevOps · 上級

デプロイ戦略:ブルーグリーン、カナリア、段階的

一行でいうと: 良いデプロイは出ていく速さではなく、素早くロールバックする能力で測られる。

三つの方法

ブルーグリーン。二つの同一の環境;一方からもう一方にトラフィックを移動し、逆の移動でロールバックする。シンプルで、しばらく二倍のリソースが必要。

カナリア。新しいバージョンへのトラフィックの小さな割合、指標による拡大。最も安全で、良い監視が必要。

ローリング。インスタンスを段階的に置き換える。一般的なデフォルトだが、中間期間は二つのバージョンを一緒に実行する——これは互換性が必要だ。

前提条件

依存関係をチェックし、プロセスが生きているだけでなく確認する本当のヘルスチェック;後方互換性のあるスキーマ;アクティベーションからデカップルされたデプロイ——スイッチでオンにするとコードをオフにしてリリースする。

事前にロールバックをトリガーするものを定義する

自動ロールバックをトリガーするエラー閾値、応答時間、成功率。インシデント中の決定は常に穏やかな朝に書かれたものより悪い。

さらに深く

すべてが順調なときにロールバックを練習する、少なくとも四半期に一度。一度も行使されないメカニズムは必要なときにちょうど失敗し、通常は小さな詳細によって——権限、スキーマバージョン、クリアされなかったキャッシュ。