Members of the Cloud Native London Meetup had the pleasure tonight to hear some amazing speakers.
The first talk was called Switching Horses Midstream: The Challenges of Migrating 150+ Microservices to Kubernetes where Sarah Wells, the Technical Director for the Financial Times spoke about their migration from disperate Docker containers to a microservice architecture orchestrated with Kubernetes.
The FT’s content platform team put our first containers live in mid-2015 and migrated the rest of our services over by April 2016. We weren’t using Kubernetes but in late 2016, we decided we wanted to benefit from the work other people were doing and switched over to Kubernetes. We had 150+ microservices and needed to keep the existing platform running in parallel.
Perhaps one of the most salient points of the evening was when she recommended:
build every application and container constantly you don’t need to deploy it, but build it and test it
This struck me, as I hadn’t considered the staleness of built docker images before. She was correct, of course, as she recounted the horror of upgrading Go images years after all their dependencies had become out-of-date and deprecated.
Sarah made another fantastic point of /__health
vs /__gtg
endpoints,
representing “healh” and “good-to-go” repectively.
Just because a service is “healthy” doesn’t necessarily mean it’s ready to accept a full helping of traffic.
It may be warming caches, or have initialization tasks to perform before it can reach full capacity. Making this distinction it perhaps important depending on your architecture.