15% off your workspace - subscribe to our blogNo per-service fees - one plan, unlimited appsDeploy in under 40 seconds99.95% uptime SLAFree tier available - start building today15% off your workspace - subscribe to our blogNo per-service fees - one plan, unlimited appsDeploy in under 40 seconds99.95% uptime SLAFree tier available - start building today
Miget x AIPlansEnterpriseCompareBlogDashboard
Start for Free
Blog/Miget/platformsh/
·

Platform.sh / Upsun Alternative: Simpler Hosting Without the Enterprise Tax (Miget)

TL;DR: Platform.sh (now Upsun) bills per CPU-hour, per GB-hour, per project, per user, per backup. Even a small app costs $50-100+/month. Miget gives you a fixed compute plan (CPU + RAM) and lets you run unlimited apps, workers, and databases inside it - one predictable monthly price starting at $5.


Quick Comparison

Pricing as of April 2026. Check Upsun's pricing page for current rates.

MigetPlatform.sh / Upsun
Pricing modelFixed-capacity, per-resourceUsage-based (CPU-hour + GB-hour + storage + project fee)
Starting price$0/month (free tier)~$50/month minimum (project fee + user + smallest resources)
Apps per planUnlimited1 project fee per project, resources billed separately
Managed PostgreSQLIncluded ($0/month)Billed per CPU-hour + memory-hour (service tier rates)
Managed Redis/ValkeyIncluded ($0/month)Billed per CPU-hour + memory-hour
IsolationMicroVM (CloudHypervisor)Shared containers
Team members5 free on Hobby, 25 on ProBilled per user/month
Free tierYes (256 MiB, 0.1 vCPU, always on)15-day trial only
Preview environmentsIncluded (unlimited)Included (resources billed while running)
Custom domains + SSLIncluded (auto-TLS)Included
Build systemDocker / MigetpacksProprietary build system
Config formatDockerfile or zero-configYAML config files (.upsun/config.yaml)

Understanding Platform.sh and Upsun Pricing

Before we compare specific scenarios, it helps to understand how Platform.sh/Upsun actually bills you. The pricing model has multiple dimensions, and the final monthly cost is rarely obvious from the marketing page.

How Upsun charges you

Upsun (the successor brand to Platform.sh) uses a component-based billing model with four main dimensions:

  1. Project fee - a flat monthly charge per project for orchestration, metrics, and build minutes
  2. Compute resources - CPU and memory billed per hour, with different rates for apps vs services
  3. Storage and backups - billed per GB per environment and per backup
  4. User licenses - a monthly fee per team member

The per-hour resource rates differ depending on whether you provision shared or dedicated CPU, and whether the resource is an application container or a managed service (database, cache). Service-tier resources cost more per hour than application resources.

This means you do not just pay for "a server." You pay separately for each container's CPU time, each container's memory time, each GB of disk, each backup snapshot, each project, and each user. Preview environments multiply these costs because every running environment provisions its own resources.

The hidden complexity

The usage-based model sounds flexible on paper. In practice, it makes cost prediction difficult. Your bill changes when you add a preview environment, resize a service, take a backup, or onboard a team member. Developers report spending significant time trying to estimate what a deployment change will cost before they make it.

For enterprise teams with platform engineering staff and procurement workflows, this granularity can be valuable. For indie developers, startups, and small product teams, it is overhead that slows down shipping.


Pricing Breakdown: Real Numbers

This is where the difference becomes concrete. We will compare three scenarios at different scales.

All Upsun pricing as of April 2026, calculated from their published per-hour rates (assuming 732 hours/month average). Miget pricing from miget.com/plans.

Scenario 1: Solo developer - 1 web app + PostgreSQL

A single web application with a managed PostgreSQL database. The most basic production setup.

MigetUpsun
Compute (app)Included in planShared CPU + 0.5 GB memory (~$34/month)
DatabaseIncluded in planService CPU + 0.5 GB memory (~$50/month)
Storage (5 GB)Included in plan~$2.45/month
Project fee-~$9/month
User licenseFree (5 included)~$10/month
Compute plan$7/month (1 GiB RAM, 1 vCPU)-
Total$7/month~$105/month

Even the smallest useful Upsun setup costs roughly 15x more than Miget. The database alone costs more than Miget's entire plan because Upsun bills service containers at higher per-hour rates than application containers.

