MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different...
Transcript of MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different...
![Page 1: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/1.jpg)
FIVE RULES OFMICROSERVICES
Armagan AmcalarI T.A.K.E. Unconference
April 7th, 2020
![Page 2: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/2.jpg)
Who am I?Who am I?Armagan AmcalarSoftware architect, leader, mentor, speaker
Founder @
dashersw dashersw
Lonca Works
erstecote
dovecotesemaver
vieux
brain-bitspedalboard.js
tartJSgeneJSjira-bot
AUTHORED ON GITHUBAUTHORED ON GITHUB
![Page 3: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/3.jpg)
OutlineOutlineWhat is and is not a Microservice
An example e-commerce application5 rules of microservices
Contemporary tools to enable true microservices
dashersw
![Page 4: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/4.jpg)
All microservices areAll microservices aredistributed applications.distributed applications.
Not every distributed applicationis a microservices application.
dashersw
![Page 5: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/5.jpg)
What is not a microservice?What is not a microservice?
Async operations with queue (and other) systemsHaving 50 different queue consumers (for notifications,
logging, reconciliation services, e-mailing etc) doesn’tmean you have 50 microservices
Multiple programs running on a single machine and
communicating over HTTP
dashersw
![Page 6: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/6.jpg)
What is a Microservice?What is a Microservice?
dashersw
If you are breaking down the fulfillment of a clientrequest into multiple collaborating services that run in
their own memory space, then you are doingmicroservices.
THE BASELINE
![Page 7: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/7.jpg)
MicroservicesMicroservicesThe quality of your approach depends on how well youapply Domain Driven Design and other best practices.
You have to —
Embrace changeGive autonomy to teams, to services
Automate testing, configuration, deployment,monitoring and moreFavor cattle over pets
dashersw
![Page 8: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/8.jpg)
An example e-commerce appAn example e-commerce app
dashersw
![Page 9: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/9.jpg)
Rule #1: Auto-discoveryRule #1: Auto-discovery
dashersw
![Page 10: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/10.jpg)
Auto-discoveryAuto-discovery
dashersw
![Page 11: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/11.jpg)
Rule #2: Zero-configurationRule #2: Zero-configuration
dashersw
![Page 12: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/12.jpg)
Rule #3: Highly-redundantRule #3: Highly-redundant
dashersw
![Page 13: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/13.jpg)
Rule #4: Fault-tolerantRule #4: Fault-tolerant
dashersw
![Page 14: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/14.jpg)
Rule #5: Self-healingRule #5: Self-healing
dashersw
![Page 15: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/15.jpg)
Groundwork: Orchestration ServicesGroundwork: Orchestration Services
dashersw
![Page 16: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/16.jpg)
Groundwork: Orchestration ServicesGroundwork: Orchestration Services
Enable auto-discovery,roll outs / roll backs,
self-healing,secret & configuration management
Rule #1: auto-discovery
Rule #2: zero-configurationRule #3: Highly-redundant
Rule #5: Self-healing
dashersw
![Page 17: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/17.jpg)
What about Rule #4: Fault-tolerance?What about Rule #4: Fault-tolerance?
dashersw
![Page 18: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/18.jpg)
What about Rule #4: Fault-tolerance?What about Rule #4: Fault-tolerance?
Circuit-breakersRetries
Timeouts
dashersw
![Page 19: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/19.jpg)
What about Rule #4: Fault-tolerance?What about Rule #4: Fault-tolerance?
Circuit-breakersRetries
Timeouts
dashersw
![Page 20: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/20.jpg)
What we have left outWhat we have left outOther common concerns for modern apps
Observability(Distributed) Tracing
AuthenticationAuthorization
Secrets managementVolume management
dashersw
![Page 21: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/21.jpg)
All microservices areAll microservices aredistributed applications.distributed applications.
Not every distributed applicationis a microservices application.
dashersw
![Page 22: MICROSERVICES FIVE RULES OF...Async operations with queue (and other) systems Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing](https://reader034.fdocuments.us/reader034/viewer/2022050611/5fb2803fa273d35ef8422818/html5/thumbnails/22.jpg)
thank you!thank you!slides:
https://slides.com/armaganamcalar/five-rules-of-microservices
Let's keep in touch!Let's keep in touch!Armagan Amcalar
dashersw