Professional Cloud ArchitectDesign and plan a cloud solution architectureMedium

A retail company is planning to deploy a new e-commerce application on Google Cloud. The application requires high availability, low latency for global users, and the ability to scale automatically based on traffic fluctuations. The company also needs to ensure that user sessions are maintained even if instances restart. Which architecture pattern should be recommended?

  1. AMulti-region deployment with App Engine Standard and a global external HTTP(S) Load Balancer.
  2. BSingle zone deployment with unmanaged instance groups and a regional internal HTTP(S) Load Balancer.
  3. CMulti-region deployment with regional managed instance groups and a global external HTTP(S) Load Balancer.
  4. DSingle region deployment with managed instance groups and a global external HTTP(S) Load Balancer.
Show answer & explanation

Correct answer: C. Multi-region deployment with regional managed instance groups and a global external HTTP(S) Load Balancer.

A multi-region deployment with regional managed instance groups ensures high availability and disaster recovery. A global external HTTP(S) Load Balancer provides low latency by routing users to the nearest healthy region and handles session affinity. Managed instance groups offer auto-scaling.

Why the other options are wrong

  • A. While App Engine Standard offers auto-scaling and high availability, it might not provide the same level of control or flexibility as custom VMs with managed instance groups for specific application architectures, and the question implies a more custom VM-based setup by mentioning instance groups. However, the multi-region and global load balancer part is correct. The key differentiator here is the 'instance groups' mentioned as a component.
  • B. Single zone deployment lacks high availability, unmanaged instance groups don't auto-scale, and a regional internal load balancer is not suitable for external global traffic.
  • D. A single region does not provide high availability against regional outages and may not offer low latency for global users.

Global HTTP(S) Load Balancer

A global, external load balancer that distributes HTTP(S) traffic to backend services across multiple regions, providing low latency and high availability.

  • Global reach, routes to nearest healthy backend
  • Supports session affinity
  • Provides DDoS protection and SSL offload
  • Can be used with Compute Engine, GKE, Cloud Run, App Engine

Memory trick: Global Load Balancer keeps global users connected, even if regions fall.

More Design and plan a cloud solution architecture questions