FIVE RULES OF
MICROSERVICES
Armagan Amcalar
I T.A.K.E. Unconference
April 7th, 2020
Armagan Amcalar
Software architect, leader, mentor, speaker
Founder @ Lonca Works
dashersw dashersw
What is and is not a Microservice
An example e-commerce application
5 rules of microservices
Contemporary tools to enable true microservices
dashersw
Not every distributed application
is a microservices application.
dashersw
Async operations with queue (and other) systems
Having 50 different queue consumers (for notifications, logging, reconciliation services, e-mailing etc) doesn’t mean you have 50 microservices
Multiple programs running on a single machine and communicating over HTTP
dashersw
dashersw
If you are breaking down the fulfillment of a client request into multiple collaborating services that run in their own memory space, then you are doing microservices.
THE BASELINE
The quality of your approach depends on how well you apply Domain Driven Design and other best practices.
You have to —
Embrace change
Give autonomy to teams, to services
Automate testing, configuration, deployment, monitoring and more
Favor cattle over pets
dashersw
dashersw
dashersw
dashersw
dashersw
dashersw
dashersw
dashersw
dashersw
Enable auto-discovery,
roll outs / roll backs,
self-healing,
secret & configuration management
Rule #1: auto-discovery
Rule #2: zero-configuration
Rule #3: Highly-redundant
Rule #5: Self-healing
dashersw
Circuit-breakers
Retries
Timeouts
dashersw
Other common concerns for modern apps
Observability
(Distributed) Tracing
Authentication
Authorization
Secrets management
Volume management
dashersw
Not every distributed application
is a microservices application.
dashersw