What is immutable infrastructure?

  • October 5, 2020

Within the Cloud infrastructure space, there are several approaches on how to manage infrastructure. From: old-fashion manual creation and pray, to: everything automated, self-healing, self-scaling and pretty much self-managing.

Within the second group, there are several approaches as well; you can have your infrastructure automated provisioned with Terraform and use Ansible for the configuration management, or you can also use things like Packer to manage Compute instance images.There are combinations as people that manage infrastructure.

Even when there is nothing wrong with using for example: Terraform + Ansible, if your application is Cloud-native, there are better technologies that you can leverage, like containers, Kubernetes and the Immutable Infrastructure model. Today, we will be focusing on this last one.

Now, yes, what is immutable infrastructure? Basically, immutable infrastructure involves an infrastructure paradigm within servers or services that will be never changed after their implementation or installation.

Immutable infrastructure is considered to be formed by unchangeable components, and they are able to be replaced one by one.

Based on this immutable infrastructure paradigm, servers or services are not changed; whenever an update is needed, the server or service will be replaced by a new version.

Finally, it is worth pointing out that old versions will continue to be available if a rollback is needed.

Living in a world in which Cloud technologies are mainly adopted, immutable infrastructure has gained ground.

It is highly important to emphasize that there are certain tools which can be used on an immutable infrastructure environment, such as Docker, Kubernetes, AWS, GCP, and Azure.

 

CONCLUSION

There is a current tendency moving forward immutable infrastructure. This is happening mainly since this is a way to simplify platforms’ management.

Immutable infrastructure paradigm is suitable for Cloud infrastructures, together with applications to images containing data and the service in only one image.