microservices; a quick introduction
TRANSCRIPT
![Page 1: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/1.jpg)
Microservices;A Quick Introduction
Abouzar Noori
![Page 2: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/2.jpg)
Separate Track in Major Conferences
![Page 3: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/3.jpg)
Scaling Solutions
![Page 4: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/4.jpg)
Horizontal vs Vertical Modules
![Page 5: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/5.jpg)
Result
![Page 6: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/6.jpg)
![Page 7: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/7.jpg)
Cons
• You should write more code• Never choose Microservice for small or proof of concept projects
![Page 8: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/11.jpg)
Pros
• Use the right tool for the right job
![Page 12: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/16.jpg)
Challenges
• Clients should invoke many APIs instead of one• Aggregator pattern
![Page 17: Microservices; A Quick Introduction](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052705/58a1c8c81a28ab9d338b5daf/html5/thumbnails/19.jpg)
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