Top Banner
Implementing Adaptable Microservices; A Methodology for Loosely-Coupled Components Mike Amundsen DevOps: API Management and Application Development CA Technologies Dir. API Architecture, API Academy Session: DO3X96S @mamund #CAWorld
53

Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

Sep 09, 2018

Download

Documents

vuongkiet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

Implementing Adaptable Microservices; A Methodology for Loosely-Coupled Components

Mike Amundsen

DevOps: API Management and Application Development

CA Technologies

Dir. API Architecture, API AcademySession: DO3X96S

@mamund

#CAWorld

Page 2: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

3 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

© 2015 CA. All rights reserved. All trademarks referenced herein belong to their respective companies.

The content provided in this CA World 2015 presentation is intended for informational purposes only and does not form any type of

warranty. The information provided by a CA partner and/or CA customer has not been reviewed for accuracy by CA.

For Informational Purposes Only

Terms of this Presentation

Page 3: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

5 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Agenda

ADAPTABILITY

LOOSELY-COUPLED

Q & A

D.O.R.R.

CONWAY’S LAW

SUMMARY

1

2

3

4

5

6

Page 4: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

6 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Recent Tech Headlines…

“How Etsy Deploys More Than 50 Times a Day”- Joao Miranda - InfoQ, March 2014

“Netflix … deploys a hundred times per day”- Zef Hemel – InfoQ, June 2013

“How We Deploy 300 Times a Day”- Zack Bloom, Hubspot blog, November 2013

Page 5: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

7 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

What’s going on here?

Page 6: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

8 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

“Software at the Speed of DevOps”CIO Journal, March 2014

Page 7: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

9 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Yep – DevOps

Page 8: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

10 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Yep – DevOpsBut for CODE

Page 9: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

11 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

“The Three Ways: The Principles Underpinning DevOps”

The First Way: Systems Thinking

The Second Way: Amplify Feedback Loops

The Third Way: Culture of Continual Experimentation and Learning

By Gene Kim

Page 10: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

12 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Adaptability

Page 11: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

13 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Adaptability

“To make suitable to requirements or conditions; adjust or modify fittingly”

Page 12: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

14 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Adaptability

“To make suitable to requirements or conditions; adjust or modify fittingly”

Page 13: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

15 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Adaptability

“To make suitable to requirements or conditions; adjust or modify fittingly”

Page 14: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

16 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Evolution

“The gradual development of something, especially from simple to a

more complex form”

Page 15: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

17 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Refactoring

“The process of restructuring existing computer code without changing its

external behavior”

Page 16: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

18 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Refactoring

“The process of restructuring existing computer code without changing its

external behavior”

Page 17: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

19 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Adaptabilityis a

System Property

Page 18: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

20 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Adaptabilityis a

System Property

Page 19: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

21 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Loosely-Coupled

Page 20: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

22 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Loosely-Coupled

“A system in which each of its components has little or no

knowledge of the [internal] definitions of other separate components”

Page 21: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

23 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Loosely-Coupled

“Program to an INTERFACE, not an implementation.” – GoF, 1994

Page 22: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

24 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Loosely-Coupled

Your system is NOT loosely-coupled if deploying Component-A means you

MUST also deploy Component-B.

Page 23: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

25 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Loosely-Coupled

“Embrace independent evolvability.”

- Darrel Miller, Microsoft

Page 24: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

26 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Loosely-Coupledis a

Constraint

Page 25: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

27 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Loosely-Coupledis a

Constraint

Page 26: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

28 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.

Page 27: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

29 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.

Data Model (storage)

Object Model (functionality)

Resource Model (interface)

Representation Model (message)

Page 28: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

30 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.

Data Model

Page 29: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

31 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.

Object Model

Page 30: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

32 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.

Resource Model

Page 31: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

33 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.

RepresentationModel

Page 32: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

34 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.“Embrace Independent Evolvability”

Page 33: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

35 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.“Embrace Independent Evolvability”

Page 34: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

36 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.“Embrace Independent Evolvability”

Page 35: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

37 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.is a

Best Practice

Page 36: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

38 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

D. O. R. R.is a

Best Practice

Page 37: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

39 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Conway’s Law

Page 38: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

40 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Conway’s Law

“Organizations produce systems which are copies of their communication structures.”

– Mel Conway, 1968

Page 39: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

41 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Conway’s Law

Page 40: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

42 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Conway’s Law

Page 41: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

43 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Conway’s Law

“If you have four teams working on a compiler, you get a four-pass complier.”

– Eric S. Raymond

Page 42: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

44 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Conway’s Law

“Organizational metrics can predict software failure-proneness with a precision and recall of 85 percent.”

– Microsoft Research

Page 43: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

45 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Conway’s Lawis

Inevitable

Page 44: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

46 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Summary

Page 45: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

47 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Continuous Deployment

Every day you don’t release to production is another day you risk falling behind.

Page 46: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

48 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Continuous Change

“The only thing that is constant is change.”

- Heraclitus

Page 47: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

49 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Summary

1 Adaptability as a System Property

2 Loosely-Coupled as a Constraint

3 D.O.R.R as a Best Practice

4 Conway’s Law is Inevitable

Page 48: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

50 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Summary

1 Adaptability as a System Property

2 Loosely-Coupled as a Constraint

3 D.O.R.R as a Best Practice

4 Conway’s Law is Inevitable

Page 49: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

51 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Summary

1 Adaptability as a System Property

2 Loosely-Coupled as a Constraint

3 D.O.R.R. as a Best Practice

4 Conway’s Law is Inevitable

Page 50: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

52 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Summary

1 Adaptability as a System Property

2 Loosely-Coupled as a Constraint

3 D.O.R.R. as a Best Practice

4 Conway’s Law is Inevitable

Page 51: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

53 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Future of Change

“Those who ignore the mistakes of the future are bound to make them.”

- Dr. Joseph Miller

Page 52: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

54 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Q & A

Page 53: Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify fittingly” ... Adaptability “To make suitable to requirements or ... Implementing Adaptable

Implementing Adaptable Microservices; A Methodology for Loosely-Coupled Components

Mike Amundsen

DevOps: API Management and Application Development

CA Technologies

Dir. API Architecture, API Academy

@mamund

#CAWorld

Session: DO3X96S