Public Cloud Building Blocks, Compute Choice, and Testing Strategy
Context
Assume you are designing a new stateless HTTP microservice that exposes REST or gRPC endpoints. It will have spiky traffic (for example, a 10x burst during peak hours), aims for 99.9 percent availability, p95 latency under 150 ms, and should be easy to operate by a small team. If your answer depends on different constraints, state how the choice would change.
Tasks
-
Explain the core building blocks of a public cloud:
-
Compute models: virtual machines, containers, serverless
-
Storage: object, block, file, databases, cache
-
Networking: VPC, subnets, routing, load balancing, API gateway, DNS, security
-
For the new microservice above, choose among compute options and justify the trade offs. Include when you would pick a different option.
-
Outline a pragmatic cloud testing strategy covering unit, integration, load and performance, chaos, and delivery strategies such as canary and blue green deployments.
-
Map roughly equivalent services in GCP and AWS for this workload, and discuss portability, interoperability, and vendor lock in. Provide concrete tactics to reduce lock in and note the trade offs.