training.amundsen.com @mamund mike amundsen...

128
© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap Mike Amundsen @mamund training.amundsen.com

Upload: others

Post on 25-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Microservices Migration RoadmapMike Amundsen

@mamundtraining.amundsen.com

Page 2: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved. 2

Page 3: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 4: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Let's get started...

Page 5: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

A Look Ahead● Why?● Unlocking Business Value● Basic Principles● Stabilizing Interfaces● Transforming Implementations● Adding Functionality● Rinse and Repeat

Microservice Migration Roadmap

Page 6: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 7: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Why?

Page 8: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 9: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Reasons to migrate to microservices

https://www.researchgate.net/publication/328216639

Page 10: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap
Page 11: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap
Page 12: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap
Page 13: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap
Page 14: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap
Page 15: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap
Page 16: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap
Page 17: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap
Page 18: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

Balancing Speed and Safety at Scale

Page 19: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 20: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Unlocking Business Value

Page 21: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Where is everything?Unlocking Business Value

Page 22: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Where is everything?Unlocking Business Value

By Pascal from Heidelberg, Germany - The Mess, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=37981790

Page 23: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Where is everything?Unlocking Business Value

http://www.computerweekly.com/feature/APIs-can-be-strategic-tools-to-unlock-business-value

"Data and services are stuck inside isolated applications within the enterprise."

-- Tung and Biltz, Accenture

Page 24: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Why does it cost so much to get at it?Unlocking Business Value

Page 25: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Why does it cost so much to get at it?Unlocking Business Value

By DOJ - US Department of Justice photo, Public Domain, https://commons.wikimedia.org/w/index.php?curid=6419733

Page 26: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Why does it cost so much to get at it?Unlocking Business Value

http://www.zdnet.com/article/eight-obstacles-to-overcome-in-your-digital-transformation-journey/

"It is about renovating at the core, as opposed to getting rid of the core."

-- Hung LeHong, Gartner

Page 27: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

How can I reduce cost/risk?Unlocking Business Value

Page 28: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

How can I reduce cost/risk?Unlocking Business Value

https://www.infoq.com/articles/standish-chaos-2015

Page 29: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

How can I reduce cost/risk?Unlocking Business Value

https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr/16-Dev_and_Ops/16

"Lower the risk of change through tools and culture."

-- John Allspaw, Etsy

Page 30: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 31: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 32: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

"Built for Change." -- Mike Gregoire, CEO, CA Technologies

Page 33: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

How can we do it?

Page 34: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Give your system the STAR treatment● Stabilize● Transform● Add● Repeat

Unlocking Business Value

Page 35: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

But first...

Page 36: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 37: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Basic Principles

Page 38: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The elephant in the room: one bite at a time.Basic Principles

Page 39: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The elephant in the room: one bite at a time.

By Bit Boy - Flickr: The Elephant in the Room, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=20972528

Basic Principles

Page 40: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The elephant in the room: one bite at a time.

https://medium.com/s-c-a-l-e/talking-microservices-with-the-man-who-made-netflix-s-cloud-famous-1032689afed3

"Whenever you do a transition, do the smallest thing that teaches you the most and do that over and over again."

-- Adrian Cockcroft, Netflix

Basic Principles

Page 41: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Employ facades, stranglers, and refactoringBasic Principles

Page 42: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Employ facades, stranglers, and refactoring

https://upload.wikimedia.org/wikipedia/en/5/57/Example_of_Facade_design_pattern_in_UML.png

Basic Principles

Page 43: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Employ facades, stranglers, and refactoring

http://www.blackwasp.co.uk/facade.aspx

"The facade design pattern is used to define a simplified interface to a more complex subsystem."

-- Richard Carr, BlackWasp

Basic Principles

Page 44: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Employ facades, stranglers, and refactoring

https://paulhammant.com/2013/07/14/legacy-application-strangulation-case-studies/

Basic Principles

Page 45: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Employ facades, stranglers, and refactoring

https://paulhammant.com/2013/07/14/legacy-application-strangulation-case-studies/

"Strangulation of a legacy solution is a safe way to phase one thing out for something better."

-- Paul Hammant, Thoughtworks

Basic Principles

Page 46: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Employ facades, stranglers, and refactoring

https://martinfowler.com/articles/refactoring-video-store-js/

Basic Principles

Page 47: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Employ facades, stranglers, and refactoring

https://martinfowler.com/books/refactoring.html

"When you refactor you are improving the design of the code after it has been written."

-- Martin Fowler, Thoughtworks

Basic Principles

Page 48: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

APIs are forever, code is not.Basic Principles

Page 49: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

APIs are forever, code is not.

https://upload.wikimedia.org/wikipedia/commons/5/5f/404_not_found.png

Basic Principles

Page 50: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

APIs are forever, code is not.

