Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Defining your infrastructure with code

mongrelion
January 11, 2016

Defining your infrastructure with code

This is a small presentation for the first HashiCorp Community Amsterdam meetup group. In here, I give a short introduction to Terraform, a utility to orchestrate your infrastructure using a custom, easy to understand DSL.

Edit: Updated resources list and added sponsors

mongrelion

January 11, 2016
Tweet

More Decks by mongrelion

Other Decks in Programming

Transcript

  1. container-solutions.com | @containersoluti What is Terraform? 3 • Infrastructure as

    Code • Execution Plans • Resource Graph • Change Automation
  2. container-solutions.com | @containersoluti What is Terraform? 4 • Infrastructure as

    Code • Execution Plans • Resource Graph • Change Automation
  3. container-solutions.com | @containersoluti What is Terraform? 5 • Infrastructure as

    Code • Execution Plans • Resource Graph • Change Automation
  4. container-solutions.com | @containersoluti What is Terraform? 6 • Infrastructure as

    Code • Execution Plans • Resource Graph • Change Automation
  5. container-solutions.com | @containersoluti What is Terraform? 7 • Infrastructure as

    Code • Execution Plans • Resource Graph • Change Automation
  6. container-solutions.com | @containersoluti 3rd party providers 2 3 • Heroku

    • Mailgun • MySQL • OpenStack • Packet • PostgreSQL • Rundeck • StatusCake • Template • Terraform • TLS • VMware vCloud Director • VMware vSphere • Atlas • AWS • Azure (Service Management) • Azure (Resource Manager) • Chef • CloudFlare • CloudStack • Consul • DigitalOcean • DNSMadeEasy • DNSimple • Docker • Dyn • Google Cloud
  7. container-solutions.com | @containersoluti 3rd party providers 2 4 • Heroku

    • Mailgun • MySQL • OpenStack • Packet • PostgreSQL • Rundeck • StatusCake • Template • Terraform • TLS • VMware vCloud Director • VMware vSphere • Atlas • AWS • Azure (Service Management) • Azure (Resource Manager) • Chef • CloudFlare • CloudStack • Consul • DigitalOcean • DNSMadeEasy • DNSimple • Docker • Dyn • Google Cloud • AWS instances • S3 buckets • Route53 records
  8. container-solutions.com | @containersoluti 3rd party providers 2 5 • Heroku

    • Mailgun • MySQL • OpenStack • Packet • PostgreSQL • Rundeck • StatusCake • Template • Terraform • TLS • VMware vCloud Director • VMware vSphere • Atlas • AWS • Azure (Service Management) • Azure (Resource Manager) • Chef • CloudFlare • CloudStack • Consul • DigitalOcean • DNSMadeEasy • DNSimple • Docker • Dyn • Google Cloud • AWS instances • S3 buckets • Route53 records • Compute instances • Networking resources • Load Balancers
  9. container-solutions.com | @containersoluti 3rd party providers 2 6 • Heroku

    • Mailgun • MySQL • OpenStack • Packet • PostgreSQL • Rundeck • StatusCake • Template • Terraform • TLS • VMware vCloud Director • VMware vSphere • Atlas • AWS • Azure (Service Management) • Azure (Resource Manager) • Chef • CloudFlare • CloudStack • Consul • DigitalOcean • DNSMadeEasy • DNSimple • Docker • Dyn • Google Cloud • AWS instances • S3 buckets • Route53 records • Images • Containers • Compute instances • Networking resources • Load Balancers
  10. container-solutions.com | @containersoluti 3rd party providers 2 7 • Heroku

    • Mailgun • MySQL • OpenStack • Packet • PostgreSQL • Rundeck • StatusCake • Template • Terraform • TLS • VMware vCloud Director • VMware vSphere • Atlas • AWS • Azure (Service Management) • Azure (Resource Manager) • Chef • CloudFlare • CloudStack • Consul • DigitalOcean • DNSMadeEasy • DNSimple • Docker • Dyn • Google Cloud • AWS instances • S3 buckets • Route53 records • Images • Containers • Compute instances • Networking resources • Load Balancers • Compute instances • Database instances • Networks
  11. container-solutions.com | @containersoluti 3rd party providers 2 8 • Heroku

    • Mailgun • MySQL • OpenStack • Packet • PostgreSQL • Rundeck • StatusCake • Template • Terraform • TLS • VMware vCloud Director • VMware vSphere • Atlas • AWS • Azure (Service Management) • Azure (Resource Manager) • Chef • CloudFlare • CloudStack • Consul • DigitalOcean • DNSMadeEasy • DNSimple • Docker • Dyn • Google Cloud • AWS instances • S3 buckets • Route53 records • Images • Containers • Compute instances • Networking resources • Load Balancers • Compute instances • Database instances • Networks Yours?
  12. container-solutions.com | @containersoluti Resources & Credits 3 1 • Terraform

    example files ➔ https://github.com/hashicorp/terraform/tree/master/examples ➔ https://github.com/terraform-community-modules/tf_aws_ec2_instance/blob/master/main.tf • Community modules https://github.com/terraform-community-modules • How to set up Mesos on Google Cloud with Terraform • Terraforming a Nomad cluster • Write your own Terraform provider: Part 1 • Icons: code by Brennan Novak from the Noun Project
  13. container-solutions.com | @containersoluti Sponsors 3 2 Special thanks to my

    sponsors who gave me the opportunity to work on Terraform in a very broad scope.