Cloud-native architecture designs applications for distributed, elastic, container-oriented infrastructure. In a microservice system, each service runs independently in a container, receives its own resource and scaling configuration, and can be deployed through a CI/CD pipeline. section 1.4.2 section 8.0
The approach addresses monolithic deployment limits such as inefficient resource use, coarse-grained scaling, and risky releases, while introducing distributed-system management concerns. Kubernetes supplies declarative deployment, orchestration, networking, load-balancer, and storage abstractions; container runtimes keep the resulting services portable. section 1.4.2 section 8.0
Apply the architecture by combining independent services with operational configuration:
- Package each service as a Docker image and define its Kubernetes deployment specification. section 8.0
- Use Kubernetes service names for gRPC addressing so consumers can locate services without directly managing their changing network addresses. section 1.4.2
- Tune resource requests and horizontal scaling per service instead of scaling the whole application together. section 1.4.2
- Select release strategies deliberately: RollingUpdate gradually replaces pods, Blue-Green switches between environments, and canary exposes experimental features selectively. section 8.5
Product service scaling
A Product service that receives heavy daytime search and browsing traffic can receive more capacity and a higher scaling factor than less-used services. Kubernetes changes that service’s deployment configuration without requiring every service to scale simultaneously. section 1.4.2
Delivery pipeline
A CI pipeline builds Docker images from Go gRPC services, and a CD pipeline deploys those artifacts to Kubernetes alongside services and CronJobs. Kubernetes manages declared resources, while cert-manager supports issuing and renewing certificates for TLS communication. section 8.0 section 8.5





