Terraform Zero to Hero (1/6)

”Infrastructure as a code”

Going through all of the content (text, video, and courses), you will
acquire 80% of the terraform knowledge required for DevOps daily
tasks. Best way to learn is by practice so try to do things yourself while
going through the content.
Cloud computing metaphor: the group of networked elements providing
services need not be individually addressed or managed by users; instead,
the entire provider-managed suite of hardware and software can be
thought of as an amorphous cloud.
Cloud computing is an information technology (IT) paradigm that
enables ubiquitous access to shared pools of configurable system
resources and higher-level services that can be rapidly provisioned with
minimal management effort, often over the Internet. Cloud computing
relies on sharing of resources to achieve coherence and economies of scale,
similar to a public utility.
Three main ways to cloud compute are (service models)
1. IaaS — Infrastructure as a service e.g. GCP, AWS, Azure,
2. PaaS — Platform as a service e.g. App-engine, Force.com, Azure
3. SaaS — Software as a Service e.g. Gmail, GDrive, Salesforce, Dropbox,
Office 365
There are three ways to deploy cloud (cloud deployment models)

1. Private cloud
2. Public cloud
3. Hybrid cloud
Infrastructure management and automation is a very hot topic in the
context of cloud automation today. I have not used terraform earlier so,
I will be learning as well as writing important points to be noted while
working with terraform. We will go from basics to server implementations
using terraform.

You can check the dynamics of DevOps from the picture below


Infrastructure as a code (IaC) is a process of managing and provisioning mechanism for authenticating, planning and implementing servers and data centers in the cloud and private network through machine readable and understandable configuration files rather than physically configuring the hardware. Many infrastructures including bare metal servers and virtual servers can be configured through this method.

We can use either scripts or declarative definitions for defining the infrastructure. We can also use a version control system to manage the version of the infrastructure files that we develop during the time span.

There are two approaches to IaC implementation called push and pull approach. In a push approach, the configurations are pushed to the target system and in pull approach configurations are pulled from the configuration server.

Various tools for IaC

DevOps consists of various stages before any software implementation is ready. These can be defined in various stages.

  1. Plan

  2. Create

  3. Verify

  4. Packaging

  5. Release

  6. Configure

  7. Monitoring

We will go in detail on all topics listed above on our next blog.

TAG : #cloudcomputing #cloud #infrastructureasacode #terraform

FiareConsulting c/o Fiare Oy
Tammasaarenkatu 1 (4th floor), 00180 Helsinki

+358 40 504 8820