Senior Software Engineer @ Microsoft
An architectural style for building software solutions as a network-based system of modular services organized by business domains in order to improve the application’s evolvability, deployability, composability, scalability, resiliency and replaceability
Mike Amundsen, Matt McLarty, Ronnie Mitra, Irakli Ndareishvili. Microservice Architecture: Aligning Principles, Practices, and Culture.
I'm not oposed to microservices
or breaking up monoliths!
'Modules or microservices?' by Sander Mak at The O’Reilly Software Architecture Conference, NY 2017
languages, frameworks, communication protocols, tools, dashboards
The only way to cut down on technical sprawl is through standardization at every level of the microservice ecosystem.
Fowler, Susan J. Production-ready Microservices: Building Standardized Systems Across an Egineering Organization.
var result = Method(arg1, arg2);
Performance, reliability, security, debugging,
service discovery, telemetry
code discoverability, cross-service changes
test granurality, API changes,
Continuous deployments, parallel deployments, homogeneous environments,
standing up new environments
Who do you call when something goes wrong at 3AM?
Request tracing, service dependencies,
service health and performance, network traffic
Evolution, not revolution
Ship the monolith faster first!
Start with something that's not critical
Move to more critical things later
Move/Split for the sake of splitting does very little sense
It has to be so much better, that people will want to move organically