+ All Categories
Home > Documents > MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind...

MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind...

Date post: 25-May-2020
Category:
Upload: others
View: 8 times
Download: 0 times
Share this document with a friend
31
Microservices Architecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck: http://bit.ly/microservices-blindspots
Transcript
Page 1: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

Microservices Architecture:The Blind Spots

Irakli Nadareishvili,

Director of Strategy, API Academy

CA Technologies

Deck:http://bit.ly/microservices-blindspots

Page 2: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

2 ©2015CA.ALLRIGHTSRESERVED. inadarei

Page 3: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

3 ©2015CA.ALLRIGHTSRESERVED. inadarei

#1What Drives Microservices Adoption?

¯\_(ツ)_/¯

Page 4: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

4 ©2015CA.ALLRIGHTSRESERVED. inadarei

Page 5: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

5 ©2015CA.ALLRIGHTSRESERVED. inadarei

TechnologyHeterogeneityPartitionedScalability(permicroservice)IndependentDeploymentsCompose-abilityOptimizedforReplace-ability

1

2

3

4

5

Key Benefits of Microservices (as of 2015)

Page 6: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

6 ©2015CA.ALLRIGHTSRESERVED. inadarei

Motivations for Adoption Will ChangeThereasonswhyMSAbecamepopulararenotthesamereasonswhyitwillbecomeubiquitous

Source:CrossingtheChasm– GeoffreyA.Moore

Page 7: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

7 ©2015CA.ALLRIGHTSRESERVED. inadarei

Docker is a "gateway drug" for MSA

Page 8: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

8 ©2015CA.ALLRIGHTSRESERVED. inadarei

Containerization will drive MSA Adoptionto the extent that:

Microservices won't be a "choice"

Prediction:

Page 9: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

9 ©2015CA.ALLRIGHTSRESERVED. inadarei

#2Current Focus Is Too Code-Centric

Page 10: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

10 ©2015CA.ALLRIGHTSRESERVED. inadarei

Caution: Coupling of service interfaces is every bit as toxic as the code one, and can render entire architecture useless.

Hypermedia design, with its high degree of interface de-coupling can be of huge help here.

Page 11: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

11 ©2015CA.ALLRIGHTSRESERVED. inadarei

#3Decentralized Data

Page 12: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

12 ©2015CA.ALLRIGHTSRESERVED. inadarei

Page 13: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

13 ©2015CA.ALLRIGHTSRESERVED. inadarei

DDD & Bounded Contexts

Page 14: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

14 ©2015CA.ALLRIGHTSRESERVED. inadarei

Bounded Context = Capabilities.

“In your organization, you should be thinking not in terms of data that is shared, but about the capabilities those contexts provide the rest of the domain.”

– Sam Newman, Building Microservices

Page 15: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

15 ©2015CA.ALLRIGHTSRESERVED. inadarei

Page 16: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

16 ©2015CA.ALLRIGHTSRESERVED. inadarei

“Bounded context should be asbig as it needs to be in order tofully express its completeUbiquitous Language”

– Vaughn Vernon, Implementing Domain –Driven Design.

Page 17: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

17 ©2015CA.ALLRIGHTSRESERVED. inadarei

Inherent Conflict:Business teamsactuallydon'tfavorsmallboundedcontexts(duetodiff.ubiquitouslanguage).

Fortech:continuousIntegrationiseasierwithsmallerteamsandcodebases.

Page 18: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

18 ©2015CA.ALLRIGHTSRESERVED. inadarei

In general: DDD alone will not be able to give you small enough microservices and/or solve data embedding requirements.

Page 19: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

19 ©2015CA.ALLRIGHTSRESERVED. inadarei

Data Storage Alternative: Event Sourcing & CQRS

Page 20: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

20 ©2015CA.ALLRIGHTSRESERVED. inadarei

CRUD-Oriented System Model

PatientDemographics

ClinicalNotes(3)

BillingInformation

Insurances(2)

Visits(3)

Page 21: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

21 ©2015CA.ALLRIGHTSRESERVED. inadarei

"Event Sourcing is all about storing facts and any time you have "state" (structural models) – they are first-level derivative off of your facts.

And they are transient."

- Greg Young

Page 22: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

22 ©2015CA.ALLRIGHTSRESERVED. inadarei

Command and Query Responsibility Segregation (CQRS)

Segregate operations that read data from operations that update data by using separate interfaces.

This pattern can maximize performance, scalability, and security; support evolution of the system over time through higher flexibility; and prevent update commands from causing merge conflicts at the domain level.

https://msdn.microsoft.com/en-us/library/dn568103.aspx

Page 23: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

23 ©2015CA.ALLRIGHTSRESERVED. inadarei

"Current State"-Oriented System Model

PatientDemographics

ClinicalNotes(3)

BillingInformation

Insurances(2)

Visits(3)

Page 24: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

24 ©2015CA.ALLRIGHTSRESERVED. inadarei

Events-based Model

PatientCreated

InsuranceAdded

InsuranceAdded

BillingInfoAdded

Visit'sClinicalNoteAdded

Visit'sClinicalNoteAdded

Visit'sClinicalNoteAdded

Visit'sClinicalNoteAdded

Visit'sClinicalNoteAdded

Visit'sClinicalNoteAdded

Visit'sClinicalNoteAdded

VisitAdded

VisitAdded

VisitAdded

Page 25: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

25 ©2015CA.ALLRIGHTSRESERVED. inadarei

"Patient Visits" Microservice

VisitMessageQueue

FactsStore(e.g.Cassandra)

"List Patient Visits by a Doctor" Microservice

Query IndexStore(e.g.ElasticSearch)

Validation

Page 26: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

26 ©2015CA.ALLRIGHTSRESERVED. inadarei

Do Not Overuse ES or CQRS!YoushouldonlyuseEventSourcingandCQRSwhennecessary.Itisnotanarchitectureforyourentiresystem,butatooltobeusedsparingly.

Page 27: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

27 ©2015CA.ALLRIGHTSRESERVED. inadarei

What About Them Transactions?

Use: Sagas (Long-LivedDistributedTransactions)

@see:http://vasters.com/clemensv/2012/09/01/Sagas.aspx

Designedby:HectorGarcia-Molina&KennethSalem,Princeton,1987

Page 28: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

28 ©2015CA.ALLRIGHTSRESERVED. inadarei

One More Thing…

Page 29: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

29 ©2015CA.ALLRIGHTSRESERVED. inadarei

http://martinfowler.com/bliki/MicroservicePrerequisites.html

I really, really hated this message, so I did smth. about it

Page 30: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

30 ©2015CA.ALLRIGHTSRESERVED. inadarei

https://github.com/apiacademy/microservices-deployment

Page 31: MicroservicesArchitecture: The Blind Spots · 2020-05-04 · MicroservicesArchitecture: The Blind Spots Irakli Nadareishvili, Director of Strategy, API Academy CA Technologies Deck:

DirectorofStrategy,APIAcademyIrakliNadareishvili

@inadarei

@apiacademy

@cainc

http://bit.ly/microservices-blindspots


Recommended