BMAD-METHOD/expansion-packs/bmad-java/tasks/containerization-setup.md

113 lines
2.6 KiB
Markdown

# Containerization Setup Task
## Purpose
Containerize an existing Java application for deployment using Docker and AWS cloud platform. Handles application modernization, containerization, orchestration setup, and cloud deployment.
## When to Use
- Migrating from application servers to containers
- Modernizing legacy Java applications
- Implementing cloud-native deployment
- Improving application portability and scalability
## Input Requirements
- Current application server details
- Application dependencies and configuration
- Deployment requirements
- AWS infrastructure preferences
- Monitoring and logging requirements
- Security requirements
## Process Steps
### 1. Application Modernization
- Remove application server dependencies
- Implement Spring Boot embedded server
- Externalize configuration
- Implement stateless design patterns
- Add health checks and metrics
- Update logging and monitoring
### 2. Docker Configuration
- Create Dockerfile for Java 21
- Implement multi-stage build
- Optimize Docker image size
- Configure security settings
- Add health checks
- Test container build
### 3. Container Optimization
- Optimize Docker image layers
- Implement security hardening
- Configure resource limits
- Set up container networking
- Implement container logging
- Test container functionality
### 4. Orchestration Setup
- Create Kubernetes manifests
- Configure deployment and services
- Set up ConfigMaps and Secrets
- Configure ingress controllers
- Set up auto-scaling
- Test orchestration
### 5. AWS Integration
- Configure AWS EKS cluster
- Set up AWS ECR repository
- Configure AWS Load Balancer
- Set up AWS monitoring
- Configure AWS security
- Test AWS integration
### 6. Deployment Automation
- Set up CI/CD pipeline
- Configure deployment scripts
- Set up blue-green deployment
- Configure rollback procedures
- Set up monitoring and alerting
- Test deployment process
## Output Deliverables
- Containerized Java application
- Docker configuration and images
- Kubernetes manifests
- AWS infrastructure configuration
- Deployment automation
- Monitoring and logging setup
## Success Criteria
- Application successfully containerized
- Docker images built and optimized
- Kubernetes deployment working
- AWS infrastructure configured
- Application deployed and running
- Monitoring and logging active
## Dependencies
- Docker installed and configured
- Kubernetes cluster access
- AWS account and CLI
- Java 21 JDK
- Maven build system
## Tools and Resources
- Docker containerization
- Kubernetes orchestration
- AWS EKS and ECR
- AWS CLI and tools
- CI/CD platform tools
- Monitoring and logging tools