Learn how to manage deployment environments with Terraform
Multiple environments are pretty common in a project when building a solution. They support the different phases of the development cycle and the slight differences between the environments, like capacity, networking, credentials, and log verbosity.
This post has excerpts from two tutorials. The first tutorial introduces you to tools like the IBM Cloud CLI and Terraform to automate the creation and maintenance of these deployment environments. The second tutorial introduces best practices to organize users, teams and applications and a sample scenario.
Tutorial 1: Plan, create and update deployment environments
To support a multicloud approach, Terraform works with providers. A provider is responsible for understanding API interactions and exposing resources. IBM Cloud has its provider for Terraform enabling users of IBM Cloud to manage resources with Terraform. Although Terraform is categorized as infrastructure as code, it is not limited to Infrastructure-As-A-Service resources. The IBM Cloud Provider for Terraform supports IaaS (bare metal, virtual machine, network services, etc.), CaaS (Kubernetes Service and Kubernetes clusters), PaaS (Cloud Foundry and services) and FaaS (Cloud Functions) resources.
Tutorial 2: Best practices for organizing users, teams, applications
In Tutorial 2, you will be introduced to best practices to organize users, teams, and applications and given a sample scenario. The sample scenario considers three environments, Development, Testing, and Production. How do you automate the creation of these environments? What tools could be used? Also, you will see an overview of the concepts available in IBM Cloud to manage identity and access management (IAM) and how they can be implemented to support the multiple development stages of an application.
Cloud Identity and Access Management (IAM) enables you to securely authenticate users for both platform and infrastructure services and control access to resources consistently across the IBM Cloud platform. A set of IBM Cloud services are enabled to use Cloud IAM for access control and are organized into resource groups within your account to enable giving users quick and easy access to more than one resource at a time. Cloud IAM access policies are used to assign users and service IDs access to the resources within your account.
This Git repository has all the configuration files needed to set up the environments defined earlier. You can clone the repository to follow the next sections detailing the content of the files.
Get in touch
Don't forget to check our solution tutorials page for more tutorials with step-by-step instructions and hands-on experience.
If you have any Queries or Suggestions? reach out to me @VidyasagarMSC