Multi-Cloud Infrastructure as Code
- 2 minsFor any enterprise, willing to address multi-cloud infrastructure, the following questions might pop up
- How do Technology Partners(Independent Software Vendors) or Developers do CI/CD in a Hybrid-Cloud environment?
- How to share APIs with Partners or Developers to build next-generation intrinsic security infrastructures?
- How to integrate Public Cloud (AWS, Azure, GCP) to work in a true Multi-Cloud environment?
- How to provide a “Try for Free” experience before engaging the new Partner or Developers into the ecosystem.
New Portfolio Demands
Some of the new requirements include:
- Continuous Joint Development, Setup dedicated pipelines for Strategic Partners.
- Dynamic Provision Multi-Cloud Infrastructures
- Custom and Open blueprints. Partners or Developers should be able to Maintain & Manage the state of blueprints
Public Cloud - AWS as an Example
AWS Two-tier Application
In this image, I show an example of a two-tier application. Just to provision this app on AWS, we need to create many resources in AWS. Some of the resources are listed here.
- Resources
- VPC
- Security Groups
- Subnets
- Internet gateway
- EC2 Instance
- Elastic Load Balancer
- IAM key-pair
- AMI
- Web server binaries.
Infrastructure as Code (IaC)
HashiCorp Terraform provides the foundation for cloud and on-premises infrastructure automation using infrastructure as code for provisioning and compliance in the cloud operating model.
AWS Two-tier Application -IaC example
- Terraform It is a declarative programming tool. “declarative” is a style of programming where the program describes the desired results without explicitly listing commands or steps to perform. It uses HCL syntax. It is like a human-readable declarative configuration format. One can use this tool for any kind of infrastructure (PaaS, SaaS, IaaS). It is a plugin-based architecture where every provider has a plugin. E.g. AWS plugin, GCP plugin, or VMW plugin. And the best part is it is all open source
AWS Two-tier Application -IaC example:
```
File: main.tf
provider "aws" {
region = "${var.aws_region}"
version = "~> 2.33"
}
resource "aws_vpc" "default" {
cidr_block = "10.0.0.0/16"
}
resource "aws_internet_gateway" "default" {
vpc_id = "${aws_vpc.default.id}"
}
resource "aws_route" "internet_access" {
route_table_id = "${aws_vpc.default.main_route_table_id}"
destination_cidr_block = "0.0.0.0/0"
gateway_id = "${aws_internet_gateway.default.id}"
}
…etc…
```
AWS Serverless Apps
- Resources
- AWS Kubernetes Service
- AWS Cloud Container Registry
- AWS Lambda – Serverless Function
- AWS IAM Authenticator
Conclusion
- Build Hybrid-Cloud Environment Labs with a click-of-button from Blueprints.
- Deliver Complex Test Lab Environments On-Demand for new Partners and Developers in mins.
- Increase efficiency by reducing developer manual resources required to deploy & test hybrid environments. Invest in automation.
P.S: Most of the pics/diagrams used here are available on public sources. Just google it.
DISCLAIMER: All views expressed on this site are my own and do not represent the opinions of any entity whatsoever with which I have been, am now, or will be affiliated. Any collateral used is referenced in the Web Resources or others sections on this page. The information provided on this website does not constitute investment advice, financial advice, or trading advice.