Must for Microservices !!
1 min readJun 20, 2019
- Give features and tools to Developers as FREE (no coding required)
- All Devs are responsible to OWN their Features from Coding-> Production
- New expectations from Devs apart from Coding and Testing: deploy their changes, monitor Prod, rollback, react to Pager alert, etc
- Version control everything(Codebase, [Jenkins, Docker, Kubernetes]:files)
- Naming convention (Service Name & Names of JIRA proj, Git Repo, Jenkins Job, Docker Repo, Kubernetes Pod & Service name should be Identical)
- Standard Configuration items for all Microservices
- End to End encryption using TLS certs
- Horizontally scalable, no Single point of Failure
- No runtime dependencies on External systems
- Frontend Graceful degradation, when backend Fails
- Do not share Business Logic : Code between MSA
- Share Code for AuthN, AuthZ, Logs, Metrics: between MSA
- All console logs/errors go to centralized logging system
- Collect Metrics (System & Business) from all Microservices and store in Central Metrics Database: without Developer writing any Code
- Developer will write/expose custom Business Metrics in their Code
- Every MSA has own Dashboard -> showing System & Business Metrics
- Developer can write Alerts as Code
- Developer can set Alerts on Any Metric