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.
| Miget | Platform.sh / Upsun | |
|---|---|---|
| Pricing model | Fixed-capacity, per-resource | Usage-based (CPU-hour + GB-hour + storage + project fee) |
| Starting price | $0/month (free tier) | ~$50/month minimum (project fee + user + smallest resources) |
| Apps per plan | Unlimited | 1 project fee per project, resources billed separately |
| Managed PostgreSQL | Included ($0/month) | Billed per CPU-hour + memory-hour (service tier rates) |
| Managed Redis/Valkey | Included ($0/month) | Billed per CPU-hour + memory-hour |
| Isolation | MicroVM (CloudHypervisor) | Shared containers |
| Team members | 5 free on Hobby, 25 on Pro | Billed per user/month |
| Free tier | Yes (256 MiB, 0.1 vCPU, always on) | 15-day trial only |
| Preview environments | Included (unlimited) | Included (resources billed while running) |
| Custom domains + SSL | Included (auto-TLS) | Included |
| Build system | Docker / Migetpacks | Proprietary build system |
| Config format | Dockerfile or zero-config | YAML 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:
- Project fee - a flat monthly charge per project for orchestration, metrics, and build minutes
- Compute resources - CPU and memory billed per hour, with different rates for apps vs services
- Storage and backups - billed per GB per environment and per backup
- 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.
| Miget | Upsun | |
|---|---|---|
| Compute (app) | Included in plan | Shared CPU + 0.5 GB memory (~$34/month) |
| Database | Included in plan | Service CPU + 0.5 GB memory (~$50/month) |
| Storage (5 GB) | Included in plan | ~$2.45/month |
| Project fee | - | ~$9/month |
| User license | Free (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.
| Miget | Upsun | |
|---|---|---|
| Web app 1 | Included in plan | Shared CPU + 1 GB (~$57/month) |
| Web app 2 | Included in plan | Shared CPU + 0.5 GB (~$34/month) |
| Worker | Included in plan | Shared CPU + 0.5 GB (~$34/month) |
| PostgreSQL | Included in plan | Service CPU + 1 GB (~$65/month) |
| Redis | Included in plan | Service 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.
| Miget | Upsun | |
|---|---|---|
| Web apps (3) | Included in plan | 3x guaranteed CPU + 2 GB (~$500/month) |
| Workers (2) | Included in plan | 2x guaranteed CPU + 1 GB (~$220/month) |
| PostgreSQL | Included in plan | Service guaranteed CPU + 2 GB (~$210/month) |
| Redis | Included in plan | Service 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
-
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.
-
Push your image to a registry. Docker Hub, GitHub Container Registry, or any OCI-compatible registry works.
-
Create a Miget account. Sign up at app.miget.com - free tier available, no credit card required.
-
Deploy your app. Connect your registry or push directly from Git. Miget builds and deploys automatically.
-
Add your databases. Enable PostgreSQL, Redis, or any other included service from the Miget dashboard - all at zero extra cost.
-
Copy environment variables. Export your Platform.sh environment variables and set them in Miget's dashboard or CLI.
-
Update DNS. Point your custom domains to Miget's endpoints. Auto-TLS certificates are provisioned automatically.
What changes
- No more
.platform.app.yamlor.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