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.
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:
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.
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.
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.
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.
One thing I love about working in tech is that the landscape is constantly changing. Like the weeping angels in Dr Who – every time you turn back and look – the tech landscape has moved slightly. Unlike the weeping angels, however – this progress is for the betterment of all. (And slightly less murderous).…
Enterprises are feeling increasing pressure to integrate Artificial Intelligence (AI) into their operations. This urgency is pushing leadership teams to adjust their investment strategies to keep up. Recent advancements in Generative AI (GenAI) are further increasing this pressure, as these technologies promise to enhance productivity and efficiency across the organization. For example, Gartner™ expects GenAI…
Measuring developer productivity has always been a challenge in the software industry. Traditional metrics like committed code or merged pull requests provide some insight but often fail to capture the true impact of developers’ work. Consider this scenario: a developer merges just one pull request in a week, consisting of only one line of code,…
Embracing platform engineering is becoming increasingly critical in today’s digital landscape, where efficiency and automation are key drivers of success. However, many organizations still rely on traditional or manual approaches to software development, deployment, and operations, leading to a host of challenges that can impede progress and innovation. Without a platform engineering solution, teams often…
One platform, whether you’re in data or digital.
Find out more about our end-to-end enterprise solution.