DigitalOcean regions & deployment
★★★★★ 4.6 CE

DigitalOcean Regions, Deployment & Data Residency 2026

DigitalOcean runs 14 datacenters across 11 regions. App Platform deploys one region per app; EU residency covers Amsterdam, Frankfurt and London only.

DigitalOcean Regions & Deployment verdict

Verified today·7 sources checked

DigitalOcean runs 14 datacenters across 11 regions, from New York and San Francisco through Amsterdam and Frankfurt to Bangalore, Singapore, Sydney.

App Platform deploys an app to one region set in its YAML spec, and reaches all 11. Droplets target individual datacenters like NYC1 or NYC2.

How to pick your regions

Set the region in your app spec near your users, and reach for AMS3, FRA1 or LON1 when EU residency matters. Multi-region is the manual part. App Platform runs one region per app, so covering more means separate apps or Droplets per region with your own routing between them. The SLA splits too. A single App Platform container is covered at 99.95%, while Droplets carry 99.99%, so run on Droplets, or on several App Platform instances, if you need the higher number.

Honest limits
  • App Platform deploys to a single region per app. Multi-region means separate apps behind your own routing.
  • EU residency covers Amsterdam, Frankfurt, London, with no other European countries. Two legacy datacenters restrict new resources: AMS2 and SFO1.
  • App Platform's 99.95% SLA sits below the 99.99% per-Droplet SLA.
Datacenters
14
Regions
11
EU regions
AMS, FRA, LON
App Platform regions
11
Region change
Single-region app
View sources

This page covers where DigitalOcean deploys and how residency works. Performance and pricing live on their own pages.

Pick your DigitalOcean region and deployment

Deploy DigitalOcean: app spec, doctl and autoscaling

Define the app in a YAML app spec. region pins the app (e.g. nyc); each service sets instance_size_slug and instance_count, plus its git source and http_port. App Platform builds and deploys from the spec via doctl or the API.

app.yaml (app spec)yaml
name: your-app
region: nyc
services:
- name: api
  environment_slug: go
  github:
    repo: git-user-name/api
    branch: main
    deploy_on_push: true
  http_port: 8080
  instance_count: 2
  instance_size_slug: apps-s-1vcpu-1gb
  run_command: bin/api
  source_dir: /
static_sites:
- name: website
  environment_slug: html
  github:
    repo: git-user-name/website
    branch: main
  source_dir: /

Replace a fixed instance_count with an autoscaling block. Request-based autoscaling (shown) works on shared and dedicated plans and scales on requests per second and p95 latency; CPU-based autoscaling uses metrics.cpu.percent and needs a dedicated-CPU plan. max_instance_count caps at 100 for request-based, 250 for CPU-based.

Autoscaling specyaml
services:
- name: web
  github:
    repo: digitalocean/sample-nodejs
    branch: main
  instance_size_slug: apps-s-1vcpu-1gb
  autoscaling:
    min_instance_count: 1
    max_instance_count: 10
    metrics:
      requests_per_second:
        per_instance: 100
      request_duration:
        p95_milliseconds: 500

Create the app from the spec, then update it to roll out scaling or config changes. --upsert creates or updates in one command; --wait blocks until the deployment finishes. The same spec drives the DigitalOcean API.

doctl CLIbash
# Create an app from the spec
doctl apps create --spec app.yaml --wait

# Create or update in one step (idempotent)
doctl apps create --spec app.yaml --upsert

# Apply a spec change (scaling, region of a new app, env)
doctl apps update <app-id> --spec app.yaml

# Trigger a fresh deployment, and inspect
doctl apps create-deployment <app-id>
doctl apps get <app-id>

Datacenters and locations

DatacenterLocationApp PlatformSlug
NYC1/2/3New York City, USAYesnyc
SFO2/3San Francisco, USAYessfo
ATL1Atlanta, USAYesatl
RIC1Richmond, USAYesric
TOR1Toronto, CanadaYestor
AMS3Amsterdam, NetherlandsYesams
LON1London, United KingdomYeslon
FRA1Frankfurt, GermanyYesfra
BLR1Bangalore, IndiaYesblr
SGP1SingaporeYessgp
SYD1Sydney, AustraliaYessyd

Region selection and availability

