What's the best part of starting on something new? You get the opportunity to take everything you've learned, and make something better. As a system grows over time, one of the biggest challenges we face is ensuring it’s as stable tomorrow as it was yesterday. As part of a move from physical data centers to AWS over the past year we were given the opportunity to bring together a group of people with varied experience writing software and designing complex infrastructures and systems to solve this problem. Our collective experiences led us to make testing and automation central to everything we did. We’ve achieved this using a variety of tools to such as Terraform, Puppet, Test Kitchen, Serverspec, Jenkins, Docker, and even some custom written libraries to fill in the gaps.

There are a lot of moving pieces to track when deploying and configuring infrastructure and applications. This talk will focus on our solution. If you’d like to hear about how we’ve orchestrated standing up, and maintaining an environment, ensuring its stability by testing along the way, this talk will be for you. We will discuss the tools we’ve used, and what problems they’ve allowed us to solve as we’ve moved through this migration. We’ll discuss what has been great as we’ve progressed, and what could have gone better. We’ll talk about what other tools exist on the market, and why we made the decisions we did along the way.