Calibo

How to streamline AWS resource deployment with Calibo: a step-by-step guide

As you might know, Calibo enables developers to rapidly create data pipelines, user interfaces, and APIs within minutes.  

But did you know that Calibo also provides valuable guardrails that help developers securely create and manage resources on AWS using Terraform? 

By leveraging Calibo’s capabilities, organizations can enhance and streamline their workflows, prioritizing reusability and security. The ability to manage Terraform configurations through secure guardrails and automated processes ensures that resources are deployed efficiently and in alignment with best practices for governance and cost management. 

Calibo’s robust Terraform integration shows how contemporary platforms can enhance composable architecture and foster engineering excellence.

By enabling the reuse of Terraform templates across different projects, Calibo’s method standardizes infrastructure setups. This ensures consistency and accelerates deployment across various environments. 

Setting up custom resources on AWS using Terraform

In this blog post, I’ll guide you through the process of setting up custom resources on AWS using Terraform within the Calibo platform. To start, you’ll need to create a Terraform repository.

In this repository, we’ll create the following fundamental files: 

  • main.tf: Defines the resources and data sources. 
  • variables.tf: Configures input variables for customizing these resources. 
  • output.tf: Specifies output variables from the Terraform execution. 
  • terraform.tf: Configures the AWS provider and relevant modules. 

With these foundational elements in place, I’ll walk you through a series of steps to help you leverage Calibo’s capabilities to efficiently and securely manage your cloud resources. Let’s dive in and explore each step in detail. 

The code repository looks like the image below. You can also include submodules within the same repository if needed.

In the main.tf file, for simplicity, we’ll include a single data resource that Terraform will invoke. In this case, Terraform calls the get-caller-identity service and stores it in the state: 

And the output.tf will show the account ID and the input parameter: 

In this example, Calibo’s Terraform capabilities will check out the repository and its submodules, execute terraform plan and terraform apply. This process will fetch the AWS account ID and demonstrate how input parameters can be passed from Calibo.  

These capabilities demonstrate how any Terraform configuration can be deployed by the platform, but this on its own is not very innovative, so why would you need Calibo?

The secret sauce is in the guardrails; your platform engineers can configure these repositories and only allow resource configuration from them. You can create any AWS resources in the infrastructure as code fashion using Terraform and provide these to your developers. 

Building a platform engineer workflow 

While this example is quite basic, the key takeaway is that Calibo workflows enable you to streamline changes securely across your environments.  

As a platform engineer, your role would involve creating these templates and deploying them within Calibo. This ensures that changes are managed efficiently and securely.

Let’s start! 

Under Configuration > Cloud Platform, Tools, and Technologies, you can configure preconfigured Terraform repositories. To do this, click on Modify in the Terraform Configuration section. 

You can now configure either Terraform Cloud workspaces or repositories. For this example, we will focus on using repositories. Click on the Configure link for the Terraform Scripts. 

The next page will allow you to select a repository from those previously configured. You can provide a descriptive name to help your developers understand its purpose.

To complete the setup, click Save and Activate

At this point, your Terraform template is ready for use by your developers. They will need to supply the variable configurations and execute the template in the previously configured AWS environments. 

Building a developer workflow 

In previous posts (search posts by author name: “Octavio Martin”), I have detailed the creation of the Calibo taxonomy.

In this post, we will skip over the steps involved in creating the Digital Portfolio, product, and feature and instead focus on a feature I have created called “Infrastructure,” as illustrated in the following image. 

Within the feature, go to Deploy > Terraform Service 

Click on New Run 

To start your Terraform setup, first, configure your repository by selecting the desired Terraform version, the AWS account where you want your resources to be set up, and any necessary environment variables.  

Once you’ve done that, click on “Execute.” This action won’t run the configuration immediately but will generate a detailed plan for you to review before proceeding. 

This process creates an instance of your configuration, preparing it for deployment in the chosen AWS account. Clicking on the Confirm and Apply button will make the resources. 

The output displays the variable and the call to the AWS service. This demonstrates that any resource can be configured using Terraform and Calibo. Your platform engineers can produce high-quality templates that align with your security, governance, and cost standards. 

These workflows streamline your software development lifecycle by eliminating the manual back-and-forth and ticket creation between developers and production engineers. With DevOps automation and guardrails in place, you gain peace of mind and can focus on other areas of development. 

Enhancing digital transformation with Calibo’s terraform integration

Calibo’s robust Terraform integration shows how modern platforms can drive composable architecture and engineering excellence.  

Organizations can enhance their digital transformation with Calibo’s capabilities, offering streamlined workflows focusing on reusability and security. Secure guardrails and automated Terraform management ensure efficient resource deployment, adhering to governance and cost management best practices. 

By creating reusable templates, platform engineers can standardize infrastructure setups, making it easier to maintain consistency and speed up deployment across different environments. This reduces the need for Jira Ops, shifting focus away from manual tracking and ticket management and enabling developers to concentrate on delivering high-quality solutions.  

The evolution of these workflows enhances collaboration and accelerates development cycles, fostering a more agile and effective development environment.  

Calibo’s approach to integrating Terraform into your cloud strategy represents a significant advancement in achieving operational excellence and supporting scalable, sustainable digital transformation while facilitating the efficient reuse of infrastructure configurations. 

Learn about how Calibo can support your business’s digital transformation platform engineering here.

Background racecar

More from Calibo

Platform

One platform across the entire digital value creation lifecycle.

Explore more
About us

We accelerate digital value creation. Get to know us.

Learn more
Resources

Find valuable insights in Calibo's resources library

Explore more
LinkedIn

Check out our profile and join us on LinkedIn

Go there
close