Infrastructure as Code is the management and provisioning of infrastructure through configuration files.But why we have to get into all this trouble to learn how to use all these new technologies?
Unfortunately there are some things at Legacy Infrastructure that i like to call as “Infrastructure Pain..!”
So high costs,complexity on the deployments,the management and of all these stuff in combination of Scalability and Availability are creating the Infrastructure Pain..!
I used to call it Pain not because you can not achieve all these, but it is very hard to do it correctly and to maintain.
In order to solve some of this problems we can use Cloud! Cloud can help us to achieve better results on the following areas:
We can be very flexible using all the new cloud technologies so scalability will not be a very big problem anymore.Also a very high percentage of Availability with an SLA of 99.5% can be achieved with just one virtual machine!And of course hardware maintenance is not at our responsibility anymore.
But still some problems still exists..:
Still we have to consider Management and Complexity because we will administrative all these resources and administration cost is still there and we have to keep it low.
At this point we will remember the Infrastructure as Code that we said at the beginning.What are the benefits of these technology?
Version Control:We can have tools like Git to control our Infrastructure.We can revert,save all the changes and have a very good history of our Infrastructure.
Clear Documentation:There is no better way to present the current state of your Infrastructure than the code itself.
Repeatable deployments and Fast Changes:Deploy resources in minuets as many times you want without the fear of human error.
How can We achieve all these?
Terraform is a very nice way to proceed.
Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.
At the second part we will see the fundamentals of Terraform and how we can deploy resources directly on Azure!