TripCase is well known as the slick mobile and desktop app to manage everything about your trips, but under the hood, there is a lot taking place to make that happen. One part of the experience is our Operations Team, made up of developers (like me), system owners, and system administrators. This team recently launched a project using Puppet with Docker to overhaul how we manage our infrastructure behind the scenes, to keep TripCase running smoothly and allow us to be more nimble with support.
Like many other successful startups, we’ve grown fast! Our configuration management shortcuts were catching up to us, so we started using a tool called Puppet to describe our infrastructure as code and data. If you think of it like a travel souvenir, it’s a little bit like mass-producing vs hand-carving. Puppet acts like a mold, and we can mass produce infrastructure, such as new servers, that are just like all the others. This lets us scale our services rapidly to meet your travel needs!
Sometimes, a mass-produced object has a downside, though. If you invest a lot of time & money in a mold, and you discover that the mold is obsolete or incorrect, you need to spend more time & money making a new mold. In my world, preparing a new server with a new “mold” might take a day or a few days, and coordinating with other teams might add to that. So we recently introduced another technology — Docker — into our bag of tools. Docker lets us prepare a new piece of our infrastructure in a kind of virtual data center. We can try it out, see how it reacts to changes, how new code works across multiple instances, all before having to invest a lot of significant time & money.