Terraforming and CloudFormation

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 13

Terraforming and

CloudFormation
Analysis in an AWS environment
Terraforming
 Terraform is developed by the Hashicorp team

 It is a cloud-agnostic tool which enables the provisioning


of hybrid-cloud infrastructures with a single tool.

 For example, maybe you want to use CloudFlare


DNS along with an AWS infrastructure
Terraform Enterprise

 Enterprise provides you with a managed


environment and dashboard that you do not have
to upkeep.

 This managed environment provides one of the


greatest benefits, collaboration and governance
capabilities.
Terraform Enterprise
Features
 Workspaces: Infrastructure is organized using Workspaces in
TFE. Workspace consists of Terraform configuration, variables,
run history and Terraform state information.

 Terraform Statefile Management: This may not sound a big


deal but I have seen 100s of state files created. Managing a
large volume of state files can get tricky. TFE takes care of
managing state files.

 Private Module Registry: A central service registry to publish


Terraform modules. Modules work as building blocks of complex
infrastructures.
Cloud Formation
 CloudFormation is AWS-specific

 Can be used to provision just about any type of AWS


service.

 Using CloudFormation, you can spin up new EC2 instances,


load balancers, S3 buckets, RDS databases and more.
Specialties: CloudFormation vs
Terraform

Great UI for both debugging and Vibrant community of open


general overview of everything sources
that is happening.

Simple module paradigm & it’s


Cross referencing is powerful & cloud agnostic
makes separating stacks easy.

Protection of Critical
Excellent Separation of Concerns Infrastructure Resources
Negatives: CloudFormation vs
Terraform

Lack of support Hard to debug through the


CLI

Required to use custom


Lack of Separation of
resources or shell scripts to
Concerns
get certain features
Modularization

 Both CloudFormation and Terraform do support


modularizing infrastructure blueprints.

Different approaches Modules in Terraform are


available to split your self-contained packages
Infrastructure into of Terraform
-Nested stacks configurations that are
-Export/ import output managed as a group
values
State Management

 CloudFormation is managing its state with so called


stacks, Terraform is storing its state on disk and offering
remote state as well.

The state is managed by The state is stored on local


CloudFormation disk by default. Supports
Out-of-the-box. Prevents backends to synchronize
conflicting changes. State and state locking.
Handling Existing Resources

It is not possible to Terraform allows you to


manage or integrate import existing resources
Existing resources into as well as using data
CloudFormation. Only sources to discover and
possibility: use input integrate other resources
parameters to integrate
With existing resources.
Syntax Comparison

CloudFormation EC2 Terraform


Any Questions ?

Thank You
References
 https://hackernoon.com/your-infrastructure-as-code-
cloudformation-vs-terraform-34ec5fb5f044

 https://ryaneschinger.com/blog/aws-cloudformation-
vs-terraform/

 https://medium.com/@endofcake/terraform-vs-
cloudformation-1d9716122623

You might also like