はじめに
受講セッションの個人的な所感と、メモです。
メモの内容は、誤字脱字などあるやもしれませんが、ご了承ください。
所感
コンテナ環境は開発環境・プロダクション環境問わず今や必須と言えるものとなってますが、どうしても運用、管理が問題になってきます。
セッションの内容としては、もしかしたら基本的な事項かもしれませんが、基本こそ大事。
構成もそうですが、これらを形作る「考え方」こそ、最も重要だなぁと感じました。
具体的には、障害を0にすることはできない前提で、それらをどう限りなく小さくするか、発生した際にはどのように気付き、対応できる体制を築くべきか・・・など。
それらのヒントを、たくさん頂けた気がします。
受講メモ
安全なアプリケーションのデリバリーとは
- リスク
- バグの混入や予期せぬエラー、障害など意図しない状況の発生
- 障害の可能性を0にはできない
- 影響を小さくすることはできる
最小限にするために
- デリバリーによる新機能の公開を、少数のユーザーから段階的に行う
新機能を段階的に公開する手法
- 線形デプロイ / canaryデプロイ
- トラフィックの一部を新機能に向ける
- 機能フラグ
- 特定の属性のアクセスを新機能に向ける
線形デプロイ / canaryデプロイ
LBでトラフィックをコントロール
- 線形
- トラフィックを切り替える比率を線形に増やしていく
- canary
- 少数トラフィックで確認後、残りのトラフィックを一気に切り替える
機能フラグ
- アプリケーションコードに、外部フラグのon/offで動作切り替えをこなうようにしておく
- 機能フラグの管理 AppConfig
- 機能フラグの定期取得のためのコンテナエージェントがECSにある