Scenario 2: Small team - 2 apps + PostgreSQL + Redis + worker

A growing product with a main app, an admin panel, a background worker, and two data stores. Three team members.

MigetUpsun
Web app 1Included in planShared CPU + 1 GB (~$57/month)
Web app 2Included in planShared CPU + 0.5 GB (~$34/month)
WorkerIncluded in planShared CPU + 0.5 GB (~$34/month)
PostgreSQLIncluded in planService CPU + 1 GB (~$65/month)
RedisIncluded in planService CPU + 0.5 GB (~$50/month)
Storage (10 GB)Included in plan~$4.90/month
Project fee-~$9/month
Users (3)Free (5 included)~$30/month
Compute plan$25/month (4 GiB, 2 vCPU)-
Total$25/month~$284/month

At this scale, Upsun costs more than 11x Miget. Every additional container and service multiplies the bill because each one has its own CPU and memory charges.

Scenario 3: Production SaaS - 3 apps + PostgreSQL (HA) + Redis + 2 workers

A production workload that needs reliability and headroom. Five team members.

MigetUpsun
Web apps (3)Included in plan3x guaranteed CPU + 2 GB (~$500/month)
Workers (2)Included in plan2x guaranteed CPU + 1 GB (~$220/month)
PostgreSQLIncluded in planService guaranteed CPU + 2 GB (~$210/month)
RedisIncluded in planService shared CPU + 1 GB (~$65/month)
Storage (20 GB)Included in plan~$9.80/month
Project fee-~$9/month
Users (5)Free (25 on Pro)~$50/month
Compute plan$85/month (8 GiB, 4 vCPU)-
Total$85/month~$1,064/month

At production scale, the gap is even wider. Upsun's guaranteed CPU tier (needed for consistent performance) costs significantly more per hour than shared, and every service runs its own billable compute.


Where Miget Wins

Predictable pricing with no surprises

You pick a plan. You know the price. It does not change when you add a preview environment, deploy a new service, or take a backup. There are no hourly meters running in the background.

Read more: Miget Plans and Pricing

Unlimited apps and services inside one plan

Deploy as many apps, workers, cron jobs, and databases as your plan's resources can handle. No per-app fees, no per-service surcharges. A single 4 GiB plan can run a web app, an admin panel, a background worker, PostgreSQL, and Redis - all included.

Free tier that actually works

Miget's free tier gives you 256 MiB RAM, 0.1 vCPU, and 1 GiB storage. It sleeps after 30 minutes of inactivity but wakes on the next request. Good enough to prototype, demo, or run a personal project. Upsun offers a 15-day trial and then billing starts.

Included databases at zero extra cost

PostgreSQL, MySQL, Valkey/Redis, RabbitMQ, and Kafka are included in every Miget plan at no additional cost. On Upsun, every managed service adds its own compute and memory charges to your bill.

Read more: Host Multiple Docker Apps Under One Plan

Simple configuration

Miget deploys standard Docker containers. If you have a Dockerfile, you can deploy. If you do not, Migetpacks auto-detects your language and builds a container for you - no configuration files needed.

Platform.sh/Upsun requires YAML configuration files that define routes, services, relationships, and build steps in a proprietary format. The learning curve is steep, and mistakes in config files can break deployments.

Read more: Migetpacks vs Paketo: Zero-Config Docker Builds

MicroVM isolation

Every Miget app runs in its own MicroVM powered by CloudHypervisor. This provides hardware-level isolation - not just container namespaces. Your workload cannot be affected by noisy neighbors on the same host.

Read more: How Miget Fair Scheduler Works


What Developers Say

The most common complaints about Platform.sh/Upsun from developer communities:

  • "The pricing is impossible to predict." - Developers report unexpected bills when preview environments stay running or when they resize services without realizing the cost impact.
  • "The YAML config is a nightmare." - Platform.sh's proprietary configuration format has a steep learning curve. Small mistakes in routes, relationships, or service definitions cause deployment failures that are hard to debug.
  • "Great for enterprise, overkill for us." - Small teams frequently describe Platform.sh as over-engineered for their needs. The platform assumes you have a dedicated DevOps person.
  • "Locked into their build system." - Platform.sh uses a proprietary build pipeline. Moving off the platform means reworking your entire build and deployment process.

