Do you want to review the health of your system of microservices ? Need a checklist of things to look at as you evaluate the architecture and implementation. Take a look at this all encompassing checklist of things to examine the production readiness and scale of your system of microservices.
- Libraries
- How many unused libraries are there?
- Are there any libraries that could be replaced by features included with Spring?
- Connection Pooling
- How is concurrency handled ?
- Latency
- How long does the app take to start up?
- Is there a meaningful difference in data transmission speed with a high load when using rsockets vs. https?
- Is there a meaningful difference in data transmission speed when using a reactive tech stack vs. a traditional tech stack?
- Are there any noticeable areas with inefficient HTTP calls?
- What is the average response time for the app's network calls?
- Memory/CPU
- How much memory does the app use under a high load?. Does it need JVM GC tuning ?
- How many threads does the app use under a high load?
- What is the top constraint ? (CPU. Mem, Disk, Network,)
- Error/Exception Handling
- How many exceptions does the app usually throw under a high load?
- What is the mean time between failures?
- How long does an outage usually last?
- Code Complexity/Cleanliness
- What is the highest level of cyclomatic complexity within the app?
- How many unused classes are in the app?
- How many unused methods are in the app?
- Compliance with 15 Factors ?
- High frequency of code change heat map
- Sev 1 Production Incidents Review
- Spring
- Is there Classpath dependency bloat ?
- Upgrade to s-boot 2.2 and concomitant dependencies possible ?
- Resiliency
- Are circuit breakers and HTTPClients configured correctly
- Are metrics from Circuit Breakers put in the firehose via micrometer
- Failure Mode analysis.
- Observability
- Are applications logging at the right level
- Are applications emitting metrics at the right level
- Is spring-cloud-sleuth enabled for distributed traces ?
- Configure
http
healthchecks for the app inCloud Foundry
- Performance
- Is application startup time acceptable. Can this be reduced.
- Is autoscaling behavior understood in context of downstream dependencies.
- Policy for autoscaling up and down
- Higher level Architecture Review
- Where is the technical debt in this app
- Should this app be a microservice. Evaluate along 6 dimensions
- Future Roadmap review
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.