• Tallinn05:07
  • Ljubljana04:07
  • Novi Sad04:07

By Kristijan Sekereš

Upsun in 2026: a French platform running mostly on US clouds

Code on a developer's screen

Upsun, called Platform.sh until September 2025, is a French company running on American clouds. Platform.sh SAS in Paris owns the group and signs with most EU customers under French law, but it owns no data centres: of the seven European regions a new project can choose, six run on AWS (Dublin, Stockholm), Google Cloud (Frankfurt, Zurich, London) or Microsoft Azure (Paris), and one runs on OVHcloud (Gravelines). Leaving AWS or Azure for Upsun therefore usually means keeping AWS, Google or Azure underneath, with Upsun as the contract and the platform layer.

What Upsun sells is a developer platform: push a Git repository and every branch becomes a full copy of the stack, data included, with managed PostgreSQL, Redis, OpenSearch, Kafka and more, and egress at EUR 30 per TB. The weak points matter in production. Each database is a single container with no failover, our production workload costs EUR 1,911.83 a month, nearly twice the AWS price, and the default SLA is "commercially reasonable efforts" with no credits.

This article is one of a series comparing 24 European cloud providers with AWS and Azure; the overview puts them side by side. Everything below was checked on 15 and 16 October 2026 against Upsun's documentation, legal terms, price data, regions API and status page, the French company register and user reports, each at its source. We did not open an account or run workloads.

At a glance

Upsun
Headquarters and controlParis. Platform.sh SAS, trading as Upsun, privately held and venture-backed; its president and CEO is co-founder Frédéric Plais. No cap table is public. Owns no data centres
Regions and zonesSeven European regions open to new projects: de-2 Frankfurt, ch-1 Zurich and uk-1 London on Google Cloud; eu Dublin and eu-5 Stockholm on AWS; fr-4 Paris on Microsoft Azure; fr-3 Gravelines on OVHcloud. Upsun defines no zones of its own and does not document whether a project spans the underlying cloud's zones
Workload A (starter)EUR 242.32 a month in de-2 (Frankfurt)
Workload B (production)EUR 1,911.83 on shared CPU, EUR 2,202.09 on Guaranteed CPU. Upsun sells no database standby, no Kubernetes and no public IPv4 address per instance, and its object store is reachable only from inside the project
Egress10 GB a month per project included, then EUR 0.03 per GB (EUR 30 per TB). No IP charges
Compute SLA"Commercially reasonable efforts" for 99.5%, no credits. 99.9% costs +20% of project value plus Advanced support, on a 12-month term
Included supportStandard, charged at +10% of spend on every bill, with no response commitment
Who can sign upIndividuals, companies and public sector bodies. A 15-day trial needs no card; no identity check is described

What you can build

One file in the repository, .upsun/config.yaml, declares the applications, the services they use and the routes; a Git push builds and deploys them as containers, and every branch can become a "preview environment" with a copy of production data. There are no virtual machines, disks or networks to manage. Versions are from Upsun's public image registry.

