Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify...

53
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

Transcript of Implementing Adaptable Microservices; A Methodology … · conditions; adjust or modify...

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

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

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

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

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

What’s going on here?

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

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

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

Yep – DevOps

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

Yep – DevOpsBut for CODE

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

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

Adaptability

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

Adaptability

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

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

Adaptability

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

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

Adaptability

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

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

Evolution

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

more complex form”

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

Refactoring

“The process of restructuring existing computer code without changing its

external behavior”

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

Refactoring

“The process of restructuring existing computer code without changing its

external behavior”

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

Adaptabilityis a

System Property

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

Adaptabilityis a

System Property

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

Loosely-Coupled

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”

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

Loosely-Coupled

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

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.

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

Loosely-Coupled

“Embrace independent evolvability.”

- Darrel Miller, Microsoft

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

Loosely-Coupledis a

Constraint

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

Loosely-Coupledis a

Constraint

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

D. O. R. R.

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

D. O. R. R.

Data Model (storage)

Object Model (functionality)

Resource Model (interface)

Representation Model (message)

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

D. O. R. R.

Data Model

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

D. O. R. R.

Object Model

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

D. O. R. R.

Resource Model

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

D. O. R. R.

RepresentationModel

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

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

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

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

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

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

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

D. O. R. R.is a

Best Practice

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

D. O. R. R.is a

Best Practice

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

Conway’s Law

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

Conway’s Law

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

– Mel Conway, 1968

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

Conway’s Law

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

Conway’s Law

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

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

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

Conway’s Lawis

Inevitable

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

Summary

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.

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

Continuous Change

“The only thing that is constant is change.”

- Heraclitus

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

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

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

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

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

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

Q & A

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