Mature microservices and how to operate them
YOW! 2019 Sydney
At the Financial Times, we built our first microservices in 2013. We like a microservices-based approach, because by breaking up the system into lots of independently deployable services - making releases small, quick and reversible - we can deliver more value, more quickly, to our customers and we can run hundreds of experiments a year.
This approach has had a big - and positive - impact on our culture. However, it is much more challenging to operate.
So how do we go about building stable, resilient systems from microservices? And how do we make sure we can fix any problems as quickly as possible?
I'll talk about building necessary operational capabilities in from the start: how monitoring can help you work out when something has gone wrong and how observability tools like log aggregation, tracing and metrics can help you fix it as quickly as possible.
We've also now being building microservice architectures for long enough to start to hit a whole new set of problems. Projects finish and teams move on to another part of the system, or maybe an entirely new system. So how do we reduce the risk of big issues happening once the team gets smaller and there start to be services that no-one in the team has ever touched?
The next legacy systems are going to be microservices, not monoliths, and you need to be working now to prevent that causing a lot of pain in the future.
Technical Director for Operations and Reliability
Sarah Wells has been a developer for 15 years, leading delivery teams across consultancy, financial services and media. Over the last few years she has developed a deep interest in operability, observability and devops, and this has recently led to her taking over responsibility for Operations and Reliability at the Financial Times.
Before that, she lead work at the FT on building a semantic publishing platform, making it easy to discover and access all the FT’s published content via APIs in a common and flexible format. That project meant a focus on Go, microservices, containerisation, and how to influence teams to do the right things.