Ajay Akilan
15 regions3 cloudsBangalore

Ajay
Akilan.

Site reliability engineer at Zoom, in Bangalore. I look after the infrastructure behind chat. It runs in fifteen regions across three clouds, and I’ve been on it since 2021.

US-W
US-E
EU-1
EU-2
AP-1
AP-2
IN-1
AU-1
CA-1
SYS.MAP / LIVE

The system / 01

What I actually do

Zoom’s chat runs on a set of services I look after: the APIs, the real-time messaging layer, and the public edge. Fifteen regions, three clouds. I’m the service owner, so releases, incidents, capacity and cost are mine.

I’ve been on the same system for five years. You get to know which parts break, and which changes need more care than they look like they need.

99.99%reliability
hours → 3 mindeploy time, after the Kubernetes migration
29–77%per-cluster cost reduction
02The work

What I've done to it.

Operating recordMIGRATION
BEFORE
VIRTUAL MACHINESConfiguration scripts · deploys took hours
Replatform services
INFRASTRUCTUREDefinitions → production cluster
DELIVERY PIPELINEDeploy → verify → rollback on failure
KUBERNETES SERVICESProduction clusters across three clouds
< 3 mindeploy< 2 minrollback
Infrastructure provisioning and application delivery are separate paths. A cluster is the execution environment, not a build artifact.
RECORD / 01hours → 3 min

Moved the services onto Kubernetes

They ran on virtual machines managed by configuration scripts, and a deploy took hours because a deploy meant touching machines. I owned the move for my services — building the infrastructure definitions and the deployment pipelines, with verification built into them rather than added afterwards.

Read it
Operating recordRELEASE
PREVIOUS · 7h
REBUILT · 52m
INTERNAL WORKFLOW ENGINEUnderlying runtime extended for pod shell checks
Parallel cluster execution
CLUSTER ADeploy → verify every pod
CLUSTER BDeploy → verify every pod
Checks: process · logs · metrics · ports · version
PASS → proceedFLAG → reviewFAIL → rollback
End-to-end release time, not per-stage durations. Verification runs on every pod; failed releases support parallel rollback. Canary and dogfood clusters were the starting point.
RECORD / 027h → 52m

Cut a seven-hour release to fifty-two minutes

Releases ran across multiple clusters on different days, and active-active doubled the surface. Verification was manual — an engineer triggering jobs in sequence and reading each result by hand — and end to end a release took about seven hours, most of it verification and waiting.

Read it
Service topologyEDGE
WEIGHTED DNSEndpoint selection · health signals
DNS lookup / answer · not a request proxy
Client connects to a resolved endpoint

REGION A LIVE

EDGE PROXYPhased replacement · verified cutovers
KUBERNETESChat backend services
Independent data access
DOCUMENT STORE
CACHE

REGION B LIVE

EDGE PROXYPhased replacement · verified cutovers
KUBERNETESChat backend services
Independent data access
DOCUMENT STORE
CACHE
Parallel regional request paths, not serial edge hops. DNS changes: preview → confirm → apply → audit. Verification and failover validation accompany each phase. Conceptual estate. Cross-region data replication and consistency are out of scope for this diagram.
RECORD / 03−50% edge cost

Replaced the public edge while it was serving

The edge layer is where every request arrives. I led its replatform across the production fleet on two clouds — phased cutovers, automated verification and failover validation at each stage, no customer impact, and edge infrastructure cost on the largest cluster cut in half.

Read it
Service topologyREGION FAILURE
WEIGHTED DNSHealth signals · weight shifted to the serving region
DNS lookup / answer · not a request proxy
New lookups resolve to region A

REGION A LIVE

EDGE PROXYPublic request ingress
KUBERNETESChat backend services
Independent data access
DOCUMENT STORE
CACHE

WEIGHT 100

REGION B UNAVAILABLE

EDGE PROXYPublic request ingress
KUBERNETESChat backend services
Independent data access
DOCUMENT STORE
CACHE

WEIGHT 0

DNS SELECTIONNew answers return region ASERVICE AVAILABILITYRegion B is not servingCLIENT RECOVERYOpen connections to B fail; clients retry
Region B unavailable, with DNS weight moved to the region still serving. Shifting weight changes which endpoint new lookups resolve to; it does not move connections already open to the failed region, and cached answers can keep returning region B until they expire. A zero-weight record may still be selected when no positive-weight record is healthy. Conceptual estate. Cross-region data replication and consistency are out of scope for this diagram.
RECORD / 0414 of 15

Made losing a region uneventful

Active-active was a fleet-wide programme; I ran it for the chat backend and edge services, across fourteen of fifteen production clusters. Both regions live, traffic weighted between them, failover wired into the traffic-orchestration console. Losing one means shifting DNS weight to the side still serving. New lookups resolve there, though connections already open to the failed region drop, and cached answers can keep pointing at it until they expire.

Read it

Active-active / 03

Both regions live.

Traffic weighted between them, failover wired into the traffic-orchestration console. Losing one means shifting DNS weight to the side still serving — new lookups resolve there, though open connections to the failed region drop and cached answers can keep pointing at it until they expire.

DNS weighting / 01

Shift the DNS weights.

Region A60DNS WEIGHT
Region B40DNS WEIGHT
DNS WEIGHT 60/40BOTH REGIONS WEIGHTED

Relative DNS selection weights, not measured request percentages. Resolver caching, TTLs, health evaluation, and existing connections affect failover timing. A zero weight is not a health-failure simulation; provider-specific fallback rules may still select zero-weight records.

Outside it / 04

The other room.

I write, direct, act, and draw. I plan the trips — for my team, for my family, for friends who’ve long since stopped pretending they’ll organise anything themselves. People ask me things because it’s easy to ask me things.

None of it is separate from the job. Build the best thing you can, learn what you’re short on, put it in front of people, and stay there while it runs.

The tool / 05

Does this actually fit?

Paste the job description. I’ll send you an honest read — where I fit, where I don’t, and what a keyword screen would miss.

It says no when the answer is no.

Run it