Ready to Start Learning?

Sign in to check if you already have access, or get started with a purchase or membership.

Try IaC: Terraform

Terraform is a paradigm shift in how you will provision the resources your infrastructure needs. Let's see what is meant by this by a looking at a fairly straight forward scenario for an app your working on:
  • 3 web servers (ie gunicorn & django)
  • 1 load balancer (ie nginx)
  • 1 database server (ie postgres)
Wouldn't it be nice if you could just say "apply" and your cloud provider made that happen for you? Now, let's say a few months go by and you want to add:
  • 1 datastore server (ie redis)
  • 2 microservice servers (ie fastapi & flask)
Again, let's say "apply" and make it happen. Now, after some time and traffic we decide we want:
  • 4 web servers (ie gunicorn & django)
  • 1 load balancer (ie nginx)
  • 1 database server (ie postgres)
  • 1 datastore server (ie redis)
  • 1 microservice servers (ie fastapi)
For anyone who has managed virtual machines from a cloud service provider, you know the above scenario is not just likely, it's incredibly common.
Handling these kind of changes can be done in two ways:
  • manually through the console
  • automatically through Terraform
Naturally, this series is all about doing the above scenarios automatically using Terraform. In our case, we'll use Terraform to deploy a Docker-based Python web application as well as Linode's Node Balancer service.
We're also going to further automate Terraform by introducing CI/CD tools Github Actions and Gitlab CI/CD.
This series was made in partnership with Linode.

References

Try IaC: Terraform

Lifetime access to this course

or get access to 500+ courses with a membership

Try IaC: Terraform - Coding for Entrepreneurs