SUBID DASPORTFOLIO / 2026
000

SUBID

PORTRAIT // ORIGINAL[ 1 / 7 ]
WORK // RIDENOWW[ 2 / 7 ]
WORK // DEED POLL[ 3 / 7 ]
PORTRAIT // CYBERNETIC[ 4 / 7 ]
PORTRAIT // HOLOGRAM[ 5 / 7 ]
PORTRAIT // SKETCH[ 6 / 7 ]
PORTRAIT // GLITCH[ 7 / 7 ]
SUBID DAS
← Back to Location Blogs

Singapore as Asia's Cloud Infrastructure Hub: Regional Growth & Multi-Country Scale

January 22, 20258 min readSubid Das📍 Singapore
cloudasiasingaporeinfrastructuremulti-regionlatency

Singapore is Asia-Pacific's cloud epicenter. Every major cloud provider (AWS, Google, Alibaba, Azure) has significant presence. But Singapore's real advantage is geographic—it's the bridge between India, China, Japan, Southeast Asia, and Australia.

Geographic Advantage

Singapore serves:

  • ASEAN: 10 countries, 650M people
  • Asia-Pacific: 4.6B people
  • Time zones: UTC+8 (same as China, Australia)
  • Submarine cables: 9 major fiber connections

Latency from Singapore:

Singapore → Thailand:    8ms
Singapore → Indonesia:  20ms
Singapore → Malaysia:   12ms
Singapore → Philippines: 35ms
Singapore → Vietnam:    30ms
Singapore → India:      60ms
Singapore → Japan:      85ms
Singapore → Sydney:     65ms
Singapore → Hong Kong:  35ms

Sub-100ms latency to entire region. Critical for real-time applications.

Infrastructure Architecture for ASEAN

Multi-Region Deployment Pattern

# Primary: Singapore (central)
module "sg_cluster" {
  source = "./modules/eks-cluster"
  
  region           = "ap-southeast-1"
  name             = "primary-sg"
  availability_zones = ["ap-southeast-1a", "ap-southeast-1b", "ap-southeast-1c"]
  
  node_groups = {
    general = {
      min_size       = 3
      max_size       = 20
      instance_types = ["t3.large"]
    }
  }
}

# Secondary: Tokyo (for Japan market)
module "tokyo_cluster" {
  source = "./modules/eks-cluster"
  
  region = "ap-northeast-1"
  name   = "secondary-tokyo"
  
  # Smaller: 30% traffic
  min_size = 2
  max_size = 10
}

# Database replication
resource "aws_db_instance" "primary_sg" {
  multi_az = true
  
  backup_retention_period = 30
  copy_tags_to_snapshot   = true
}

# Read replica in Tokyo
resource "aws_db_instance_read_replica" "replica_tokyo" {
  replicate_source_db = aws_db_instance.primary_sg.id
  
  # Asynchronous replication (lag: 50-200ms)
  skip_final_snapshot = false
}

Geo-Routing

Route traffic to nearest region:

# AWS Route 53 geolocation routing
import boto3

route53 = boto3.client('route53')

route53.change_resource_record_sets(
    HostedZoneId='ZONE_ID',
    ChangeBatch={
        'Changes': [
            {
                'Action': 'CREATE',
                'ResourceRecordSet': {
                    'Name': 'api.myapp.com',
                    'Type': 'A',
                    'SetIdentifier': 'sg-primary',
                    'GeoLocation': {
                        'ContinentCode': 'AS'  # Asia
                    },
                    'AliasTarget': {
                        'HostedZoneId': 'ZONE_SG',
                        'DNSName': 'api-sg.myapp.com',
                        'EvaluateTargetHealth': True
                    }
                }
            },
            {
                'Action': 'CREATE',
                'ResourceRecordSet': {
                    'Name': 'api.myapp.com',
                    'Type': 'A',
                    'SetIdentifier': 'japan-secondary',
                    'GeoLocation': {
                        'CountryCode': 'JP'  # Japan-specific
                    },
                    'AliasTarget': {
                        'HostedZoneId': 'ZONE_TOKYO',
                        'DNSName': 'api-tokyo.myapp.com',
                        'EvaluateTargetHealth': True
                    }
                }
            }
        ]
    }
)

Users in Japan automatically use Tokyo, users in ASEAN use Singapore.

Latency-Critical Applications

Real-Time Gaming (Southeast Asia)

Gaming studios in Bangkok, Ho Chi Minh City, Manila need <100ms latency.

# Game state server in Singapore
# Updates propagate to regional caches

from redis import Redis
import json

game_server = Redis(host='sg-primary.myapp.com', port=6379)
regional_cache = {
    'BKK': Redis(host='bkk-cache.myapp.com'),
    'SYD': Redis(host='syd-cache.myapp.com'),
    'TYO': Redis(host='tyo-cache.myapp.com')
}

