Web development

What Is Infrastructure as Code (IaC)?

Before we had the explosion of public clouds, companies relied on computer hardware stored in either some underground locked storage, in the closet at someone’s home or anywhere between.

Mai Do

Platform Engineer at Kry

LinkedIn

Instagram

Website

The public clouds are basically data centres with computer hardware placed on locations around the globe where the customer can rent themselves some hardware space. You can think of this as you and your family sharing one or more computers with your own accounts that you all can access at the same time.

The public clouds have given companies the opportunity to direct more of their focus on developing their services and products while the maintenance of the hardware, such as storage limitations or switching old disks are now outsourced to cloud providers. With public clouds come new challenges. More time for product and service development means faster growth and manual handling of cloud resources is no longer sustainable. This is where Infrastructure as Code (IaC) comes in.

This is Infrastructure as Code

We have reached the era where automation has streamlined many of our manual processes in different industries and not less in IT. IaC are templates with code that handle the automation of infrastructure setup in your IT environment. These templates are friendly to read for humans and very much like written documentation and can be read by your computer which can then communicate with the cloud providers and set up your infrastructure.

Why Infrastructure as Code?

  • The benefit of easily keeping track of changes gives business opportunities to compete in the market. This is why IaC is crucial for the modern IT society.
  • With IaC you have your IT infrastructure documented and that documentation is also executable and anyone with previous code knowledge can easily read and use them.
  • IaC is pleasant to work with and everyone in tech loves it. You know the feeling of, “it just works out from the box”.

How does it work?

Basic knowledge of modern coding techniques and structures are recommended knowledge to have for getting started. To be able to write good templates requires more knowledge. Development and operation practices (which is a topic itself), knowledge on redeploying the templates without errors, and cloud knowledge are some of the skills you'll need to have to be good at IaC.

“There are different tools for starting with IaC. One of the popular ones is Terraform, thanks to its simplicity and well written documentation.”

Try it for yourself

Getting started with Terraform is quite simple if you have basic knowledge of modern coding techniques and structures. If you are completely new to coding, then having a friend to help you out is recommended. The steps to get started:

  • Set up an account at a cloud provider e.g AWS or DigitalOcean (could be more suitable if you are new to clouds due to its simplicity)
  • Setup necessary credentials. There are guides for that on the cloud providers’ homepages
  • Install Terraform on your computer - Mac, Windows, Linux
  • Follow the steps on Terraform’s Getting started guide.

We're a female-founded, remote-first community helping people get a career they love. 90% of those attending our boot camps are women.