- High Availability with Health Checks and Automated Recovery
- Scalability: Automatic horizontal and vertical scaling
- Security + Policy
- Service discovery
- Observabilitiy: Metrics, Tracing, Logs, Alerts
- Traffic Management
- Retries
- Timeouts
- Load balancing
- Rate limiting
- Bulkheading
- Circuit breaking
- Actually useful business purpose 👆those things were for!
Hint: Kubernetes and Istio
- Build automation (repeatable builds, resulting in immutable artifacts)
- Automated Deployment to Staging Environment
- Continous Integration (Test Automation)
- Automated Continuous Delivery to Production Environment (Canary or A/B)
- Automated Acceptance testing, error and metric monitoring
- Automated Rollback
Hint: Jenkins all the way down for now.
- Ingress
- External Services (rds, legacy)
- Persistent Volumes (EBS)
- Authentication and Authorization (RBAC)
- Secret Management