Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... ·...

17
Microservices and Evolutionary Architecture Rebecca Parsons

Transcript of Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... ·...

Page 1: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

Microservices and Evolutionary ArchitectureRebecca Parsons

Page 2: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

WHY DO I CARE?

2

Organizations expect business agility, time to market, and the ability to adapt quickly from IT

Page 3: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

WHAT DID WE USED TO DO?

3

Remember component re-use?

!

Remember integration by database?

!

Remember SOA?

Page 4: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

SOA GOT SOME THINGS RIGHT

▫︎Break monoliths down into independent services

!

▫︎ Integration over internal coupling

!

▫︎ Encouraged greater acceptance of eventual consistency

!

▫︎At least made us think differently about the old approach

4

Page 5: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

SOA STILL TENDED TO MESS UP

▫︎Monster services

▫︎ Producer driven services

▫︎Orchestration

▫︎ Tooling often got in the way

▫︎Much harder to change (even though that’s why we did it)

▫︎Much harder to test

5

Page 6: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

AND NOW?

6

Micro-services

Page 7: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

WHAT ARE MICRO-SERVICES?

7

… an approach to developing a single application as a suite of small services, each running in its own process

and communicating with lightweight mechanisms, often an HTTP resource API.

martinfowler.com/articles/microservices.html

Page 8: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

CHARACTERISTICS OF MICRO-SERVICES

▫︎ Small

▫︎Built around business capabilities

▫︎ Independently deployable

▫︎ Little centralized management

▫︎ Smart end points and dumb pipes

▫︎ Lack of centralized, shared database

8

Page 9: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

IMPLICATIONS OF USING MICRO-SERVICES

▫︎Granularity question is crucial

▫︎Must balance cohesion and coupling

▫︎ Independently scalable

▫︎Monitoring crucial

▫︎ Explicit design for service failures

▫︎ Infrastructure automation and deployment automation essential

▫︎ Platform flexibility must be managed

▫︎ Eventual consistency must be managed

▫︎ Interface churn must be managed9

Page 10: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

HOW DO I DECOMPOSE MY MONOLITH?

▫︎ Think about bounded contexts as defined in Domain Driven Design

▫︎ Think about business capabilities

▫︎ Think about what consumers need

▫︎ Think about communication patterns

▫︎ Think about data architecture

▫︎ Think about correlated change patterns

▫︎Be prepared to combine services and split services

▫︎ Tolerant reader

10

Page 11: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

MICRO-SERVICES AND EVOLUTIONARY ARCHITECTURE

▫︎Micro-services exhibit many of the principles of evolutionary architecture

▫︎ Focus on evolvability

▫︎ Tolerant reader

▫︎ Exploiting Conway’s Law

▫︎Appropriate coupling

▫︎Contracts

▫︎ Testability

11

Page 12: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

ROLE OF CONTINUOUS DELIVERY

▫︎Micro-services increase the burden on operations

▫︎More things to deploy

▫︎Monitoring must be more sophisticated

▫︎More permutations of failure

▫︎ Inadvisable without a strong DevOps culture

▫︎ Inadvisable without rigor of continuous delivery

▫︎ Infrastructure automation

▫︎Deployment automation

▫︎ Test automation12

Page 13: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

How do I get started?

13

Page 14: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

Is this a silver bullet?

Sorry, but no.

Still, used effectively in many, varied organizations.

14

Page 15: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

To Learn More

Sam Newman

Building MicroservicesDESIGNING FINE-GRAINED SYSTEMS

Page 16: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

Thank you! @rebeccaparsons

http://rebeccaparsons.com

16

Page 17: Microservices and Evolutionary Architecturegotocon.com/dl/goto-chicago-2015/slides/Rebecca... · Microservices and Evolutionary Architecture Rebecca Parsons. WHY DO I CARE? 2 Organizations

Questions?Please remember to evaluate via the GOTO

Guide App