AspectBehaviorNotes
App Platform regionregion key in app spece.g. region: nyc
App Platform availabilityAll 11 regionsDynamic and Static apps in every region
Droplet placementPer datacenterChoose NYC1/2/3, SFO2/3 etc. at creation
Multi-regionSeparate deploymentsApp Platform deploys to a single region
Legacy datacentersAMS2, SFO1 restrictedResource creation limited
Footprint14 DCs / 11 regionsCurrent as of May 2026

DigitalOcean data residency and compliance

ControlOptionNotes
EU regionsAMS3, FRA1, LON1Pin apps and Droplets for EU residency
ComplianceSOC 2 Type II + SOC 3Audited by Schellman
Datacenter certsISO 27001 (all DCs)Including EU AMS3, FRA1, LON1
Cardholder dataPCI-DSS SAQ-AZero-footprint: does not store cardholder data
Cloud securityCSA STAR Level 1Self-assessment across 16 domains

What to verify before you commit to DigitalOcean

  • App Platform deploys an app to a single region set in the spec, so multi-region high availability means standing up separate apps per region behind your own routing
  • Two legacy datacenters, AMS2 and SFO1, have restricted resource creation, so do not plan new workloads there
  • EU residency rests on three datacenters, Amsterdam, Frankfurt and London, with no other European country options
  • App Platform's 99.95% SLA is a step below the 99.99% per-Droplet SLA, so latency-and-uptime-critical services may prefer Droplets or multi-instance App Platform

DigitalOcean Regions & Deployment FAQ

Which regions does DigitalOcean have?

14 datacenters across 11 regions. In North America sit NYC1, NYC2, NYC3, SFO2, SFO3, ATL1, RIC1, TOR1. In Europe sit AMS3, LON1, FRA1. In Asia Pacific sit BLR1, SGP1, SYD1. App Platform is available in all 11 region groups, while Droplets and datastores can target individual datacenters. Two legacy datacenters restrict new resource creation: AMS2 and SFO1.

How do I choose a region on DigitalOcean?

For App Platform, set the region key in the YAML app spec, for example region: nyc, before deploying with doctl or the API, and an app runs in one region. For Droplets you pick the datacenter at creation. There is no in-place region move for an App Platform app. You redeploy the spec with a new region, or create a second app for another region.

Does DigitalOcean support EU data residency?

Yes, through three EU datacenters: AMS3 in Amsterdam, FRA1 in Frankfurt and LON1 in London. Pin App Platform apps and Droplets there for residency. DigitalOcean is SOC 2 Type II and SOC 3 certified, ISO 27001 certified at its datacenters including the EU ones, holds a PCI-DSS SAQ-A zero-footprint policy and CSA STAR Level 1. There are no other European country options.

Can App Platform run in multiple regions?

Not as a single app, since an App Platform app deploys to one region set in its spec. For multi-region you deploy separate App Platform apps, or Droplets, in each region and route traffic between them yourself, for example with a global load balancer or DNS. This is the main tradeoff against providers that ship built-in multi-region replicas.

How do I deploy and pin a region with DigitalOcean?

Write an app spec with a region and per-service instance_size_slug and instance_count, or an autoscaling block, then run doctl apps create --spec app.yaml --wait, or --upsert to create-or-update. Apply later changes with doctl apps update <app-id> --spec app.yaml. The same YAML drives the DigitalOcean API, so the region pin lives in version control rather than a console.

Sources & verification

Verified by ComparEdgeMethod: Vendor docs, official pages, and selected independent sources
SourceWhat was checkedLast checked
DigitalOcean OfficialOfficial product pageJuly 10, 2026
DigitalOcean Developer docsApp Platform App SpecJuly 10, 2026
DigitalOcean Developer docsHow To Scale AppJuly 10, 2026
DigitalOcean Developer docsApps CreateJuly 10, 2026
DigitalOcean Developer docsPlatform Regional AvailabilityJuly 10, 2026
DigitalOcean Developer docsDetails AvailabilityJuly 10, 2026
DigitalOcean Sla App PlatformSLA App PlatformJuly 10, 2026

Every fact on this DigitalOcean page is tied to a named source and a verification date. Freshness-sensitive figures trace to the sources above; verify against the vendor before relying on them.