The Problem: Runaway Cloud Costs
In late 2024, the engineering team at Dataflow Analytics (a BI SaaS startup with 12 engineers and ~5,000 users) hit a familiar milestone: their monthly cloud bill crossed $800 for the first time. What started as a simple AWS experiment had sprawled into a complex, expensive multi-service architecture.
Their monthly breakdown looked like this:
| Service | Provider | Monthly Cost |
|---|---|---|
| 3 API services | Heroku Standard 2x | $225 |
| 2 worker processes | Heroku Standard 1x | $100 |
| PostgreSQL (RDS t3.small, Multi-AZ) | AWS RDS | $110 |
| Redis (ElastiCache t3.micro) | AWS | $27 |
| MongoDB Atlas | MongoDB Atlas M10 | $57 |
| Infrastructure monitoring | Datadog | $105 |
| Uptime monitoring | Pingdom | $43 |
| Authentication | Auth0 (Essential) | $23 |
| CDN + static hosting | Cloudfront + S3 | $31 |
| Misc AWS (NAT gateway, data transfer) | AWS | $126 |
| Total | $847/month |
Not outrageous for a funded startup, but growing 15% month-over-month as user traffic increased. By Q2 2025, they were looking at $1,200+/month.
The Investigation
CTO Marcus Chen ran a cost analysis and asked a key question: *"Are we paying for complexity or capability?"*
The answer was painful. They were paying for:
- Heroku's dyno model despite having engineers who could use containers
- Separate monitoring tools that didn't integrate well with each other
- Multi-AZ RDS for a staging database (overkill)
- NAT gateway costs because their VPC setup wasn't optimized
- Auth0 at $23/month when they had fewer than 500 internal SSO users
The PandaStack Migration
After a two-week evaluation, they migrated to PandaStack Pro ($29/month team subscription). Here's how the new stack mapped out:
What They Migrated
API Services → PandaStack Containers
Instead of Heroku's $75/month Standard 2x dyno per service, they deployed Docker containers on PandaStack. Same Docker images they already had locally. The three API services moved in one afternoon.
Worker Processes → PandaStack Background Workers
PandaStack supports persistent background workers as part of any container deployment. No separate pricing.
PostgreSQL → PandaStack Managed PostgreSQL
Dumped and restored their RDS database in 45 minutes. PandaStack's PostgreSQL is included in the Pro plan. They kept a single-AZ instance for non-critical databases (acceptable for their use case).
MongoDB Atlas → PandaStack Managed MongoDB
Also included in Pro. The Atlas M10 at $57/month dropped to $0 incremental cost.
Redis → PandaStack Cache
Redis/Valkey caching is included as a deployment option.
Monitoring → PandaStack Monitor
Built-in uptime monitoring, error rate tracking, response time graphs, and Slack alerts. Replaced both Datadog and Pingdom.
Authentication → PandaStack SSO
One-click SSO for their internal dashboard. Supports SAML and OIDC. Free on Pro plan.
Static Hosting → PandaStack Static Sites
Replaced S3 + CloudFront. Edge-distributed static hosting included in plan.
New Monthly Cost Breakdown
| Service | Provider | Monthly Cost |
|---|---|---|
| Everything above | PandaStack Pro | $29 |
| Domain names (kept) | Cloudflare | $12 |
| Misc AWS (kept for legacy) | AWS | $18 |
| Total | $59/month |
Wait — $59? That's a 93% reduction. But there's more to the story.
They kept some AWS services for legacy integrations that weren't worth migrating, bringing the realistic total to about $341/month (including some services not mentioned above).
Final result: $847 → $341, a 60% reduction.
The Migration Timeline
- Week 1: Evaluate PandaStack, deploy staging environment
- Week 2: Migrate non-critical services, test monitoring
- Week 3: Migrate production databases (maintenance window)
- Week 4: Migrate remaining services, decommission old infrastructure
Total engineering time: approximately 40 hours across the team.
Unexpected Benefits
Faster deployments. Heroku's buildpack system averaged 4-5 minutes per deploy. PandaStack's container-based CI/CD averaged 90 seconds.
Better observability. Having monitoring, logs, and deployments in one dashboard reduced debugging time. The team estimated 30% less time spent on "is this a deployment issue or an infrastructure issue?" questions.
Rollbacks. PandaStack's one-click rollback to any previous deployment caught two production bugs in the first month that would have required manual rollbacks on Heroku.
Developer velocity. New engineers could deploy their first change on day one without learning AWS IAM, VPC configuration, or Heroku's CLI quirks.
Lessons Learned
- 1Audit your cloud bill quarterly. Costs creep up through unused resources and over-provisioned instances.
- 2Platform consolidation saves money. Every separate tool has a minimum price floor and integration complexity.
- 3Container portability is worth investing in. Having Docker images meant migration was straightforward.
- 4Monitoring should be included, not bolted on. Paying separately for observability is a tax on your engineering time.
Is This Realistic for Your Team?
Dataflow's savings were exceptional because they were over-paying in multiple areas. Your savings will depend on your current setup:
- If you're already on Railway or Render: expect 20-40% savings
- If you're on Heroku + AWS mix: expect 40-70% savings
- If you're on pure AWS with ECS/RDS: expect similar capabilities at lower operational overhead
[Calculate your savings with PandaStack →](https://dashboard.pandastack.io)