If you adopt things at the leading edge, you can gain in the short term, but in the long term, successful technologies get commoditized and become easier to use. You don’t want to be running your own hand-rolled container platform when other people are using managed Kubernetes—the cost is likely too high. But how do you decide whether to adopt a leading-edge technology? And how do you know when it’s time to change? Finally, how can you migrate onto the new architecture while keeping everything up and running?
The Financial Times content platform team put its first containers live in mid-2015 and migrated the rest of its services over by April 2016. At that point, the team was using a largely self-built stack on CoreOS Container Linux with Fleet to do cluster management.
At the end of 2016, the team members decided they wanted to benefit from the work other people were doing and switched over to Kubernetes. But it’s not easy to do that kind of move when you have 150+ microservices and you need to keep the existing platform running in parallel while you do the migration.
Sarah Wells explains why the team decided to do this migration, the challenges they faced in doing it while supporting their live platform, and the lessons learned along the way.
Sarah Wells is the technical director for operations and reliability at the Financial Times. Her teams build operational and developer tooling and help engineering teams at the FT to support the systems they build, including coordination, communication and learning around major incidents. Previously, Sarah was a developer and tech lead for nearly 20 years. Building a new microservices-based system about five years ago led her to develop a deep interest in operability, observability, and DevOps—and learn a lot about containerization, Kubernetes, and Go in the process.
©2018, O’Reilly UK Ltd • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com