19
Microservices; A Quick Introduction Abouzar Noori

Microservices; A Quick Introduction

Embed Size (px)

Citation preview

Page 1: Microservices; A Quick Introduction

Microservices;A Quick Introduction

Abouzar Noori

Page 2: Microservices; A Quick Introduction

Separate Track in Major Conferences

Page 3: Microservices; A Quick Introduction

Scaling Solutions

Page 4: Microservices; A Quick Introduction

Horizontal vs Vertical Modules

Page 5: Microservices; A Quick Introduction

Result

Page 6: Microservices; A Quick Introduction
Page 7: Microservices; A Quick Introduction

Cons

• You should write more code• Never choose Microservice for small or proof of concept projects

Page 8: Microservices; A Quick Introduction

Cons

• You should write more code• Never choose Microservice for small or proof of concept projects

• Operational Complexity• In the very first steps of development

Page 9: Microservices; A Quick Introduction

Cons

• You should write more code• Never choose Microservice for small or proof of concept projects

• Operational Complexity• In the very first steps of development

• Your IDE can not help you to refactor your code!

Page 10: Microservices; A Quick Introduction

Cons

• You should write more code• Never choose Microservice for small or proof of concept projects

• Operational Complexity• In the very first steps of development

• Your IDE can not help you to refactor your code!

• Consistency Issues • Data duplication

• You will lose your lovely foreign keys

Page 11: Microservices; A Quick Introduction

Pros

• Use the right tool for the right job

Page 12: Microservices; A Quick Introduction

Pros

• Use the right tool for the right job

• Strong Module Boundaries• Autonomous teams

• Eases scaling the team!

• Faster product delivery

Page 13: Microservices; A Quick Introduction

Pros

• Use the right tool for the right job

• Strong Module Boundaries• Autonomous teams

• Eases scaling the team!

• Faster product delivery

• Independent deployment

Page 14: Microservices; A Quick Introduction

Pros

• Use the right tool for the right job

• Strong Module Boundaries• Autonomous teams

• Eases scaling the team!

• Faster product delivery

• Independent deployment

• Easier refactoring

Page 15: Microservices; A Quick Introduction

Pros

• Use the right tool for the right job

• Strong Module Boundaries• Autonomous teams

• Eases scaling the team!

• Faster product delivery

• Independent deployment

• Easier refactoring

• Isolate failure

Page 16: Microservices; A Quick Introduction

Challenges

• Clients should invoke many APIs instead of one• Aggregator pattern

Page 17: Microservices; A Quick Introduction

Challenges

• Clients should invoke many APIs instead of one• Aggregator pattern

• Communication among Microservices• Synchronous: REST

• Asynchronous: Message Queue

• Authenticating Microservices

Page 18: Microservices; A Quick Introduction

Challenges

• Clients should invoke many APIs instead of one• Aggregator pattern

• Communication among Microservices• Synchronous: REST

• Asynchronous: Message Queue

• Authenticating Microservices

• Centralizing Logs• Correlation ID

Page 19: Microservices; A Quick Introduction

References

• http://martinfowler.com/Microservices/

• http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf

• http://images.domain.com.au/img/pdf/20141020/4/29a95a6a-a2ac-4821-a0ce-c3c183b79337.pdf

• https://www.youtube.com/watch?v=r18BaOHRpE8