PuppetConf 2016 (Part 6): Scaling Puppet on AWS ECS With Terraform and Docker
Amazon's ECS can beat out EC2 when it comes to provisioning containers. See how your infrastructure choices match up to scale Puppet.
Join the DZone community and get the full member experience.Join For Free
The way IT operations teams deploy and manage their infrastructure is constantly evolving. The latest developments in containers and container scheduling technologies such as Docker, Kubernetes, and Mesos, especially, have gotten a lot of attention, and more and more people in IT and software development are adopting these solutions — and deploying infrastructure in the cloud — all the time.
Managing this modern infrastructure isn't a trivial task — and that's exactly what Puppet is here for. In this post, I am summarizing for you some of the excellent talks that were given at PuppetConf 2016 on container technologies and how Puppet fits into this new IT ecosystem. These talks — all captured on video — really are a must-watch if you are using these technologies, and even more so if you are thinking about adopting them.
If you want to start this video series from the beginning, take a look at why it's important to care about container management, the challenges with container configuration, running Puppet software in Docker, Kubernetes for Sysadmins, and using Puppet with Kubernetes and OpenShift.
Scaling Puppet on AWS ECS With Terraform and Docker
Maxime Visonneau, principal DevOps engineer at The Trainline, gave a really interesting talk at PuppetConf, Scaling Puppet on AWS ECS With Terraform And Docker.
Maxime gives an overview of Terraform, an open source provisioning tool, and Amazon's EC2 Container Service (ECS). Terraform uses a high-level descriptive language like Puppet to describe the desired state of your infrastructure. ECS is a container management service tool provided by Amazon Web Services that allows you to schedule containers on top of EC2 instances.
Maxime and his team implemented this approach to scaling Puppet infrastructure as a way to increase speed. Previously, they were running Puppet Server on top of EC2 instances, and they found that by running Puppet Server on ECS, they were able to provision new Puppet Server instances 10 times faster!
Maxime discusses the pros and cons of this approach. He covers the Puppet code workflow that The Trainline is using, and also demos scaling Puppet infrastructure using ECS, Terraform and Docker, and shows how this implementation could be improved.
Published at DZone with permission of Mark Wilson, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.