What you needUpsunAWSAzure
Application runtimeApp containers for PHP, Node.js, Python, Ruby, Java, Go, .NET, Elixir and Rust; since 27 July 2026 also a public Docker image run as-isElastic Beanstalk, App Runner, ECS FargateApp Service, Container Apps
Virtual machines, bare metal, GPUsnone. The nearest is an app container on shared CPU or "Guaranteed CPU" (a container on a dedicated host)EC2Virtual Machines
Block and file storagePer-container disk on Ceph volumes, replicated across VMs in the region; shared mounts between appsEBS, EFSManaged Disks, Azure Files
Object storageS3-compatible bucket per app, internal to the project only; 512 GB minimum; no versioning, object lock, server-side encryption, ACLs or lifecycle policiesS3 (partly)Blob Storage (partly)
Relational databasesPostgreSQL 14 to 18, MariaDB 10.11 to 12.3, Oracle MySQL 8.4; single instance, with optional asynchronous read-only replicasRDSAzure Database for PostgreSQL and MySQL
Other data servicesRedis, Valkey, OpenSearch, Elasticsearch, MongoDB, ClickHouse, Solr, InfluxDB, Memcached, VarnishElastiCache, OpenSearch Service, DocumentDBAzure Cache for Redis, Cosmos DB for MongoDB
MessagingKafka 3.6 to 4.3, RabbitMQ 4.3, as services inside the projectMSK, SQS, Amazon MQEvent Hubs, Service Bus
Kubernetes, container registry, functionsnone. "Tasks" (on-demand containers run to completion), crons and workers are the nearestEKS, ECR, LambdaAKS, ACR, Functions
Networking and load balancingAn internal network per project, projects isolated from each other; a built-in router in front of app instances at no separate price. PrivateLink only on the legacy Dedicated productVPC, ELBVNet, Load Balancer
CDN, WAF, DDoSBuilt-in WAF rules on all traffic; managed Fastly CDN, Fastly WAF and DDoS protection as paid add-onsCloudFront, WAF, ShieldFront Door, WAF, DDoS Protection
SecurityEnvironment variables with a sensitive flag; Vault KMS as a service; teams, MFA enforcement and SSO at EUR 9 per user a month extraSecrets Manager, KMS, IAMKey Vault, Entra ID
Monitoring30 days of metrics; Blackfire APM and profilingCloudWatch, X-RayAzure Monitor
BackupDaily backups of production, kept two days by default; they cannot be downloadedAWS BackupAzure Backup

Missing outright: virtual machines, bare metal, GPUs, managed Kubernetes, a container registry, functions, DNS, a public object store, hosted AI models and a customer-defined network. Upsun replaces the application tier of AWS or Azure (Beanstalk or App Service, RDS, ElastiCache, OpenSearch, MSK, Amazon MQ) for web applications that fit its Git-and-container model, not the cloud underneath, which it rents.

Shared-CPU containers stop at 8 CPU and 17 GB of RAM; Guaranteed CPU goes to 64 CPU and 512 GB. CPU and RAM come in fixed pairs, so not every size exists, and PostgreSQL extensions are a fixed list. Renaming a service in the configuration file "removes all data in that service".

The tooling is a REST API with an OpenAPI spec published without login, the MIT-licensed upsun CLI (v5.14.0, 15 October 2026), an MCP server, and GitHub, GitLab and Bitbucket integrations. We found no Terraform or OpenTofu provider; Upsun's own pitch sets "maintaining Terraform modules" against "Infrastructure lives alongside code in a single config file".

What it costs

Upsun list prices in EUR, VAT excluded, from its pricing page and the price table behind it, checked 15 and 16 October 2026, in de-2 (Google Cloud, Frankfurt), with CPU and memory at 730 hours. Prices are the same in every region, less a 3% "Green hosting incentive" in six regions that do not include de-2.

Every bill carries the Standard support charge of +10% of spend, a project fee of EUR 9 a month (10 GB of egress and 500,000 requests included) and EUR 10 per user licence. Billing is per second on allocation, not use: an idle container costs the same as a busy one.

Workload A, a starter setup: an application with 2 vCPU and 4 GB, a 40 GB disk, one IPv4 address, 1 TB of egress and 100 GB of object storage.

LineChoiceEUR a month
App2 CPU HIGHER_MEMORY profile, 6.1875 GB (the 4,032 MB profile is just under 4 GB)109.34
Disk40 GB19.60
Public IPv4no equivalent: a shared regional gateway0.00
1 TB egressfirst 10 GB included29.70
100 GB object storageminimum allocation is 512 GB42.65
Project fee and one user licence19.00
Standard support+10%, mandatory22.03
Total242.32

AWS charges EUR 112.37 and Azure EUR 116.15 for the same in Frankfurt. A "First Project Incentive" credits up to USD 19 a month after the trial; its terms were not read.

