BMAD-METHOD/expansion-packs/bmad-java/checklists/java-microservice-checklist.md

5.9 KiB

Java Microservice Checklist

Microservice Planning Phase

Architecture Design

  • Domain boundaries defined
  • Service responsibilities identified
  • Inter-service communication patterns defined
  • Data ownership boundaries established
  • Service discovery strategy planned
  • API gateway strategy defined
  • Configuration management strategy planned

Service Design

  • Service contracts defined
  • API specifications created
  • Data models designed
  • Event schemas defined
  • Service dependencies mapped
  • Failure scenarios analyzed
  • Resilience patterns planned

Infrastructure Setup Phase

Spring Cloud Configuration

  • Spring Cloud dependencies added
  • Service discovery configured (Eureka/Consul)
  • API Gateway configured (Spring Cloud Gateway)
  • Configuration server setup
  • Circuit breaker configured (Resilience4j)
  • Load balancing configured
  • Distributed tracing configured

Development Environment

  • Java 21 JDK installed and configured
  • IDE configured for microservices development
  • Maven wrapper configured
  • Git repositories initialized for each service
  • Local development environment configured
  • Service discovery running locally
  • API Gateway running locally

Microservice Development Phase

Individual Service Implementation

  • Spring Boot application created for each service
  • REST controllers implemented
  • Service layer implemented
  • Data layer implemented
  • Business logic implemented
  • Configuration externalized
  • Health checks implemented

Inter-Service Communication

  • Synchronous communication implemented (REST)
  • Asynchronous communication implemented (if needed)
  • Circuit breaker pattern implemented
  • Retry mechanisms configured
  • Timeout configurations set
  • Load balancing configured
  • Service mesh configured (if using)

Data Management

  • Database per service implemented
  • Data consistency patterns implemented
  • Event sourcing implemented (if needed)
  • CQRS pattern implemented (if needed)
  • Data migration strategies planned
  • Backup strategies implemented

Security Implementation

Microservice Security

  • JWT authentication implemented
  • Service-to-service authentication configured
  • API Gateway security configured
  • Role-based authorization implemented
  • Secrets management configured
  • Network security configured
  • Security testing performed

Security Best Practices

  • Input validation implemented across services
  • SQL injection prevention
  • XSS protection configured
  • Rate limiting implemented
  • Security headers configured
  • HTTPS enforcement configured
  • Security monitoring implemented

Testing Implementation

Service Testing

  • Unit tests for each service created
  • Integration tests for each service created
  • Contract tests implemented
  • End-to-end tests created
  • Performance tests implemented
  • Chaos engineering tests created
  • Security tests implemented

Microservice Testing

  • Service discovery tests
  • API Gateway tests
  • Circuit breaker tests
  • Load balancing tests
  • Distributed tracing tests
  • Configuration management tests

AWS Deployment Phase

Infrastructure Setup

  • AWS account configured
  • VPC and networking configured
  • Security groups configured
  • IAM roles and policies created
  • EKS cluster configured
  • Service mesh configured (Istio/Linkerd)

Containerization

  • Dockerfiles created for each service
  • Multi-stage builds implemented
  • Docker images optimized
  • Container security hardened
  • Health checks implemented
  • Docker Compose configured for local testing

Service Deployment

  • Kubernetes manifests created
  • Service definitions created
  • Deployment configurations created
  • Ingress controllers configured
  • Service mesh sidecars configured
  • Auto-scaling configured

AWS Services Integration

  • AWS Service Discovery configured
  • AWS API Gateway configured
  • AWS Load Balancer configured
  • AWS RDS configured for each service
  • AWS S3 configured for shared resources
  • AWS SQS/SNS configured for messaging

Monitoring and Observability

  • CloudWatch logging configured
  • Prometheus metrics configured
  • Grafana dashboards created
  • Jaeger/Zipkin tracing configured
  • Health check endpoints implemented
  • Error tracking configured
  • Performance monitoring setup
  • Alerting configured

Documentation and Handover

Technical Documentation

  • README.md created for each service
  • API documentation generated
  • Architecture documentation created
  • Database schemas documented
  • Deployment guide written
  • Configuration guide created
  • Troubleshooting guide written

Operational Documentation

  • Monitoring guide created
  • Backup procedures documented
  • Disaster recovery procedures documented
  • Security procedures documented
  • Maintenance procedures documented
  • Service mesh documentation created
  • Team handover completed

Go-Live Validation

Pre-Deployment Checks

  • All tests passing
  • Code review completed
  • Security scan passed
  • Performance testing completed
  • Documentation reviewed
  • Team training completed

Deployment Validation

  • All services deployed successfully
  • Service discovery working
  • API Gateway working
  • Inter-service communication working
  • Health checks passing
  • Monitoring active

Post-Deployment Validation

  • All services accessible
  • End-to-end functionality working
  • Performance metrics acceptable
  • Error logging working
  • Circuit breakers working
  • Auto-scaling working
  • Team notified of deployment