Skip to content
Breaking
Latest technical intelligence from Northeast India • Infrastructure, AI, Cloud & Security Analysis • Precision Analysis | Raw Intelligence | Your North Star of Tech Latest technical intelligence from Northeast India • Infrastructure, AI, Cloud & Security Analysis • Precision Analysis | Raw Intelligence | Your North Star of Tech
WEBDEV

Analysis: How We Built Multi-Cloud Architecture at Namma Yatri : One System, Two Clouds - webdev

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:

  1. 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.
  2. 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.
  3. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. 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.
  2. 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.
  3. 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