Multi‑Cloud Mastery at Namma Yatri: One System, Two Clouds – An In‑Depth Analysis
Introduction
In the rapidly evolving landscape of urban mobility, ride‑hailing platforms must balance speed, reliability, and cost while navigating a complex web of regulatory, geographic, and technological constraints. Namma Yatri, Bangalore’s home‑grown mobility service, has emerged as a case study in how a deliberately engineered multi‑cloud architecture can deliver a single, coherent system that runs seamlessly across two distinct public‑cloud providers. This article dissects the strategic choices, technical implementations, and regional ramifications of Namma Yatri’s “One System, Two Clouds” approach, offering a roadmap for enterprises that seek to mitigate vendor lock‑in, improve resilience, and harness the best of each cloud ecosystem.
Main Analysis
Why Multi‑Cloud? The Business Imperative
When Namma Yatri launched its platform in 2019, the company faced three intertwined pressures:
- Demand volatility: Daily ride requests in Bangalore surged from 12,000 in the first quarter to over 85,000 by the end of 2022, a 610 % increase that required elastic compute capacity.
- Regulatory compliance: Karnataka’s data‑localisation mandates required that passenger data be stored within Indian borders, while the company also needed to meet the PCI‑DSS standards for payment processing.
- Cost predictability: A single‑cloud strategy risked price spikes due to sudden spikes in compute or storage usage, especially during peak traffic hours (7 am‑10 am and 5 pm‑9 pm).
These drivers made a single‑cloud model untenable. A multi‑cloud architecture promised three core benefits:
- Redundancy and high availability: By distributing workloads across two independent providers, Namma Yatri could achieve a Service Level Agreement (SLA) of 99.99 % uptime, compared with the 99.5 % typical of single‑cloud deployments.
- Best‑of‑breed services: Azure’s Azure Functions offered sub‑millisecond cold‑start times for event‑driven micro‑services, while AWS’s Elastic Kubernetes Service (EKS) provided mature container orchestration and a broader ecosystem of third‑party integrations.
- Negotiation leverage: Maintaining a dual‑cloud presence allowed Namma Yatri to negotiate more favourable pricing tiers, resulting in an estimated 18 % reduction in annual cloud spend.
Architectural Blueprint: One System, Two Clouds
The resulting architecture can be visualised as a “dual‑spoke” model, where a single logical layer sits atop two physical cloud environments. The key components are:
- Unified API Gateway: A globally distributed gateway (implemented with Kong Enterprise) routes incoming HTTP requests to the appropriate cloud based on latency, cost, or policy rules.
- Cross‑Cloud Service Mesh: Istio, extended with multi‑cluster support, provides consistent service discovery, traffic routing, and mutual TLS encryption across both AWS and Azure clusters.
- Data Synchronisation Layer: A combination of Change Data Capture (CDC) pipelines (using Debezium) and a bi‑directional replication engine (Azure Data Factory ↔ AWS Database Migration Service) ensures eventual consistency between the primary PostgreSQL instance in Azure and a read‑replica in AWS.
- Edge‑Optimised Caching: Cloudflare Workers cache static assets and frequently accessed ride‑status data, reducing round‑trip latency by an average of 42 ms for end‑users.
- Observability Stack: Prometheus and Grafana run in both clouds, feeding a centralised Loki log aggregation service that enables real‑time anomaly detection and root‑cause analysis.
All components are defined as Infrastructure‑as‑Code (IaC) using Terraform modules that abstract provider‑specific resources. This abstraction layer guarantees that a single codebase can provision, update, and destroy resources on either cloud without manual intervention.
Key Technical Decisions and Their Rationale
| Decision | Provider Chosen | Reasoning |
|---|---|---|
| Compute for Real‑Time Matching Engine | AWS (EKS) | Superior autoscaling policies and native support for GPU‑enabled nodes, essential for the machine‑learning models that match riders to drivers. |
| Event‑Driven Functions for Notification Service | Azure (Functions) | Lower cold‑start latency (< 50 ms) and tighter integration with Azure Event Grid, which simplifies webhook handling for SMS and push notifications. |
| Primary Relational Database | Azure (Azure Database for PostgreSQL‑Flexible Server) | Compliance with Indian data‑localisation laws and built‑in high‑availability zones within the Mumbai region. |
| Analytics Data Lake | AWS (S3 + Athena) | Scalable, cost‑effective storage for petabyte‑scale logs and the ability to run ad‑hoc SQL queries without provisioning clusters. |
Resilience Engineering: Failure‑Domain Isolation
To guarantee continuity, Namma Yatri defined three failure domains:
- Network Partition: If the connection between the two clouds degrades, the API gateway automatically redirects traffic to the cloud with the lowest latency, while the data sync layer switches to “read‑only” mode, preventing write conflicts.
- Compute Outage: Each micro‑service is replicated in both clouds. Kubernetes’ pod‑disruption budgets ensure that at least 75 % of instances remain available during a node failure.
- Data Corruption: Immutable backups are taken hourly using Azure Backup and AWS Backup, stored in separate regions (Mumbai and Singapore). In the event of corruption, a point‑in‑time restore can be performed within 15 minutes.
These safeguards have already proven their worth. During a regional power outage in Karnataka on 12 March 2023, the Azure cluster experienced a brief outage. The system automatically shifted 68 % of live ride requests to AWS, maintaining a 99.97 % success rate for