-->

27/07/2020

Terraform - Provisioning Infrastructure level Security in AWS

A year ago I have created an article showing how to create infrastructure-level security in AWS step by step. Now its time to automate the provisioning process using Octopus and terrafrom.

We have done it manually from AWS Management console.

Here is the link for the earlier article. 

Here are the components we intend to create using terrafrom.
We will be creating VPC, Public and Private Subnets, RoutTables, Security Groups, Inbound / Outbound rules for communication channels on each of the security groups.

20/07/2020

IaC - Terraform Automation using Octopus Deploy


Octopus is a enterprise mainstream release management tool, but now its avilable for developers via cloud under tha name of "Octopus Cloud". 
We don't need a "build server" as its is hosted by Octopus cloud and we utilize its resources for our deployments.

In this article we will learn how to deploy our "Infrastructure as Code" using Terraform and Octopus deploy. Beofre that, if you need to familiarize with terrafroms basics, go to earlier article.

I need to highlight couple of features we look, for considering this combination of Terraform and Octopus deploy.

#1. Configuration Management Vs Provisioning: 
We are not looking for Configuration management, as Chef and Puppet does better in that department. We want Provisioning tool which creates Infrastructure in the same state no matter what order the resources were mentioned and no matter how many times the tools was deployed.

#2. Idempotent:
This feature is the ability to create the infrasturcture in exact same state even after multiple runs. Terraform doesnt suffers from "Configuration Drift" unlike Cheff and Puppet.

#3. Economic: 
We are dealing with what a single developer can do on his dev machine. So unlike Cheff and Puuppet we dont need a "MasterServer" to save the state or to run the centralized updates. We can either use a shared location or in our case an S3 bucket for saving the state.

15/07/2020

IaC "Infrastructure as Code" using Terraform - Basics

Infrastucture as Code became a critical part of Devops. Some of the Infrastructure management tools that we know are CloudFormation famous for AWS, ARM for Azure, CDM for Google cloud platforms.

Terraform is a IaC tool which can translate HCL (Hasi Corp Language) to API calls which can be interpreted by various cloud platforms. Ths making it cloud-agnostic tool.

Another reason for using Terraform is it has a planning step when compared to other IaC tools. We will look at that feature in this article further down.

CloudFormation(AWS), ARM(Azure) and CDM(Google) are firstparty IaC tools, this means they will handle all infrastructure management tasks specific to that cloud platform. But these tools are not suitable for most of the thirt party service integration. Terraform addresses this issue with cloud-agnostic and better support for thirdparty service integration.

For more details please visit https://www.terraform.io/