# When game state updates
def publish_game_state(game_id, state):
    # Write to primary
    game_server.set(f"game:{game_id}", json.dumps(state))
    
    # Publish to all regional caches (100ms eventual consistency OK)
    for region, cache in regional_cache.items():
        cache.set(f"game:{game_id}", json.dumps(state))
    
    # Broadcast to players
    redis.publish(f"game:{game_id}:updates", json.dumps(state))

E-Commerce (ASEAN Multi-Country)

Alibaba, Lazada, Shopee all operate from Singapore.

Catalog server: Singapore (shared)
├─ Product data (replicated to all regions)
├─ Pricing (region-specific)
└─ Inventory (region-specific)

Checkout: Regional
├─ Thailand checkout → Bangkok servers
├─ Indonesia checkout → Jakarta servers
└─ Philippines checkout → Manila servers

Payment: Centralized (Singapore)
├─ PCI-DSS compliance (single location)
├─ Multi-currency handling
└─ Fraud detection

Cost Optimization Across ASEAN

Compute costs vary by region:

Region         | t3.large/hour
---------------|---------------
Singapore      | $0.1040
Tokyo          | $0.1118
Mumbai         | $0.0624  ← Cheapest
Sydney         | $0.1248
Hong Kong      | $0.1053

Use cost-efficient regions for non-critical workloads:

# Non-critical batch jobs → Mumbai (cheapest)
# Critical real-time → Singapore

resource "aws_batch_job_definition" "analytics" {
  compute_resources {
    type   = "UNMANAGED"
    subnet = aws_subnet.mumbai.id  # Cheapest region
  }
}

Data Residency & Local Regulations

Different ASEAN countries have different data requirements:

Country | Data Residency | Requirement
--------|----------------|-------------------------------------
Vietnam | Local mirror   | Must store locally (new 2023 law)
Indonesia | Regional OK  | Can be Singapore
Malaysia | Regional OK  | Can be Singapore
Thailand | Local OK    | Can store regionally
Philippines | Regional | Can be Singapore + local backup

Implementation:

# Route writes to correct location based on user country
def store_user_data(user):
    if user.country == 'VN':
        # Vietnam: Write to local database
        vietnam_db.insert(user)
    else:
        # ASEAN: Write to Singapore
        singapore_db.insert(user)
    
    # All: Also write to backup region
    backup_region_db.insert(user)

Developer Ecosystem in Singapore

Major Companies

  • Grab: Southeast Asia's ride-hailing + payments
  • Shopee: E-commerce (11M products)
  • Sea Limited: Gaming + fintech (Garena)
  • Gojek: Indonesian ride-hailing
  • Carousell: Classifieds

All employ hundreds of infrastructure engineers.

Talent

  • Median DevOps salary: $80-120K SGD (~$60-90K USD)
  • Significantly lower than SF, higher than India
  • English-speaking workforce
  • Mix of local and expatriate talent

Regional Cloud Providers

Alibaba Cloud (Dominant in China)

# Alibaba ECS (alternative to AWS EC2)
resource "alicloud_instance" "web" {
  image_id      = "ubuntu_20_04_x64"
  instance_type = "ecs.t6.small"
  region_id     = "ap-southeast-1"  # Singapore
}

Alibaba dominates in:

  • China (primary market)
  • E-commerce (Jack Ma legacy)
  • Competitive pricing

AWS (Dominant globally)

AWS ap-southeast-1 (Singapore) is most mature, most expensive.

Google Cloud (Growing)

Google Cloud asia-southeast1 (Singapore) adding capacity.

Performance Monitoring for Multi-Region

# Monitor latency to each region
from prometheus_client import Histogram

regional_latency = Histogram(
    'regional_api_latency_seconds',
    'API latency by region',
    labelnames=['region']
)

def api_endpoint():
    regions = ['SG', 'BKK', 'SYD', 'TYO']
    
    for region in regions:
        start = time.time()
        result = call_regional_api(region)
        duration = time.time() - start
        
        regional_latency.labels(region=region).observe(duration)
    
    return result

# Query: Alert if Singapore latency > 50ms
# SELECT regional_api_latency_seconds{region="SG"} > 0.05

Best Practices for Singapore-Based Infrastructure

PracticeBenefit
Singapore as primaryCentral location, best connectivity
Regional read replicasReduce cross-region latency
CDN for assetsFast static content globally
Local caching (Redis)Eliminate round-trip delays
Geo-routingSend users to nearest region
Region-specific pricingOptimize cost per country

Conclusion

Singapore is Asia's infrastructure crossroads. Every company building for Asia should have servers in Singapore—either primary or as a hub.

The infrastructure patterns here (multi-region, geo-routing, regional caching) apply globally. Master them in Asia, apply them everywhere.

About the author

Subid Das is a cloud native engineer. Find more location guides onlocation guides.

Open to freelance, full-time, and interesting problems.

LET'S CONNECT