Posts

Showing posts from August, 2019

Terraform setting up clustered web server !! Getting Started Part-3!!

Image
Last two posts first we saw the basics of terraform " Part-1 " and then created simple web server " Part-2 ".  Now as we know that running single web server in production is never a good idea. We always need services which should be highly available as well as should be scalable as per the requirements. Creating and managing a cluster always going to be a pain point. Fortunately  with new cloud technologies now its possible to automate all this and things will be much easier to manage. In this tutorial we'll use AWS's "Auto Scaling Group (ASG)".     An ASG takes care of everything automatically, including launching a cluster of EC2 instances , monitoring the health of each instance, replacing the failed instances and adjusting the size of cluster in response to the load. A full working ASG stack include multiple resources to make a working cluster. It starts with " launch configuration " which basically specify how a ...

Terraform setting up simple web server !! Getting Started Part-2!!

Image
In our last post " Getting started with terraform ", we just learn how to launch a simple EC2 instance in AWS. In this article we will dig more and will try to create a simple web server and try to access that. Architecture - We are not installing proper web-server, its just a hack. Using busybody to launch http process. #!/bin/bash echo "Hello, World" > index.html nohup busybox httpd -f -p 8080 & resource "aws_instance" "example" { ami = "ami-0cfee17793b08a293" instance_type = "t2.micro" user_data = << - EOF // Together #!/bin/bash echo "Hello, World" > index . html nohup busybox httpd -f -p 8080 & EOF tags = { Name = "terraform-example" } } The << - EOF (together)  and  EOF  are Terraform’s  heredoc  syntax, which allows...

Getting started with terraform

Image
What is Terraform -                                Ok, so Terraform is Open-Source Infrastructure-as-Code (IAC) software tool which created by HashiCrop . The idea behind IAC is to define, deploy, update and destroy your infrastructure without any much difficulties. The main idea behind this is to treat everything as a code. No matter what it is.  In this article, I am going in deep to explain about the software and compare this with other lots of available tool sets which together can be replaced this e.g. ansible, chef, puppet, salt, CloudFormation, ARM etc.  In this specific article, I'll just show how easily we can launch a basic EC2 instance with a small code set. Terraform is simple binary which you can download and put that in your path.  Below is the main architecture diagram which we are going to simulate. Create a file "main.tf" where tf stand...