http://www.allthingsdistributed.com/2016/03/10-lessons-from-10-years-of-aws.html

"We knew that designing APIs was a very important task as we'd only have one chance to get it right."

-- Werner Vogels, Amazon

Basic Principles

Page 51: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Continuous change and instant reversibility Basic Principles

Page 52: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Continuous change and instant reversibility

https://martinfowler.com/bliki/BlueGreenDeployment.html

Basic Principles

Page 53: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Continuous change and instant reversibility

https://martinfowler.com/bliki/BlueGreenDeployment.html

"Blue-green deployment gives you a rapid way to rollback - if anything goes wrong."

-- Martin Fowler, Thoughtworks

Basic Principles

Page 54: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Basic Principles● Take one bite at a time.● Employ facades, stranglers, and refactoring● APIs are forever, code is not● Continuous change and instant reversibility

Page 55: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

So, what's the roadmap?

Page 56: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 57: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Step 1: Stabilize the Interface

Page 58: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

All API consumers talk to a proxyStep 1: Stabilize the Interface

Page 59: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

All API consumers talk to a proxyStep 1: Stabilize the Interface

Page 60: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

All API consumers talk to a proxyStep 1: Stabilize the Interface

Page 61: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Step 1: Stabilize the Interface

The stabilizer proxy is be pass-through only

Page 62: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The stabilizer proxy is be pass-through onlyStep 1: Stabilize the Interface

ABCD

ABC

Page 63: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Step 1: Stabilize the Interface

ABCD

ABC

The stabilizer proxy is be pass-through only

Page 64: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Step 1: Stabilize the Interface

ABCD

ABCD

The stabilizer proxy is be pass-through only

Page 65: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Step 1: Stabilize the Interface

ABCD

ABCD

The stabilizer proxy is be pass-through only

Page 66: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Step 1: Stabilize the Interface

ABCD

ABCD

The stabilizer proxy is be pass-through only

Page 67: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

ESBs, external services go behind the StabilizerStep 1: Stabilize the Interface

Page 68: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

ESBs go behind the StabilizerStep 1: Stabilize the Interface

Page 69: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

External services go behind the StabilizerStep 1: Stabilize the Interface

Page 70: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

"Proxy Marching"Step 1: Stabilize the Interface

Page 71: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

"Proxy Marching"Step 1: Stabilize the Interface

Page 72: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

"Proxy Marching"Step 1: Stabilize the Interface

Page 73: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

"Proxy Marching"Step 1: Stabilize the Interface

Page 74: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

"Proxy Marching"Step 1: Stabilize the Interface

Page 75: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Stabilize the InterfaceStep 1: Stabilize the Interface

● All API consumers talk to a proxy● The proxy MUST be pass-through only● Keep ESBs & external services behind the proxy● Employ a "Proxy March"

Page 76: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 77: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Step 2: Transform the Implementation

Page 78: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Refactor existing componentsStep 2: Transform the Implementation

Page 79: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Refactor existing componentsStep 2: Transform the Implementation

API ConsumersABCD

ABCD

Page 80: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Refactor existing componentsStep 2: Transform the Implementation

API ConsumersABCD

ABCD

Page 81: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Refactor existing componentsStep 2: Transform the Implementation

API Consumers

ABCD

ABCD

Page 82: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Refactor existing componentsStep 2: Transform the Implementation

API Consumers

ABCD

ABCD

Page 83: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Strangle the monolithStep 2: Transform the Implementation

Page 84: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Strangle the monolithStep 2: Transform the Implementation

API Consumers

ABCD

ABCD

VWXY

MNOP

MNOP

VWXY

QRST

QRST

Page 85: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Strangle the monolithStep 2: Transform the Implementation

API Consumers

ABCD

ABCD

VWXY

MNOP

MNOP

VWXY

QRST

QRST

Page 86: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Strangle the monolithStep 2: Transform the Implementation

API Consumers

ABCD

ABCD

VWXY

MNOP

MNOP

VWXY

QRST

QRST

Page 87: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Strangle the monolithStep 2: Transform the Implementation

API Consumers

ABCD

ABCD

VWXY

MNOP

MNOP

VWXYQR

ST

QRST

Page 88: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Strangle the monolithStep 2: Transform the Implementation

API Consumers

ABCD

ABCD

VWXY

MNOP

MNOP

VWXYQR

ST

QRST

Page 89: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Replace tangled ESBs with facadesStep 2: Transform the Implementation

Page 90: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Replace tangled ESBs with facadesStep 2: Transform the Implementation

API Consumers

ABCD

MNOP

VWXY

MN

VW

AB

XY

OP

CD

Page 91: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Replace tangled ESBs with facadesStep 2: Transform the Implementation

API Consumers

ABCD

MNOP

VWXY

MN

VW

AB

XY

OP

CD

Page 92: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Transform the ImplementationStep 2: Transform the Implementation

