Slide 1

Slide 1 text

The Bumpy Road Towards Containerised Microservices: Why Early Adoption Meant It Took Longer For Us To Get There @nickywrightson [email protected]

Slide 2

Slide 2 text

@nickywrightson Nicky Wrightson Principal Engineer & Tech Lead @ FT

Slide 3

Slide 3 text

@nickywrightson

Slide 4

Slide 4 text

https://six-degrees.ft.com/ @nickywrightson

Slide 5

Slide 5 text

https://www.ft.com The news business has changed a lot in the last 130 years

Slide 6

Slide 6 text

Over 200 services … In two regions … All containerised … Running on Kubernetes @nickywrightson

Slide 7

Slide 7 text

2. A meandering journey 3. Where we are now? 1. Why we chose containers 4. What’s next?

Slide 8

Slide 8 text

1. Why we chose containers

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Over 200 services … In two regions … ~550 VMs @nickywrightson

Slide 15

Slide 15 text

https://www.flickr.com/photos/bluesquarething/5165177846 We realised that we needed to look at containered solutions

Slide 16

Slide 16 text

We could reduce costs by ~ 80% using containers @nickywrightson

Slide 17

Slide 17 text

What about serverless? @nickywrightson

Slide 18

Slide 18 text

2. A meandering journey 1. Why we chose containers

Slide 19

Slide 19 text

3 and half years ago we started a proof of concept

Slide 20

Slide 20 text

Java service:
 9k Requests Simple JSON manipulation 340MB Go service:
 40k Requests Database query + manipulation 12MB @nickywrightson

Slide 21

Slide 21 text

@nickywrightson

Slide 22

Slide 22 text

Content in Containers == CoCo @nickywrightson

Slide 23

Slide 23 text

Containerise every service @nickywrightson

Slide 24

Slide 24 text

Monitoring @nickywrightson

Slide 25

Slide 25 text

Change database and programming language at the same time!!

Slide 26

Slide 26 text

It was not all plain sailing @nickywrightson

Slide 27

Slide 27 text

Stateful services do not play nice @nickywrightson

Slide 28

Slide 28 text

“We need a bigger boat” Richard Dreyfus in Jaws (1975) Image: http://goo.gl/4r26gS

Slide 29

Slide 29 text

We kept losing our live clusters

Slide 30

Slide 30 text

@nickywrightson

Slide 31

Slide 31 text

@nickywrightson

Slide 32

Slide 32 text

Monitor and react at the right levels

Slide 33

Slide 33 text

Metrics Dashboards for health

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

React quickly to security patching @nickywrightson

Slide 36

Slide 36 text

Deployment needs to be automated, consistent, repeatable and have the ability to be rolled back @nickywrightson

Slide 37

Slide 37 text

@nickywrightson

Slide 38

Slide 38 text

Massive shift in operational thinking @nickywrightson

Slide 39

Slide 39 text

If it is hard do it more often If it is really hard automate it! @nickywrightson

Slide 40

Slide 40 text

@nickywrightson

Slide 41

Slide 41 text

https://coreos.com/blog/migrating-from-fleet-to-kubernetes.html

Slide 42

Slide 42 text

@nickywrightson

Slide 43

Slide 43 text

How to iterate on 200 services at the same time? @nickywrightson

Slide 44

Slide 44 text

Photo by chuttersnap on Unsplash @nickywrightson You rarely get it right the first time

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

“Stateful services are painful to containerise” Nicky Wrightson January 2016

Slide 47

Slide 47 text

2. A meandering journey 1. Why we chose containers 3. Where we are now?

Slide 48

Slide 48 text

What did our containerisation journey give us? @nickywrightson

Slide 49

Slide 49 text

@nickywrightson

Slide 50

Slide 50 text

Operationally supportable @nickywrightson

Slide 51

Slide 51 text

Kubernetes will fix that …. @nickywrightson

Slide 52

Slide 52 text

Deployments are more graceful @nickywrightson

Slide 53

Slide 53 text

2. A meandering journey 1. Why we chose containers 3. Benefits to us now? 4. What’s next?

Slide 54

Slide 54 text

Enhance our initial approach

Slide 55

Slide 55 text

@nickywrightson

Slide 56

Slide 56 text

Get someone else to do the heavy lifting @nickywrightson

Slide 57

Slide 57 text

One cluster to rule them all … @nickywrightson

Slide 58

Slide 58 text

Federation

Slide 59

Slide 59 text

In Conclusion … @nickywrightson

Slide 60

Slide 60 text

Hindsight is always 20:20 Photo by NeONBRAND on Unsplash

Slide 61

Slide 61 text

Spend your innovation tokens wisely http://mcfunley.com/choose-boring-technology Photo by rawpixel on Unsplash

Slide 62

Slide 62 text

@nickywrightson [email protected] Thanks