What is IAC(Infrastructure As Code)?

IAC is a model that allows you to define your IT infrastructure as code. Declarative languages such as YAML and HCL provide a means to write infrastructure as code. IAC solves a few problems:

  • Define infrastructure as code. Check in code to source control repositories such as Git.
  • Send pull requests, review code in source control, be able to record and review any historical revision of infrastructure
  • Reduce the scope of manual errors. Let the IaC execution engines do the work for you.
  • Flex your IaC powered muscles. Achieve more in less time.
  • Enjoy reproducible infrastructure environments.

Gavika helps implement IAC in your organization

We bring in our years of experience writing IAC to the table.

Typically, Terraform is used to manage infrastructure resources such as:

  • Virtual machines, compute instances
  • Virtual private networks, load balancers, API Gateways, DNS zones and records, firewall and security groups, network ACLs
  • Storage services such as object and block storage
  • Kubernetes clusters
  • PaaS databases such as SQL databases, noSQL and document databases, memory databases, graph databases, search databases.
  • PaaS monitoring services such as metrics and logs aggregators

Typically, Ansible is used to manage services on top of compute instances such as:

  • Web servers: Nginx, Apache HTTPD
  • Web applications: PHP, Ruby, Python, .net, Java, JavaScript based web applications
  • Micro services that typically accompany web applications
  • Database services: SQL, noSQL, memory databases
  • Storage services: NFS
  • Backup scripts
  • Utility scripts

Related blog: Infrastructure As Code(IAC)