November 2023
Intermediate to advanced
472 pages
7h 12m
Japanese
3章の最後の時点で、図4-1のようなアーキテクチャをデプロイしました。
図4-1 前の章で作成した、ロードバランサ、Webサーバクラスタ、データベース
このアーキテクチャは最初の環境としては素晴らしいものですが、図4-2にあるように、通常は社内のテスト用環境(ステージング)と、実際のユーザがアクセスできる環境(本番)の最低でも2つの環境が必要になります。コスト削減のためステージングではサーバの数が少ないか安価なサーバを使うかもしれませんが、この2つの環境はほぼ同一であるのが理想です。
図4-2 この章で作成する、それぞれロードバランサ、Webサーバクラスタ、データベースを持つ2つの環境
では、ステージング環境のコードを全部コピーアンドペーストせずに本番環境を追加するにはどうしたらいいでしょうか。例えば、stage/services/webserver-clusterをprod/services/webserver-clusterにコピーしたり、stage/data-stores/mysqlをprod/data-stores/mysqlにコピーしたりしないようにするにはどうしたらいいでしょうか。
Rubyなどの汎用的なプログラミング言語において、同じコードがあちこちにコピーアンドペーストされている場合、そのコードを関数に入れ、関数を再利用するでしょう。 ...