Appendix A. Production-Readiness Checklist
This will be a checklist to run over all microservices—manually or in an automated way.
A Production-Ready Service Is Stable and Reliable
-
It has a standardized development cycle.
-
Its code is thoroughly tested through lint, unit, integration, and end-to-end testing.
-
Its test, packaging, build, and release process is completely automated.
-
It has a standardized deployment pipeline, containing staging, canary, and production phases.
-
Its clients are known.
-
Its dependencies are known, and there are backups, alternatives, fallbacks, and caching in place in case of failures.
-
It has stable and reliable routing and discovery in place.
A Production-Ready Service Is Scalable and Performant
-
Its qualitative and quantitative growth scales are known.
-
It uses hardware resources efficiently.
-
Its resource bottlenecks and requirements have been identified.
-
Capacity planning is automated and performed on a scheduled basis.
-
Its dependencies will scale with it.
-
It will scale with its clients.
-
Its traffic patterns are understood.
-
Traffic can be re-routed in case of failures.
-
It is written in a programming language that allows it to be scalable and performant.
-
It handles and processes tasks in a performant manner.
-
It handles and stores data in a scalable and performant way.
A Production-Ready Service Is Fault Tolerant and Prepared for Any Catastrophe
-
It has no single point of failure.
-
All failure scenarios and ...
Get Production-Ready Microservices now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.