● Refactor existing components● Strangle the monolith● Replace tangled ESBs

Page 93: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 94: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Step 3: Add Functionality

Page 95: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Update functionality via side-by-side componentsStep 3: Add Functionality

Page 96: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Update functionality via side-by-side componentsStep 3: Add Functionality

API Consumers

ABCD

ABCD

V1

Page 97: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Update functionality via side-by-side componentsStep 3: Add Functionality

API Consumers

ABCD

ABCD

ABCDEF

ABCDEF

V1

V2

Page 98: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Introduce new functionality via new componentsStep 3: Add Functionality

Page 99: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Introduce new functionality via new componentsStep 3: Add Functionality

API Consumers

ABCD

ABCD

Page 100: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Introduce new functionality via new componentsStep 3: Add Functionality

API Consumers

ABCD

ABCD

ZZXX

ZZXX

Page 101: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Acquire new functionality via 3rd party facadesStep 3: Add Functionality

Page 102: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Acquire new functionality via 3rd party facadesStep 3: Add Functionality

API Consumers

ABCD

MNOP

VWXY

MNOP

VWXY

ABCD

Page 103: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Acquire new functionality via 3rd party facadesStep 3: Add Functionality

API Consumers

ABCD

MNOP

VWXY

MNOP

VWXY

ABCD

Page 104: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Acquire new functionality via 3rd party facadesStep 3: Add Functionality

API Consumers

ABCD

MNOP

VWXY

MNOP

VWXY

ABCD

F

Page 105: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Add FunctionalityStep 3: Add Functionality

● Side-by-side updates● New components● External services facades

Page 106: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 107: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Step 4: Rinse and Repeat

Page 108: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

All changes are incrementalStep 4: Rinse and Repeat

Page 109: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

All changes are incremental

https://www.slideshare.net/jallspaw/ops-metametrics-the-currency-you-pay-for-change-4608108

Step 4: Rinse and Repeat

Page 110: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

All changes are incremental

https://www.wired.com/insights/2013/11/the-power-of-incremental-innovation/

"Incremental change may just be the next big thing this decade."

-- Sandeep Kishore, HCL Technologies

Step 4: Rinse and Repeat

Page 111: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Aim for loose interop, not tight integrationStep 4: Rinse and Repeat

Page 112: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Aim for loose interop, not tight integration

By Wkinterop - Powerpoint -> PNG, CC BY-SA 3.0, https://en.wikipedia.org/w/index.php?curid=35139609

Step 4: Rinse and Repeat

Page 113: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Aim for loose interop, not tight integration

https://blogs.technet.microsoft.com/michael_platt/2005/08/30/integration-and-interoperability/

"Interoperation is peer to peer. Integration is where a system is subsumed within another."

-- Michael Platt, Microsoft

Step 4: Rinse and Repeat

Page 114: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Support continuous improvementStep 4: Rinse and Repeat

Page 115: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Support continuous improvement

By Johannes Vietze - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=26722308

Step 4: Rinse and Repeat

Page 116: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Support continuous improvement

https://deming.org/management-system/pdsacycle

"Management's job is to improve the system."

-- W. Edwards Deming

Step 4: Rinse and Repeat

Page 117: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Rinse and RepeatStep 4: Rinse and Repeat

● Make only incremental changes● Aim for peer-to-peer interoperability● Support continuous improvement

Page 118: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

So...

Page 119: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The Quick SummaryMicroservice Migration Roadmap

Page 120: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The Quick SummaryMicroservice Migration Roadmap

● Focus on Unlocking Value

Page 121: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The Quick SummaryMicroservice Migration Roadmap

● Focus on Unlocking Value● Change One Thing

Page 122: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The Quick SummaryMicroservice Migration Roadmap

● Focus on Unlocking Value● Change One Thing● Stabilize the Interface

Page 123: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The Quick SummaryMicroservice Migration Roadmap

● Focus on Unlocking Value● Change One Thing● Stabilize the Interface● Transform the Implementation

Page 124: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The Quick SummaryMicroservice Migration Roadmap

● Focus on Unlocking Value● Change One Thing● Stabilize the Interface● Transform the Implementation● Add Functionality

Page 125: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

The Quick SummaryMicroservice Migration Roadmap

● Focus on Unlocking Value● Change One Thing● Stabilize the Interface● Transform the Implementation● Add Functionality● Rinse and Repeat

Page 126: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Page 127: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Don't forget your 25% discount & your laptop stickers!

127

Page 128: training.amundsen.com @mamund Mike Amundsen …amundsen.com/talks/2020-02-sacon-nyc/2020-02-sacon-nyc.pdf© 2017 CA. Confidential. All rights reserved. Microservices Migration Roadmap

© 2017 CA. Confidential. All rights reserved.

Microservices Migration RoadmapMike Amundsen

@mamundtraining.amundsen.com