
138
8 章 Docker を使った継続的インテグレーションとテスト
リングした上で、テスト終了時の結果に基づき、いずれかのバージョンを保持したままにします。
ランプトデプロイメントでは、新しいバージョンのテストは、一部のユーザーだけが利用できるよ
うにします。それらのユーザーで問題が起きなければ、徐々に多くのユーザーに新バージョンを開
放していきます。シャドウイングでは、サービスの両方のバージョンをすべてのリクエストに対し
て動作させ、古い安定バージョンの結果だけを利用します。古いバージョンと、提案されている新
しいバージョンの結果を比較すれば、新しいバージョンが古いバージョンと同じ動作をしている
(あるいは予想通りに改善された動作をしている)ことを確認できます。シャドウイングは、機能
的な変化がない、パフォーマンス改善のような変更が加えられた新バージョンをテストする場合に
特に便利です。
8.7
まとめ
覚えておくべき大切なことは、コンテナが継続的インテグレーション
/
デリバリのワークフロー
に、自然に当てはめられるということです。覚えておくべきことはいくつかありますが、重要なの
は、パイプライン中の各ステージでビルドをし直すのではなく、パイプライン中には同じイメージ
をプッシュしなければならないということです。とはいえ、既存の
CI
のツール群でコンテナを扱
うようにしても、それほど問題は生じないはずであり、将来的にはもっと特化したツール群がこの
領域に登場することでしょう。
大規模なマイクロサービスのアーキテクチャを採用するなら、本章で概要を見てきた手法を試し ...