最新のデプロイ パターンを理解する
エンド ユーザーは、常に違う方法でアプリケーションを使います。 データ センターで予期しないイベントが発生し、複数のユーザーからの複数のイベントが発生して、そのようにテストされていない方法でコードがトリガーされます。
それに対応するには、一部の機能は運用環境でのみテストできるようにする必要があります。
運用環境でのテストは少し恐ろしいことのようですが、そうではありません。
機能リリースと技術リリースの分離について話した時点で、すべてのユーザーに公開することなく機能をデプロイできることが既にわかっていました。
この機能の切り替えの概念を利用し、デプロイ パターンで使用すると、運用環境でソフトウェアをテストできます。
次に例を示します。
- ブルーグリーン デプロイ。
- カナリア リリース。
- ダーク起動。
- A/B テスト。
- 段階的公開またはリングベース デプロイ。
- フィーチャー トグル。
アーキテクチャを批判的に見る
ソフトウェアのアーキテクチャと現在の状態は継続的デリバリーに対応していますか?
考慮する必要があるトピックは次のとおりです。
- ソフトウェアは、1 つの巨大な一枚岩として構築されていますか、それとも複数のコンポーネントに分割されていますか?
- アプリケーションの一部を個別にデリバリーできますか?
- 週に複数回デプロイする場合、ソフトウェアの品質を保証できますか?
- ソフトウェアをどのようにテストしますか?
- 実行しているソフトウェアのバージョンは 1 つですか、複数ですか?
- 複数のバージョンのソフトウェアをサイド バイ サイドで実行できますか?
- 継続的デリバリーを実装するには何を改善する必要がありますか?