| name | cloud-native |
| description | Cloud-native application architecture |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"developer, architect, devops-engineer","category":"devops"} |
What I do
- Design cloud-native architectures using containers and microservices
- Implement Kubernetes-based deployments and operations
- Build serverless applications and functions
- Create event-driven systems with message queues
- Design scalable, resilient, and observable systems
- Implement GitOps and IaC practices
When to use me
- When building new applications for cloud deployment
- When modernizing legacy applications
- When implementing microservices architecture
- When scaling applications elastically
- When adopting Kubernetes or container orchestration
- When implementing cloud-native security
Key Concepts
Twelve-Factor App Principles
- Codebase: One repo per app, multiple deploys
- Dependencies: Explicitly declare and isolate
- Config: Store config in environment
- Backing Services: Treat as attached resources
- Build/Release/Run: Strict separation
- Processes: Stateless, share nothing
- Port Binding: Export via port binding
- Concurrency: Scale out via processes
- Disposability: Fast startup, graceful shutdown
- Dev/Prod Parity: Keep environments similar
- Logs: Treat as event streams
- Admin Processes: Run admin tasks same as processes
Kubernetes Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
labels:
app: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:latest
ports:
- containerPort: 8080
resources:
requests:
memory: "128Mi"
cpu: "250m"
limits:
memory: "256Mi"
cpu: "500m"
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 10
readinessProbe:
httpGet:
Service Mesh
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: myapp
spec:
hosts:
- myapp
http:
- match:
- headers:
x-canary:
exact: "true"
route:
- destination:
host: myapp
subset: v2
weight: 100
- route:
- destination:
host: myapp
subset: v1
weight: 100
Cloud-Native Patterns
- Sidecar: Extend container functionality
- Ambassador: Proxy network connections
- Adapter: Normalize interfaces
- Circuit Breaker: Prevent cascade failures
- Bulkhead: Isolate failures
- Retry with Backoff: Handle transient failures
- Dead Letter Queue: Handle failed messages
Observability Stack
apiVersion: v1
kind: Pod
metadata:
name: monitoring
spec:
containers:
- name: prometheus
image: prom/prometheus:latest
volumeMounts:
- name: config
mountPath: /etc/prometheus
- name: grafana
image: grafana/grafana:latest
- name: loki
image: grafana/loki:latest
Key Principles
- Microservices: Small, independent services
- Containerization: Consistent packaging
- Orchestration: Automated management
- Immutable Infrastructure: Replace, don't modify
- Declarative: Define desired state
- Self-Healing: Automatic recovery
- Elasticity: Scale based on load