Hope you’re doing good.
In this ever changing world, we should keep reading and upgrading ourselfs. Today when I was reading some upcoming technologies, I came across this new concept called Infrastructure-from-Code ! You read it correct, it’s from code ! So let’s quickly have look at different stages for Infrastructure provisioning from beginning.
Introduction of cloud got a huge transformation in how engineers deal with their problems. When cloud was introduced, things were manual, just like how you provide your desired configuration of laptop while purchasing it, we used to provide details for required infrastructure and it used to get provisioned on the given cloud.
Well when I talk about cloud, there are three types of cloud, Public, Private and Hybrid. Just to keep us on same page, observe below image which will give you clear understanding of each.
Getting back to the history, it was difficult to provision thousands of machines and maintain them, so a new templating technology was introduced by Cloud providers, like CloudFormation for AWS, ARM for Microsoft Azure etc. As we understand, templates were platform specific and were not compatible with each other, so if we want to switch from AWS to Azure, we’ll need to again learn how ARM works. This way of deployment was named IaaC or Infrastructure as a Code.
In order to make IaaC robust, some new platforms came into the picture which provided stability like Terraform, Ansible, Chef, Puppet etc. These platform provided us a single source to deal with different clouds.
Again Creation and Maintenance of these templates gives additional burden to the cluster, for example if I use Terraform, I need bunch of libraries to support AWS and Microsoft Azure which gave additional burden to the cluster.
As we can see in above image, next evolution of introduction of programming libraries which can directly provision and manage your infrastructure.
Evolution of technology never stops, so what can be next level of Infrastructure as a Code ? Yes, you guessed it – Infrastructure from Code (IfC). let’s understand what it is.
Infrastructure from Code (IfC)
IfC is a new way of thinking about your infrastructure, developers should be just focused on their primary task and should not be bother about any infrastructure related complexity. Still confusing !! let’s see some examples and understand from them.
These are just few examples of it. What they basically do it, you just need to use their sdk or library and either annotate what resources you want to use from which cloud and they will provision given resource and manage the same. Won’t it reduce a lot of time for us !
There were days when it used to take 6 months or 1 year to get a new build, and today it’s every few minute you can release a new version without your user knowing it. Initially it took a lot of efforts to create templates and other files to create and manage your infrastructure, and after few years, we will be able to manage infrastructure just by annotting. Welcome to the updated version of infrastructure management, let me know your thoughts for the same.