開発日報

窓際エンジニアの開発備忘。日報は嘘です。

【連載】分散システムパターン 第1回 ~ シングルノードパターン ~

はじめに

この連載ではコンテナとコンテナオーケストレーションを使用した分散システムの設計パターンについてまとめていきます。

今回はシングルノードパターンについて学びます。 (分散じゃないです)

連載記事一覧

連載記事一覧

1.1 シングルノードパターンを使う理由

コンテナ化のゴール

なぜ、1台のマシン上で動いているアプリケーションをコンテナの集まりに分割するのか?

  • コンテナ毎にリソースの境界を設ける(コンテナ毎にCPUやメモリの割り当て数を変える)
  • チームのオーナーシップの境界を設ける(このチームはこのコンテナイメージを管理している)
  • 関心の分離 (あることだけをやるコンテナのイメージ)

コンテナ化のメリット

  • 各コンテナの必要条件を分けることによって、リソースの割り当ての(リソースが競合した時の)優先順位を決めることができる。
  • 関心の分離によって、理解・テスト・更新・デプロイが用意
  • システムのロールアウト(ロールバック)の信頼性が高くなる
  • アプリケーションの素早さや柔軟性を高めることができる
  • チームをスケールすることができる。(理想的とされる)1チーム6~8名のチームを保ち、分割した単位毎にチームを割り当てることができる。

1.2 まとめ

今回はシングルノードパターンについて学習しました。 次回はサイドカーパターンについて学習します。