Revolutionize F5 BIG-IP Deployment Automation with HashiCorp’s No-Code Ready Terraform Modules

Introduction

In organizations today, application infrastructure deployment involves teams such as platform teams, Ops teams, and dev teams all working together to ensure consistency and compliance. This is no easy task as because of siloed teams and expertise and deploying application infrastructure is time-consuming. Platform teams typically address this challenge with automation and by enabling their ops team and developers with self-service infrastructure – which abstracts most steps of deployment. HashiCorp Terraform No-Code Provisioning enables self-service of BIG-IP infrastructure as it allows the platform teams to create and maintain a library of pre-built Terraform modules that can be used by ops teams and developers to deploy multi-cloud BIG-IP infrastructure and services for their applications. This help to ensure consistency and reduce the amount of time organizations need to set up and configure infrastructure.

Taking this one step further, the Terraform no-code modules enable infrastructure teams to streamline automation by combining CI/CD pipelines, any custom scripts, and other automation tools in the deployment chain allowing developers and operations teams to deploy F5 application services and infrastructure anywhere with a few clicks from the Terraform Cloud GUI – all while maintaining compliance. 

What is No-Code?

No-code provisioning in Terraform Cloud lets users deploy infrastructure resources without writing Terraform configuration. This lets organizations provide a self-service model to developers with limited infrastructure knowledge and a way to deploy the resources they need.

  • It allows individuals with limited Terraform coding experience or knowledge to provision infrastructure with Terraform.
  • It can accelerate the development process by eliminating the need for coding and testing.
  • It can reduce the reliance on scarce technical resources or expertise.
  • It can improve the flexibility and agility of BIG-IP deployment.

How to set up Terraform Cloud for BIG-IP No-Code Module?

You need the following:

  1. Terraform Cloud account
  2. AWS account
  3. Terraform Cloud variables set configured with your AWS credentials

Fork the example GitHub repository https://github.com/f5businessdevelopment/terraform-aws-bigip-nocode

 

Make sure you have variables defined as shown below

variable "prefix" {
  description = "provide some prefix for deployment"
}
variable "region" {
  description = "AWS region you can define example is us-west-2 "
}

variable "allow_from" {
  description = "IP Address/Network to allow traffic from your machine (i.e. 192.0.2.11/32)"
}

These variable definitions facilitate the exposure of parameters while deploying the BIG-IP instance, you can add/delete any new parameters you need to expose. 

How to Publish No-code ready module?

First, create a tag for your module. Tags are required to create a release on the GitHub repository, Terraform Cloud will use this tag to register the module.

git tag 1.0.0

git push –tags

Once your release is ready on the Github repository

  • On the Add Module option select GitHub in Connect to VCS option

 

  • Browse through your repository and select the repository as shown below.
  • Confirm the selection as shown below
  • Click on Add Module to no-code provision allow list and then hit Publish as shown below.
  • Confirm the selection as shown below
  • Click on Add Module to no-code provision allow list and then hit Publish as shown below.

It will take a couple of seconds to Publish the module, once done you will see the screen below as shown. Now you are ready to use the module, to deploy the BIG-IP instance you click on the Provision workspace tab.

 

How to use the BIG-IP No-Code Terraform Module?

Once we have the No-Code module published on Terraform Cloud we are ready to use it. 

  • Login to Terraform Cloud at https://app.terraform.io and choose an organization
  • Click on Registry 🡪 Module (bigip-1nic-nocode) as shown
 

 

  • Click on the Provision workspace button as shown below. Workspaces in Terraform Cloud separate infrastructure configurations to help provide a multi-tenant environment.
  • Provide the 3 parameters below as shown, you can give any name as a prefix, this helps in further providing more multi-tenancy if multiple people are provisioning.

 

  • Provide workspace name, you can give any name.
  • And finally hit the “Create Workspace” button to deploy the BIG-IP instance.

 

BIG-IP instance will be ready with the Management IP address and password for you.

Conclusion:

Finally, the Infrastructure team can help to ensure the security and compliance of the infrastructure deployed using the Terraform No-Code Provisioning by implementing security best practices controls and monitoring.

Reference Video 




 

 

 


 

Published Feb 27, 2023
Version 1.0

Was this article helpful?

No CommentsBe the first to comment