Immutable Infrastructure
When we had bare metal servers, it took a bit of time to provision them. Even today, if you want to get new hardware, it can take days to get them connected and running. Needless to say that you would want to keep them running as long as possible, given the cost of replacement or adding a new one. Then, as automation is a must, instead of configuring this bare metal servers by hand, a set of configuration management tools appeared.
Even with these tools, though, servers are prone to configuration drift, they can diverge a lot from one another and people would still go via SSH and perform changes not captured into infrastructure code.
Don't get me wrong: configuration management is still a must. But context changed a bit after virtualization got a huge adoption in the form of Cloud providers. The time required to create a server was cut down to few minutes, instead of hours and days. More importantly, time required to recreate a server is also really low, compared with...