Workload B, a small production system: three VMs of 4 vCPU and 16 GB with an IPv4 address each, 300 GB of SSD block storage, a load balancer, PostgreSQL with 2 vCPU, 8 GB and 100 GB as primary plus standby, 1 TB of object storage with 1 million PUT and 10 million GET requests, a Kubernetes control plane and 2 TB of egress. Here the VMs become three app instances.

LineChoiceEUR a month
3 app instances, shared CPUno 4 CPU, 16 GB shared size exists; the nearest larger is 8 CPU, 17 GB each1,084.83
3 app instances, Guaranteed CPU (variant)4 CPU, 16 GB each, exact, on a dedicated host1,348.70
300 GB block storageapp disk147.00
3 public IPv4no equivalent0.00
Load balancerbuilt-in router0.00
PostgreSQLGuaranteed CPU, 2 CPU, 8 GB (cheaper than the nearest shared size)293.20
Database storage100 GB49.00
PostgreSQL standbynot offered: priced as a single node0.00
1 TB object storagetwo 512 GB steps, 1,024 GB allocated; no request fee listed85.30
Kubernetes control planeno equivalentn/a
2 TB egressfirst 10 GB included59.70
Project fee and one user licence19.00
Standard support+10%173.80 (shared) or 200.19 (Guaranteed)
Total1,911.83 (shared) or 2,202.09 (Guaranteed CPU)

AWS charges EUR 985.89 to 1,082.61 for workload B and Azure EUR 1,017.63 to 1,091.88. Upsun costs 1.8 times the general-purpose AWS and Azure totals on shared CPU and about twice on Guaranteed CPU, with less in the box: the hyperscaler totals include a database standby in another zone and a Kubernetes control plane. They also exclude the operations work a platform removes.

Four line items of workload B have no equivalent at Upsun: the PostgreSQL standby, the Kubernetes control plane, a public IPv4 address per instance and a public object store. Treat the total as a nearest match, not like for like. The shared-CPU total also buys twice the CPU asked for, because no smaller shared size has 16 GB.

Not in the total: requests beyond 500,000 a month, backup storage, extra build time and any staging environment. An uptime SLA adds +20% of project value and requires Advanced support at +15% instead of +10%, both on 12-month terms: roughly +25% to +30% on the totals. Upsun does not define "project value".

Egress and IPv4. Beyond the 10 GB per project, egress costs EUR 0.03 per GB, against EUR 80.30 per TB on AWS and EUR 77.62 on Azure beyond their free 100 GB. We found no fair-use clause. Workload B's 2 TB costs EUR 59.70 here and USD 171.00 on AWS. IPv4 is not sold: each region has shared gateway addresses, "stable, but not guaranteed to never change".

Billing. Monthly, by card or SEPA, in EUR, GBP, USD, CAD or AUD. Preview environments pause after 15 days of inactivity and then cost only their storage; environments on Guaranteed CPU cannot pause. There are billing alerts but we found no hard spending cap. A failed payment blocks resource changes, and the terms allow suspension 8 days after written notice.

Price changes. None found in the last 24 months. Archived pricing pages from 14 May 2025 and 22 April 2026 show the same CPU, memory, disk, egress, project fee, licence and support figures as today; Guaranteed CPU was added in between, and object storage on 23 September 2026. The terms allow price changes on 30 days' notice, with termination as the only remedy.

Reliability

What a zone is. Upsun defines none. For the shared infrastructure the self-serve plans run on, its documentation says "Multi availability zones: No" and "High availability (HA): No". Nothing Upsun publishes says whether a region's storage replicas and VMs span the underlying cloud's zones, so whether a project survives the loss of a whole zone is undocumented.

The database. Upsun's engineering post of June 2026 is direct: "A database runs as a single instance ... You get one MariaDB. We don't quietly run 3 copies of it behind the scenes." Storage is Ceph, "replicated several times across different virtual machines in the region", and when a VM fails "your container moves to a healthy one, usually within a minute or 2". Read replicas are asynchronous and do not fail over. On AWS and Azure the standby sits in another zone, replicates synchronously and takes over in 60 to 120 seconds. Across regions, "We don't do automated failover".

