CloudFormation vs Terraform vs Ansible

29
#8 Forming clouds: CloudFormation vs Ansible vs TerraForm

Transcript of CloudFormation vs Terraform vs Ansible

Page 1: CloudFormation vs Terraform vs Ansible

#8 Forming clouds: CloudFormation vs

Ansible vs TerraForm

Page 2: CloudFormation vs Terraform vs Ansible
Page 3: CloudFormation vs Terraform vs Ansible

Geert Theys

Sales guy @skyscrapersStill likes to get his hands dirty.

github.com/gtheys twitter.com/toadi geerttheys.com

Page 4: CloudFormation vs Terraform vs Ansible

Mattias Gees

Cloud Engineer @skyscrapers

Likes to experiment!

github.com/mattiasgees twitter.com/mattiasgees blog.mattiasgees.be

Page 5: CloudFormation vs Terraform vs Ansible

CloudFormation<> Terraform

<> Ansiblefor AWS provisioning

Page 6: CloudFormation vs Terraform vs Ansible

All different toolsand there are many others!

Page 7: CloudFormation vs Terraform vs Ansible

All have their advantages

Page 8: CloudFormation vs Terraform vs Ansible

And disadvantages

Page 9: CloudFormation vs Terraform vs Ansible

Before we start!

Page 10: CloudFormation vs Terraform vs Ansible

Lets compare

Page 11: CloudFormation vs Terraform vs Ansible

Simple syntax?

Page 12: CloudFormation vs Terraform vs Ansible

CloudFormation:

Page 13: CloudFormation vs Terraform vs Ansible

Terraform:

Page 14: CloudFormation vs Terraform vs Ansible

Ansible:

Page 15: CloudFormation vs Terraform vs Ansible

Which one was the easiest to read?

Page 16: CloudFormation vs Terraform vs Ansible

Easy to install?Package managers:

• brew install

• apt-get install

• yum install

Warning: None are up to date!

Latest versions pip and/or sources

Page 17: CloudFormation vs Terraform vs Ansible

Safe to use?Terraform and Ansible have a plan or --check mode

Page 18: CloudFormation vs Terraform vs Ansible

Productive?

Page 19: CloudFormation vs Terraform vs Ansible

It's running ;)• CloudFormation:

• Parallelizes as much as possible

• Terraform:

• Use dependency graph and parallelizes as much as possible

• Partial refresh before changes

• Ansible:

Page 20: CloudFormation vs Terraform vs Ansible

How do they keep state?• Cloudformation on AWS

• Terraform creates a state file

• Ansible ad hoc state

Page 21: CloudFormation vs Terraform vs Ansible

Do I feel safe• CloudFormation:

• Start to pray when you run it

• Roll back on fail

• Terraform:

• Partial State gets stored on error (eg. sg gets created not the rules, next run will fix this)

• Create before destroy

Page 22: CloudFormation vs Terraform vs Ansible

Issues?• CloudFormation:

• JSON

• No partial run possible

• Terraform:

• No full coverage of AWS

• Ansible:

• Not every aws module has --dry-run check mode!

Page 23: CloudFormation vs Terraform vs Ansible

Legacy projects?• Cloudformation: Cloudformer

• Terraform: Terraforming

• Ansible: Just do it

Page 24: CloudFormation vs Terraform vs Ansible
Page 25: CloudFormation vs Terraform vs Ansible

Do you look cool when using it?

Page 26: CloudFormation vs Terraform vs Ansible

Do I want to use it?• Terraform: Destroy ordering, clean and readable, focus on 1

thing

• Ansible: It's simple

• Cloudformation: Who likes JSON?

Page 27: CloudFormation vs Terraform vs Ansible

Do we recommend 1?

Page 28: CloudFormation vs Terraform vs Ansible

Questions?Presentation + demo on github.com/skyscrapers/demo-aws-meetup

Page 29: CloudFormation vs Terraform vs Ansible