Mutable and immutable infrastructure
Infrastructure resources created on-premises, or in the cloud, can either be modified in place or be completely replaced with a new instance. It is usually not a problem to modify the servers, which involves upgrading libraries, rolling out new application code, or changing configuration settings in the early days. However, as your workloads scale, these in-place upgrades risk the reliability of the applications and complicate the testing and operational procedures. Before diving into the benefits of the immutable infrastructure, it’s important to introduce you to mutable infrastructures and explain their trade-offs. Let’s discuss this in the light of a real-life example, where I managed a Java-based web application on a Tomcat web server.
Mutable infrastructure
This is a traditional Java web stack with web application archives (WAR) files deployed on Tomcat web servers. For high availability, four similarly configured machines...