Production Ready Microservices
All information presented below is not original content, this is a summary of the content that was presented by Susan Fowler within the O’Reilly books:
Production Readiness Standards
- Stability
- Reliability
- Scalability
- Fault-tolerance
- Catastrophe-preparedness
- Performance
- Monitoring
- Documentation
Deeper Dive into the Standards
Stability
- Stable development cycle
- Stable development process
- Stable introduction and deprecation procedures
Reliability
- Reliable deployment process
- Planning, mitigating, and protecting against the failures of dependencies
- Reliable routing and discovery
Scalability
- Well-defined quantitative and qualitative growth sales
- Identification of resource bottlenecks and requirements
- Careful and accurate capacity planning
- Scalable handling of traffic
- Scaling of dependencies
- Scalable data storage
Fault-tolerance & Catastrophe-preparedness
- Potential scenarios are identified and planned for
- Single points of failure are identified and resolved
- Microservice is tested for resiliency, thru code, load, and chaos testing
- Traffic is managed carefully in prep for failure
- Incident and outages are handled appropriately and productively
Performance
- Appropriate service level agreements (SLAs) for availability
- Proper task handling and processing
- Efficient utilization of resources
Monitoring
- Proper logging and tracing throughout the stack
- Well-designed dashboard that are easy to understand and accurately reflect the health
- Effective, actionable alerting accompanied by runbooks
- Implementing and maintaining an on-call rotation
Documentation
- Thorough, updated, and centralized documentation containing all info on a microservice
- Organizational understanding at the developer, team, and ecosystem levels