when the monolith collapses-henning teek · don‘t even start without it!!8 monolith to...

26
WHEN THE MONOLITH COLLAPSES Henning Teek PREVENT PITFALLS WHILE MIGRATING TO MICROSERVICES August 2019

Upload: others

Post on 05-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

WHEN THE MONOLITH COLLAPSES

Henning Teek

PREVENT PITFALLS WHILE MIGRATING TO MICROSERVICES

August 2019

Page 2: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

!2

ABOUT ME

Henning Teek Senior Consultant / Cloud Native Developer

Storm Reply is Amazon AWS Premier Consulting Partner and is the company in the Reply group specialized in the design and implementation of innovative Cloud-based solutions and services.

• Software Architecture • Software Development • Build Management • CI / CD • DevOps

Page 3: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

• Microservices • Databases • Event Driven Architecture • Domain Driven Design

• Conclusion

TODAY‘S AGENDA

Page 4: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

MICROSERVICESFrom a monolith to multiple microservices

Page 5: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

!5

MONOLITH VS MICROSERVICES

Does everythingMONOLITH

Does one thingMICROSERVICE

Page 6: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

PROS

• Loose coupling • Scalability • Autonomy • Small teams

• Complexity • Eventual Consistency • Resource consumption

MICROSERVICESWhy?

CONS

Page 7: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

• Build automation • Continuous Integration (CI) • Continuous delivery and deployment (CD)

!7

PREREQUESITESDon‘t even start without it!

Page 8: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

!8

MONOLITH TO MICROSERVICEFirst steps

Loose coupling Scalability Autonomy Small teams

- - - - - - - -

Page 9: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

!8

MONOLITH TO MICROSERVICEFirst steps

Loose coupling Scalability Autonomy Small teams

- - - -

Page 10: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

DATABASESWhat about my data?

Page 11: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

!10

DATABASE PER SERVICEDon’t touch my data!

- - - -

Loose coupling Scalability Autonomy Small teams

Page 12: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

!10

DATABASE PER SERVICEDon’t touch my data!

Loose coupling Scalability Autonomy Small teams

+ + + + + +

Page 13: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

PROS

• Flexibility • Performance

• Complexity

!11

POLYGLOT PERSISTENCERelational isn‘t always the answer!

CONS

Page 14: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

RELATIONAL• Aurora • RDS • Redshift

• Dynamo DB • Document DB

!12

MANAGED SERVICES AWS Purpose-Built Databases

KEY-VALUE DOCUMENT

IN-MEMORY• Elasticache Redis • Elasticache

Memcached

• Neptune

GRAPH

• Timestream

TIME SERIES

Page 15: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

EVENT DRIVEN ARCHITECTUREDon‘t ask, just listen!

Page 16: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

+ + + + + +

!14

MESSAGE QUEUETo whom it may concern!

Loose coupling Scalability Autonomy Small teams

Page 17: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

!14

MESSAGE QUEUETo whom it may concern!

Loose coupling Scalability Autonomy Small teams

+ + + + + + + +

Page 18: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

PROS

• Loose coupling • Availabilty • Communication

patterns

• Complexity

!15

MESSAGINGHey you! Something happened!

CONS

Page 19: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

AMAZON MQ• Apache Active MQ • JMS, NMS, AMQP, STOMP,

MQTT and WebSocket • Point-To-Point • Publish-Subscribe

• Standard / FIFO • High throughput • At-Least-Once Delivery • Exactly-Once Processing

• AWS Services as Source • Message Filtering / Fanout • Encryption • Mobile Push / SMS

!16

MANAGED SERVICES AWS Purpose-Built Messaging

AMAZON SQS AMAZON SNS

AMAZON PINPOINT• Customer centered • Email, Voice, Push

Notification and SMS • Audience Management • Campaings

• Real-time Video / Data • Scalable / Durable • Data Firehose • Data Analytics

AMAZON KINESIS

• Serverles Event Bus • Built-In / Custom Sources • At-Least-Once Delivery • IAM Integration

AMAZON EVENTBRIDGE

Page 20: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

DOMAIN DRIVEN DESIGN

Page 21: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

!18

EVENT SOURCINGHistory matters!

Status Total …

101

Shipped 1054.40 …

OrderCreated

OrderApproved

OrderShipped

Order 101

Page 22: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

PROS

• Simplicity • Audit Log • Temporal Queries

• Queries

!19

EVENT SOURCINGHistory matters!

CONS

Page 23: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

PROS

• Separation of concerns

• Multiple views

• Complexity • Code duplication • Eventual consistency

!20

CQRSCommand Query Responsibility Segregation

CONS

Page 24: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

CONCLUSION

Page 25: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

!22

CONCLUSION

• Database per Service• Polyglot persistence1DATABASES

• Loose coupling • Availabilty2EVENT DRIVEN

• Reduce complexity • Availabilty 3MANAGED SERVICES

• Optimised views • Audit log• Temporal queries

4DOMAIN DRIVEN DESIGN

Page 26: When the monolith collapses-Henning Teek · Don‘t even start without it!!8 MONOLITH TO MICROSERVICE First steps Loose coupling ... EVENT SOURCING History matters! CONS. PROS •

THANK YOU