Three-node high availability exists only on the legacy Dedicated product (Upsun Fixed), closed to new customers, and even there "The default configuration for Dedicated clusters is to launch them into a single availability zone (AZ)"; spreading the three machines across zones is a paid add-on.

The SLA (Service Specific Terms v1.2, 17 September 2026):

LevelPriceCredits
Defaultincludednone: "commercially reasonable efforts" for 99.5%
Advanced, 99.90%+20% of project value, with Advanced or Premium support, 12 months5% below 99.90%, rising to 50% below 97.00%
Premium, 99.99%+45% of project value, with Advanced or Premium support, 12 months3% below 99.99%, rising to 50% below 97.00%
  • Credits are a share of the affected production environment's monthly fee, capped at 50%, as credit on future invoices (cash only on termination), and the "sole and exclusive remedy". Below 97% for three months running you may terminate with a pro-rata refund.
  • The control plane ("Console, CLI, APIs for the control plane, user authentication") is excluded, as are non-production environments and anything "not directly imputable to Upsun".
  • You claim by a support ticket titled "Service Credit Request" before the end of the second month after the incident, with "request logs that document the errors".
  • Liability under the Terms of Service is capped at the fees paid in the previous 12 months.

AWS commits to 99.99% for EC2 across two or more zones and 99.5% for a single instance, with credits up to 100% and no add-on fee; Azure gives 99.99% across zones. Upsun's default is a 99.5% target with nothing behind it.

Status page and incidents. status.upsun.com replaced status.platform.sh on 24 April 2026 without the old history: its incident file starts on 4 July 2026. We recovered older incidents from archived copies of the old feed. Of the 16 incidents found, five were in fr-3, the OVHcloud region, two of them caused by OVHcloud's own maintenance.

DateRegion (cloud)What happened
17 Apr 2025fr-3 (OVHcloud)About 2.5 hours: "Our upstream provider has confirmed that a network equipment issue is impacting their scheduled maintenance"
23 Feb 2026eu and us (AWS)About 70 minutes of performance problems in two regions at once; Upsun "identified and blocked malicious traffic"
4 Mar 2026de-2 (Google, Frankfurt)"Outage on DE-2 Region": "multiple production sites as well as development environments", with Git and SSH access, for about six hours, from "an issue with the storage layer underlying the region". Dedicated clusters were not affected. No postmortem found (archived feed)
2 to 15 Jul 2026fr-3 (OVHcloud)IO errors on hosts (incident), failing backups, then hosts "restarted by the infrastructure provider as a part of scheduled maintenance to install security patches", about 22 hours (postmortem)
26 Aug 2026uk-1 (Google)Major outage: "A firewall rule intended for internal hosts was erroneously applied to the gateways", about 30 minutes (incident)
2 Sep 2026eu-5 (AWS)A "significant traffic surge" overloaded the regional gateways: "site outages across all environments", Console and CLI affected

Each region shares a storage layer and a set of gateways, and both have failed for a whole region at once (de-2 in March, uk-1 and eu-5 in August and September).

Support

PlanPriceUrgent (P1)High (P2)Normal (P3)Term
Standard+10% of spend, applied by defaultno commitment; "commercially reasonable efforts" to answer within 4 hours, 24x7nonenonenone
Advanced+15% of spend1 hour, 24x76 hours12 hours12 months
Premium+19% of spend30 minutes, 24x73 hours, 24x78 hours, 24x712 months

On Advanced, P2 and P3 run Monday to Friday. The targets are "response targets only and not resolution targets", and P1 applies only to live production. Support runs through an online service desk on Zendesk, staffed by Upsun affiliates in the EU, UK, US, Canada and Australia; languages are not stated.

Standard is not optional, so support is never free. A one-hour P1 target costs 15% of spend on a 12-month term. On AWS Business Support+ it costs the greater of USD 29 or 9% of charges, and on Azure Standard USD 100 a month.

