Getting the most out of mulitcloud with Terraform

In our last blog, we made the strategic case for a multicloud environment, and why it’s a good idea. But we haven’t mentioned the ‘how’, which is perceived as a crucial hurdle for anyone to make the switch to multicloud. Well… Here’s how, more or less.

As mentioned in the last post, the general conclusion after the Nu.nl Hackaton earlier this year was that it was possible for the Netherlands’ largest news site to run their Climate section on Leafcloud. Using Terraform, Nu.nl lead engineer Tibo Beijen drew up a POC outline for deploying the website and, optionally, a BFF of a non-production environment on Leafcloud. He defined three requirements, set up clusters using Kubernetes and deployed some applications. After integrating it with AWS and other services, it was time to put it all together. Tibo concluded that:

-  Deploying the workload into a different cloud was easy thanks to the Infrastructure-as-Code.

- Integration of the AWS services via IAM was not easy, but ultimately possible with some upfront planning and careful evaluation and execution.

- Networking is the biggest challenge in all of this.

- Leafcloud’s use of OpenStack is well-documented and well-supported, and basically did what we promise to do: offer an independent, open and green environment to run your clouds on.

Terraform

Tibo used Terraform to deploy application groups by composing building blocks for configuring clusters to run collections of applications. Terraform, as the Devoteam explains, is open source Infrastructure-as-Code (IaC) software used to automate the provisioning of cloud resources across multiple public cloud providers. DevOps engineers can use Terraform to define resources in versionable, reusable and sharable configuration files using HashiCorp Configuration Language, HCL. Those files facilitate collaboration and automation of steps taken for future environments.

Terraform really shines when setting up a multicloud environment, as it allows for a consistent workflow for provisioning and managing across all cloud platforms. Where engineers would previously have to navigate all kinds of environments and tools, they can now simply take their Terraform file and apply it to all their cloud environments, making them consistent. That makes it great for stringing different cloud platforms together in a single IaC setup. It’s reliable, quick and efficient.  

How to Use Terraform

We have published a full guide on how to setup and use Terraform to create a service on Leafcloud. As mentioned earlier, the core of Terraform are the HCL configuration files, which have the .tf extension. We already have some .tf files ready for main, networks, instances and the load balancer for the Leafcloud platform. Those can be applied to create a private network instance and compute instance, after which you can create a load balancer so not to clog up one server while others are doing too little.

Yes. It’s that simple.

Leverage the best out of Your Multicloud

Multicloud environments offer a whole lot of advantages, but also introduce complexities. It’s therefore great that an IaC solution like Terraform exists that makes it so much simpler to set it up. Using Terraform really allows you to get the best out of each cloud your organization is using. Of course, we at Leafcloud are happy to offer our knowledge and expertise to make it work for you as well. So don’t hesitate to contact us!