microservices - yet another buzzword

49
Microservices - Yet another buzzword? Orlando Code Camp, 2015 Ovidiu Dimulescu @odimulescu www.odimulescu.com

Upload: odimulescu

Post on 20-Jul-2015

119 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Microservices - Yet another buzzword

Microservices - Yet another buzzword Orlando Code Camp 2015

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

The opinions and views expressed in this talk are my own and do not necessarily reflect the opinions or views of my employer

3

Why bother

httpcommonswikimediaorgwikiFileBeer_growlerjpg

httpmicroxchgio2015indexhtml

~1 out 5 sessions on Microservices directly or indirectly

httpsskillsmattercomconferences6312-mucon

9 Wikimedia

httpcommonswikimediaorgwikiFileWindows_Phone_8_Startscreenpng

httpcommonswikimediaorgwikiFileIPhone_5C_PSDpng

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 2: Microservices - Yet another buzzword

The opinions and views expressed in this talk are my own and do not necessarily reflect the opinions or views of my employer

3

Why bother

httpcommonswikimediaorgwikiFileBeer_growlerjpg

httpmicroxchgio2015indexhtml

~1 out 5 sessions on Microservices directly or indirectly

httpsskillsmattercomconferences6312-mucon

9 Wikimedia

httpcommonswikimediaorgwikiFileWindows_Phone_8_Startscreenpng

httpcommonswikimediaorgwikiFileIPhone_5C_PSDpng

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 3: Microservices - Yet another buzzword

3

Why bother

httpcommonswikimediaorgwikiFileBeer_growlerjpg

httpmicroxchgio2015indexhtml

~1 out 5 sessions on Microservices directly or indirectly

httpsskillsmattercomconferences6312-mucon

9 Wikimedia

httpcommonswikimediaorgwikiFileWindows_Phone_8_Startscreenpng

httpcommonswikimediaorgwikiFileIPhone_5C_PSDpng

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 4: Microservices - Yet another buzzword

httpcommonswikimediaorgwikiFileBeer_growlerjpg

httpmicroxchgio2015indexhtml

~1 out 5 sessions on Microservices directly or indirectly

httpsskillsmattercomconferences6312-mucon

9 Wikimedia

httpcommonswikimediaorgwikiFileWindows_Phone_8_Startscreenpng

httpcommonswikimediaorgwikiFileIPhone_5C_PSDpng

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 5: Microservices - Yet another buzzword

httpmicroxchgio2015indexhtml

~1 out 5 sessions on Microservices directly or indirectly

httpsskillsmattercomconferences6312-mucon

9 Wikimedia

httpcommonswikimediaorgwikiFileWindows_Phone_8_Startscreenpng

httpcommonswikimediaorgwikiFileIPhone_5C_PSDpng

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 6: Microservices - Yet another buzzword

~1 out 5 sessions on Microservices directly or indirectly

httpsskillsmattercomconferences6312-mucon

9 Wikimedia

httpcommonswikimediaorgwikiFileWindows_Phone_8_Startscreenpng

httpcommonswikimediaorgwikiFileIPhone_5C_PSDpng

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 7: Microservices - Yet another buzzword

httpsskillsmattercomconferences6312-mucon

9 Wikimedia

httpcommonswikimediaorgwikiFileWindows_Phone_8_Startscreenpng

httpcommonswikimediaorgwikiFileIPhone_5C_PSDpng

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 8: Microservices - Yet another buzzword

9 Wikimedia

httpcommonswikimediaorgwikiFileWindows_Phone_8_Startscreenpng

httpcommonswikimediaorgwikiFileIPhone_5C_PSDpng

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 9: Microservices - Yet another buzzword

httpcommonswikimediaorgwikiFileWindows_Phone_8_Startscreenpng

httpcommonswikimediaorgwikiFileIPhone_5C_PSDpng

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 10: Microservices - Yet another buzzword

11

Monolith AppPM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore)

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 11: Microservices - Yet another buzzword

12

Monolith App

UI

Data Access

Business Domain

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 12: Microservices - Yet another buzzword

13

Monolith App

UI

Data Access

Business Domain

Comp I Comp II

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 13: Microservices - Yet another buzzword

14

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

httpcommonswikimediaorgwikiFileInkscape_icons_dialog_layerssvg

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 14: Microservices - Yet another buzzword

15

Does the code reflect the architecture

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 15: Microservices - Yet another buzzword

16

httpcommonswikimediaorgwikiFileComponent-cablesjpg

httpcommonswikimediaorgwikiFileGnome-emblem-packagesvg

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 16: Microservices - Yet another buzzword

17

APPUI

Data Access

Bussines Domain

hellip

APPUI

Data Access

Bussines Domain

APPUI

Data Access

Bussines Domain

Scalability model

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 17: Microservices - Yet another buzzword

18

ESBWS-SOAPXML

Svc I Svc II Svc N

PM

QA

DEV

DBA

SA

NetEng

ldquoOn Premiserdquo

No SQL (single datastore )

hellip

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 18: Microservices - Yet another buzzword

19

(Not so) Old world

Layers oriented

Scaling per app instead of per component

Process oriented friction prone

Single language

Single datastore

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 19: Microservices - Yet another buzzword

20 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 20: Microservices - Yet another buzzword

21 httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 21: Microservices - Yet another buzzword

22 httpcommonswikimediaorgwikiFileFour_continentspng

httpenwikipediaorgwikiUserShijauddinmediaFileI_am_a_Programmerpng

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 22: Microservices - Yet another buzzword

23

httpenwikipediaorgwikiConway27s_law

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

Melvin Conway 1968

Conwayrsquos Law

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 23: Microservices - Yet another buzzword

24

$$$

