はじめに
この連載ではコンテナとコンテナオーケストレーションを使用した分散システムの設計パターンについてまとめていきます。
今回はシングルノードパターンについて学びます。 (分散じゃないです)
連載記事一覧
1.1 シングルノードパターンを使う理由
コンテナ化のゴール
なぜ、1台のマシン上で動いているアプリケーションをコンテナの集まりに分割するのか?
- コンテナ毎にリソースの境界を設ける(コンテナ毎にCPUやメモリの割り当て数を変える)
- チームのオーナーシップの境界を設ける(このチームはこのコンテナイメージを管理している)
- 関心の分離 (あることだけをやるコンテナのイメージ)
コンテナ化のメリット
- 各コンテナの必要条件を分けることによって、リソースの割り当ての(リソースが競合した時の)優先順位を決めることができる。
- 関心の分離によって、理解・テスト・更新・デプロイが用意
- システムのロールアウト(ロールバック)の信頼性が高くなる
- アプリケーションの素早さや柔軟性を高めることができる
- チームをスケールすることができる。(理想的とされる)1チーム6~8名のチームを保ち、分割した単位毎にチームを割り当てることができる。