The most common praise for Platform.sh:

  • "Rock-solid for Symfony/Magento." - Teams running Symfony or Magento consistently praise the deep framework integration.
  • "Preview environments are fantastic." - The ability to clone an entire environment (app + database + services) for a branch is genuinely powerful.
  • "Enterprise support is responsive." - Teams on enterprise plans report good support experience.

Migrating from Platform.sh / Upsun to Miget

Platform.sh apps are already containerized under the hood, which makes migration straightforward. The main work is replacing the proprietary configuration with a standard Dockerfile.

Step-by-step migration

  1. Export or write a Dockerfile. If your app already has one, you are set. If not, write a standard Dockerfile or use Migetpacks to auto-detect your stack.

  2. Push your image to a registry. Docker Hub, GitHub Container Registry, or any OCI-compatible registry works.

  3. Create a Miget account. Sign up at app.miget.com - free tier available, no credit card required.

  4. Deploy your app. Connect your registry or push directly from Git. Miget builds and deploys automatically.

  5. Add your databases. Enable PostgreSQL, Redis, or any other included service from the Miget dashboard - all at zero extra cost.

  6. Copy environment variables. Export your Platform.sh environment variables and set them in Miget's dashboard or CLI.

  7. Update DNS. Point your custom domains to Miget's endpoints. Auto-TLS certificates are provisioned automatically.

What changes

  • No more .platform.app.yaml or .upsun/config.yaml - just a Dockerfile
  • No more route configuration files - Miget handles routing automatically
  • No more per-service resource allocation - everything shares your plan's resource pool
  • No more hourly billing anxiety - fixed monthly price

What stays the same

  • Your application code does not change
  • Your database schema and data migrate with standard pg_dump/pg_restore (or equivalent)
  • Your CI/CD pipeline works the same - just point it at Miget instead

Read more: Dockerfile vs Buildpacks: Which Should You Choose?


FAQ

Is Upsun the same as Platform.sh?

Yes. Platform.sh rebranded its self-service product to Upsun while keeping the Platform.sh name for enterprise contracts. The underlying technology is the same. Upsun uses usage-based pricing while legacy Platform.sh plans used fixed tiers. Both are now converging on the Upsun pricing model.

Can Miget handle the same workloads as Platform.sh?

For most web applications, APIs, and background workers - yes. Miget runs standard Docker containers on dedicated MicroVM resources. If your app runs in a container, it runs on Miget. The exceptions are workloads that require Platform.sh-specific features like multi-region failover or compliance certifications.

Does Miget support PHP and Symfony?

Yes. You can deploy PHP and Symfony applications on Miget using a Dockerfile or Migetpacks. However, Miget does not have the Symfony-specific tooling and deployment recipes that Platform.sh offers. If you heavily depend on Platform.sh's Symfony integration, evaluate whether standard Docker deployment meets your needs.

How does Miget handle preview environments?

Every Miget plan includes unlimited preview environments. Unlike Upsun, preview environments do not add to your bill - they share your plan's resource pool. This means you can spin up as many branch environments as you want without worrying about per-hour charges.

What about support?

Miget offers community support via Discord and documentation. Professional plans include priority support. Platform.sh offers tiered support with enterprise SLAs for higher-tier customers. If your team requires a contractual SLA with guaranteed response times, Platform.sh's enterprise tier is better suited.

Is there vendor lock-in with Miget?

No. Miget runs standard Docker containers. Your Dockerfile, your images, and your data are portable. You can move to any platform that runs Docker containers without changing your application. Platform.sh uses a proprietary build system and configuration format, which creates more lock-in.


Bottom Line

Platform.sh and Upsun are powerful enterprise platforms - but that power comes with complexity and cost that most teams do not need. If you are an indie developer, a startup, or a small product team, you are paying for enterprise orchestration, compliance infrastructure, and sales-assisted onboarding that you will never use.

Miget gives you the parts that matter - reliable compute, included databases, unlimited apps, preview environments - at a fraction of the cost and with none of the configuration overhead.

Miget is the Platform.sh / Upsun alternative for teams that want to ship product, not manage platform infrastructure.

  • Unlimited apps and services inside one plan
  • PostgreSQL, MySQL, Redis, RabbitMQ, Kafka included at $0/month
  • MicroVM isolation with guaranteed resources
  • No per-hour metering, no surprise bills
  • Free tier available, no credit card required
Platform.sh / Upsun Alternative: Simpler Hosting Without the Enterprise Tax (Miget) - Miget Blog | Miget