Getting an account

The trial starts with your first organisation: 15 days, no credit card, one project, two active environments, 4.5 CPU, 12 GB of RAM, 20 GB of storage and no object storage. To continue you create a billing account (Individual, Company with a tax ID, or Public sector) and add a card or SEPA mandate. If a trial expires unpaid, projects with no code are deleted after one day, those with code after five.

No identity document check is described. The Acceptable Use Policy lets Upsun "engage third parties for identity verification", so one is possible but not a standard step. The same policy bars "cryptomining, movie or video transcoding, real-time computer vision" without prior written consent.

Workload B on day one: not on the trial. After payment, the documented limits are app instances, "typically 1 to 8 instances per environment" depending on the region, and Guaranteed CPU, which may need a support ticket. No other default quota is published, so our reading is yes, with Guaranteed CPU possibly a ticket away.

Suspension can be immediate for a breach, or when "reasonably deemed necessary" to prevent harm to the platform, customers or the underlying infrastructure.

Compliance and data protection

Upsun's trust centre limits its audits to the hyperscaler regions: "We undergo an annual ISO 27001, SOC 2 Type ΙΙ and PCI DSS Level audit over Security, Privacy, and Availability for our regions hosted on Amazon Web Services, Microsoft Azure, and Google Cloud Platform." OVHcloud is not in that list.

FrameworkStatus
ISO/IEC 27001:2022Claimed. The certificate directory pages did not render for us: scope and expiry not seen
SOC 2 Type 2Gated: the report comes from a sales or account representative. Covers the platform and Blackfire
PCI DSSGated: report by support ticket. "The FR-1 and FR-3 regions are excluded from our PCI certification"
HDS, SecNumCloud, BSI C5, TISAX, ENSNot claimed

The underlying clouds' own certificates cover their infrastructure, not Upsun's platform on top.

The Data Processing Agreement (v1.2, 17 September 2026) provides Standard Contractual Clauses for transfers out of the EEA and says that Upsun "or its Subprocessor may need to process Customer Personal Data outside the European Economic Area". New sub-processors are announced "at least fifteen (15) days" ahead; you may object within five days, and if that is unresolved after ten Upsun "may proceed to use the new Subprocessor", leaving you to terminate the affected part. Breaches are notified within 72 hours. On a government request, Upsun notifies the customer first "unless legally prohibited".

Besides the four clouds, the sub-processor list names Cloudflare for "Web application security, CDN caching, DDoS mitigation" (EU and US, not marked optional), Sentry for monitoring (US), Zendesk for support, SendGrid for email (US, optional) and Fastly for the optional CDN (US). Even a project in fr-3 on OVHcloud uses US-headquartered sub-processors. Whether Cloudflare sits in front of every project is not stated.

Data location is the region you pick per project; we found no contractual EU-only commitment beyond that choice. Upsun publishes transparency reports for 2020, 2021 and 2023.

Who controls it

The company is Platform.sh SAS, trading as Upsun, registered in Paris on 1 April 2010; its president is co-founder and CEO Frédéric Plais. It describes itself as "headquartered in Paris and San Francisco". Its Impressum lists six "wholly owned subsidiaries" in the UK, Germany, Spain, the US, Canada and Australia, so the US company is a subsidiary of the French one, not its parent.

The last funding round we found was a USD 140 million Series D in June 2022, led by Digital+ Partners (Munich), Morgan Stanley Expansion Capital (San Francisco) and Revaia (Paris), with BGV, Eurazeo, Hi Inov and Partech re-investing. No shareholdings are public, so whether any investor holds a controlling stake is unknown. We found no acquisition and no later round.

Who you contract with depends on your billing address, since the Terms of Service of 3 July 2026:

Billing addressEntityLaw and courts
France and every other EU country except Germany and SpainPlatform.sh SAS, ParisFrench law, Commercial Court of Paris
GermanyPlatform.sh GmbH, KölnGerman law, courts in Berlin
SpainPlatform.sh PAAS SP, SL, MadridSpanish law, Madrid

