Applications and corresponding objects often need to be separated from each other to avoid conflicts and other undesired effects. Up till now, all examples we have seen create one cluster. However, there are situations in which multiple clusters should be created. Some benefits of creating multiple clusters are as follows:
We might need to separate objects created by different teams. We can, for example, give each team a separate cluster so that they can “experiment” without affecting others.
We might want to create different clusters that will be used for various purposes. For example, we could have a production and a testing cluster.
There are many other problems that we tend to solve by creating different clusters. Most of them are based on the fear that some objects will produce adverse effects on others.
We might be afraid that a team will accidentally replace a production release of an application with an untested beta.
We might be concerned that performance tests will slow down the whole cluster. Fear is one of the main reasons why we tend to be defensive and conservative. In some cases, it is founded on past experiences. In others, it might be produced by insufficient knowledge of the tools we adopted. More often than not, it is a combination of the two.