What is it all about?
"You know that Service Oriented Architecture you are using?"
"Yeah?"
"Keep on doing it - just make them smaller."
"Smaller? How small?"
"Well, as small as makes sense to you. Focus on making it do one thing, and one thing well."
"You mean, like, 'Integer as a service'?"
"Everything can be taken to an extreme - and that would be an extreme view. Maybe task-focused sub-domains."
What problem is it trying to solve?
Essentially, encapsulation and reuse.
The hope is, with service dependencies rather than assembly dependencies, that there will be less dependency and version conflicts.
Good Practices
ü Use re-writability as your heuristic.
ü Create an API tailored to your developer's use cases.
Practices to Avoid
x Sharing state between services.
x Distributing the services unnecessarily.
x Using request-response instead of push and events.
Benefits of Microservices
ü Independent scaling.
ü Independent failures.
ü Modularisation.
ü Reduced fear of making code changes.
Drawbacks of Microservices
x Networking issues.
x Latency & consequence performance reduction.
x Increased infrastructure requirements.
x Orchestration, monitoring.
x Communication complexity.
Comments
Post a Comment