Under the September 2025 terms, every EU customer contracted with the French company.

Whose infrastructure each region runs on, from Upsun's public regions API:

RegionLocationCloud and its regionOpen to new projects
de-2FrankfurtGoogle Cloud, europe-west3yes
ch-1ZurichGoogle Cloud, europe-west6yes
uk-1LondonGoogle Cloud, europe-west2yes
euDublinAWS, eu-west-1yes
eu-5StockholmAWS, eu-north-1yes
fr-4ParisMicrosoft Azure, francecentralyes
fr-3GravelinesOVHcloud, gra7yes
eu-2, eu-4DublinAWS, eu-west-1no

Inside the EU proper, the choice is de-2 (Google), fr-3 (OVHcloud), fr-4 (Azure), eu and eu-5 (AWS). The upside is choice: each project picks its cloud and country, Azure in Paris and OVHcloud in Gravelines included. The region nearest Frankfurt is Google's; the nearest on a European-owned cloud is Gravelines, and that region is the weakest: excluded from PCI DSS, not named in the stated ISO 27001 and SOC 2 audit scope, without Guaranteed CPU, and with the most incidents. Even Upsun's own website is "hosted by Amazon Web Services EMEA SARL".

Leaving

The data services are standard open-source engines, so a dump restores anywhere (upsun db:dump, or pg_dump through a tunnel). Code is a Git repository with full history and mounted files download over SSH or rsync. Exporting 1 TB costs about EUR 29.70 in egress, plus the 10% support charge.

The lock-in sits in four places:

  • The configuration file, in Upsun's own schema. Upsun itself says definitions written for it "may require adaptation when deployed on other cloud providers".
  • Service discovery: code that reads connection details from PLATFORM_RELATIONSHIPS needs changing to run elsewhere.
  • Backups: "the backup can be applied to environments on Upsun Cloud, but it can't be downloaded". Exports go service by service.
  • The internal object store: data leaves through S3 commands run inside the project or through a tunnel. Setting its size to zero deletes the bucket with "no soft-delete or retention period".

Upsun publishes an EU Data Act switching page and a data register mapping each category of data to its export method. For customers in scope: two months' notice, a 30-day transition period (extendable once), a 30-day retrieval period, then deletion, with fees running until the switch completes. Leaving a term contract early costs them every discount received plus "30% of the remaining undiscounted contract amount". Customers outside the Data Act's scope owe the rest of the term. On self-serve terms you can delete projects at any time.

Moving between Upsun regions, say from a hyperscaler region to fr-3, is a manual rebuild with "a brief site outage".

What users report

We found too few independent first-hand reports about Upsun or Platform.sh from the last 24 months to support any theme: nearly every Hacker News mention is a company post, a job advertisement or an employee, and Reddit rate-limited most of our requests.

Who it suits, and who should look elsewhere

Upsun suits teams running web applications (PHP with Symfony, Drupal or Laravel, Node.js, Python) who want a Heroku-style workflow with a full preview environment per branch, under a French contract and French law, who are content for the hosting underneath to be AWS, Google or Azure, and whose traffic is egress-heavy rather than compute-heavy.

Look elsewhere if you are leaving AWS or Azure to stop depending on US hyperscalers, since most Upsun regions are those hyperscalers and every region uses US sub-processors; if you need database failover or zone-redundant high availability on a self-serve plan; if you need virtual machines, Kubernetes, GPUs or infrastructure managed in Terraform; if your production budget is tight; or if you are a public or health buyer who needs SecNumCloud, HDS or BSI C5.

Sources

Checked on 15 and 16 October 2026.

Pricing

Terms and SLA

Documentation

Status and incidents

Compliance

Company and ownership

User reports

Data & Cloud

New guides and rule changes by email

When a rule changes, a deadline moves or we publish a new guide, we send it by email.

We send a confirmation link first. You can unsubscribe at any time. Privacy Policy