httpcommonswikimediaorgwikiFileGlC3BChlampe_42W_230V_E27_Effi_Klasse_Cjpg

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 24: Microservices - Yet another buzzword

25

Web size

Team size

Team skills and geo distribution

Systems Architecture

Time to market

Scalabilities

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 25: Microservices - Yet another buzzword

26

Opportunities

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 26: Microservices - Yet another buzzword

27 httpcommonswikimediaorgwikiFileA_new_and_correct_map_of_the_world_laid_down_according_to_the_newest_discoveries_and_from_the_most_exact_observations_(8342680176)jpg

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 27: Microservices - Yet another buzzword

28

PaaS

APIs

DevOpsHTTP 20JSON

IaaS

aaS

SQL + NoSQL (new datastores)

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 28: Microservices - Yet another buzzword

29

Self - serve

Convenience oriented low friction

Polyglot language and persistence

Fast amp affordable experimentation

Uniform amp disposable environments

New world

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 29: Microservices - Yet another buzzword

30

Old world - Good Parts

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 30: Microservices - Yet another buzzword

31

UNIX Philosophy

Write programs that do one thing and do it well

Write programs to work together

Write programs to handle text streams because that is a

universal interface

Doug McIlroy

httpenwikipediaorgwikiUnix_philosophy

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 31: Microservices - Yet another buzzword

32

Initial Stands for(acronym) Concept

S SRP [4] Single responsibility principle a class should have only a single responsibility (ie only one potential change in the softwares specification should be able to affect the specification of the class)

O OCP [5] Openclosed principle ldquosoftware entities hellip should be open for extension but closed for modificationrdquo

L LSP [6] Liskov substitution principle ldquoobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that programrdquo See also design by contract

I ISP [7] Interface segregation principle ldquomany client-specific interfaces are better than one general-purpose interfacerdquo[8]

D DIP [9] Dependency inversion principle one should ldquoDepend upon Abstractions Do not depend upon concretionsrdquo[8]

httpenwikipediaorgwikiSOLID_28object-oriented_design29

SOLID (OOP)

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 32: Microservices - Yet another buzzword

33

Discrete services that lsquodo one thing and do it wellrsquo

Microservices

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 33: Microservices - Yet another buzzword

34

SOA

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 34: Microservices - Yet another buzzword

35

Microservices

Micro is about scope not size

Independently deployable (group level)

Lightweight communication

Single process (lightweight containers)

Smart endpoints dumb pipes

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 35: Microservices - Yet another buzzword

36

Right tool for a job

Different code changing speeds

Organizational splits

Multiple scaling profiles

Multiple security zones

Cross functionality

Microservices - Pros

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 36: Microservices - Yet another buzzword

37

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 37: Microservices - Yet another buzzword

38

Splitting Merging Defining boundaries

Micro frameworks containers availability amp reliability

Wiring complexity

Configuration Management

Testing Deployment Monitoring

Data Management (MDM Eventual Consistency)

Cognitive complexity

Org structure and culture

Microservices - Challenges

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 38: Microservices - Yet another buzzword

39

Conwayrsquos Law

Adrian Cockcroft (Battery Ventures ex-Netflix) suggested that instead of designing software that copies our current organizational structure figure out how we want our software to look then (re) design the organization so it copies the software

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 39: Microservices - Yet another buzzword

40

Jeff Bezos CEO Amazon

httpcommonswikimediaorgwikiFilePepperoni_pizza_(2)png

Two Pizza Rule

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 40: Microservices - Yet another buzzword

41 httpapievangelistcom20120112the-secret-to-amazons-success-internal-apis

1) All teams will henceforth expose their data and functionality through service interfaces

2) Teams must communicate with each other through these interfaces

3) There will be no other form of interprocess communication allowed no direct linking no direct reads of another teamrsquos data store no shared-memory model no back-doors whatsoever The only communication allowed is via service interface calls over the network

4) It doesnrsquot matter what technology they use HTTP Corba Pubsub custom protocols mdash doesnrsquot matter Bezos doesnrsquot care

5) All service interfaces without exception must be designed from the ground up to be externalizable That is to say the team must plan and design to be able to expose the interface to developers in the outside world No exceptions

6) Anyone who doesnrsquot do this will be fired

Jeff Bezos CEO Amazon - Big Mandate

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 41: Microservices - Yet another buzzword

42

ldquoYou build it you run itrdquoWerner Vogels CTO Amazon

ACM Queue interview 2006 httpsqueueacmorgdetailcfmid=1142065

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 42: Microservices - Yet another buzzword

Native

Boot2Docker

Supported Platforms

Boot2Docker

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 43: Microservices - Yet another buzzword

Ecosystem

Many more hellip

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 44: Microservices - Yet another buzzword

Startup speed

Resource density

Layered file system with changes tracking

Hierarchical images with registry hub

Portable

Single process

Features

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 45: Microservices - Yet another buzzword

The Twelve-Factor App - www12factornet

coding the architecture - wwwcodingthearchitecturecom

Pass for Microservices - gilliamgithubio

Martin Fowler - martinfowlercomarticlesmicroserviceshtml

Chris Richardson - microservicesiopatternsmicroserviceshtml

High Scalability - highscalabilitycomblog201448microservices-not-a-free-lunchhtml

The Arm Blog - the-armcom20130930microservices-and-solid-principles-of-object-oriented-design

Dare to dream blog - davidmorgantiniblogspotcom201308micro-services-introductionhtml

Charles Young Blog - geekswithblogsnetcyoungarchive20141220hexagonal-architecturendashthe-great-reconcileraspx

Docker Website - dockercom

Google Search Engine - last but not least )

Resources

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom

Page 46: Microservices - Yet another buzzword

Questions

Ovidiu Dimulescu

odimulescu

wwwodimulescucom