Self-Hosted vs. SaaS Workflow Engines: When Self-Hosting Pays
Self-hosting a workflow engine looks cheaper on a spreadsheet. Then ops reality hits. Here's how to run the math honestly before you commit.
On this page
Most teams pick SaaS workflow tools because the sticker price feels predictable, then quietly bleed out on per-task fees once volume scales. Other teams self-host to save money and end up paying a senior engineer's salary in lost hours. Both moves are wrong, and both are wrong for the same reason: nobody ran the actual math.
This is the comparison nobody wants to do because it requires admitting that operational labor has a real cost and that "free and open source" is a license, not a price tag. Let's do it anyway.
The Crossover Point Is Higher Than You Think#
The seductive pitch for self-hosting goes like this: n8n Cloud charges roughly $20-50/month for a starter plan, Make charges per operation, Zapier charges per task. Self-host n8n on a $20/month VPS and you get unlimited executions. Done, right?
Not quite. Here's the honest cost stack for a self-hosted workflow engine running production traffic:
- Compute: $20-80/month for a VPS that can actually handle bursts without OOM-killing your Node process
- Database: $15-50/month for managed Postgres (please don't run Postgres on the same box)
- Backups and object storage: $5-20/month
- Monitoring (Better Stack, Grafana Cloud, or similar): $0-30/month
- A staging environment: roughly half the above, again
- Engineering time: 2-6 hours/month steady state, 8-20 hours during upgrades or incidents
SaaS equivalents typically don't beat this until you're processing somewhere between 50,000 and 500,000 operations per month, depending on the platform. Below that volume, SaaS almost always wins on total cost. Above it, the curves cross hard and self-hosting starts saving real money.
The crossover point shifts based on three things: how expensive your per-task pricing tier is, how much engineering time your team already spends on infrastructure (marginal cost is lower if you have an ops person), and whether your workflows are bursty or steady. Bursty traffic punishes SaaS pricing more than steady traffic.
Ops Overhead Is the Line Item Founders Always Underestimate#
The spreadsheet always says self-hosting wins. The spreadsheet is lying to you because it assumes the system runs itself.
It doesn't. Here's what actually happens in month four of self-hosting:
A minor version upgrade introduces a breaking change in a node you depend on. Your webhook endpoint times out during a traffic spike and you don't notice for six hours because you never configured alerting properly. A credential rotation breaks twelve workflows simultaneously. The Docker container restarts and loses in-memory execution state. SSL cert expires. Database fills up because you forgot to set a retention policy on execution logs.
None of these are catastrophic individually. Collectively, they consume the time you thought you were saving. A team I worked with last year self-hosted n8n to save $400/month versus the Cloud plan. They spent an average of 11 hours/month on operations across two engineers. At their loaded rates, they were losing about $900/month on the deal — and that's before counting the two outages that cost them actual revenue.
Self-hosting makes sense when one of these is true: you have existing infrastructure expertise on staff and the marginal time cost is low; you're at volume where SaaS pricing is genuinely punishing; or you have a hard requirement (compliance, data residency, customization) that SaaS can't meet. If none of those apply, you're paying for a hobby.
Data Residency and Compliance Change the Equation Entirely#
The one scenario where the math gets simple is regulated data. If you're processing PHI under HIPAA, financial data under SOX, or EU personal data under GDPR with strict residency requirements, SaaS often isn't an option at any price — or it's only available at enterprise tiers that cost 10-20x the standard plan.
Zapier's enterprise plan with HIPAA support starts around $800/month and goes up fast. Make's enterprise tier is quote-only. n8n Cloud offers SOC 2 but data residency options are limited. If your compliance posture requires data to stay in a specific jurisdiction, in your VPC, with your encryption keys, self-hosting stops being a cost optimization and becomes a requirement.
In that case, the question isn't "does self-hosting pay?" — it's "which engine self-hosts best?" n8n leads here because the fair-code license permits commercial self-hosting and the architecture is straightforward. Temporal is the right answer if you need durable execution at scale. Windmill is worth looking at if you want self-hosted with better developer ergonomics. Activepieces is the newer entrant and improving fast.
Don't self-host Zapier-style tools. They aren't designed for it, the licensing won't work, and you'll fight the architecture forever.
The Customization Ceiling Decides More Than Price#
Here's the part most cost comparisons miss entirely. SaaS workflow platforms have a customization ceiling, and you don't notice it until you hit it.
With hosted Zapier or Make, you can't write a custom node that talks to your internal API with mTLS auth. You can't run a workflow step that requires 30GB of RAM for a data transformation. You can't fork the platform to add a feature your business actually needs. You can't drop into the database to debug a stuck execution. You can sometimes write custom code steps, but they run in a sandboxed environment with execution time limits and no native dependencies.
For most small businesses, this ceiling never gets hit. Your workflows are CRUD-shaped: pull from one API, transform, push to another. SaaS handles that fine, forever.
But if you're doing anything genuinely custom — running an ML model mid-workflow, integrating with on-premise legacy systems, processing large files, building workflows that other internal tools depend on as infrastructure — you'll hit the ceiling and you'll hit it suddenly. At that point self-hosting isn't an optimization, it's the only path forward.
The honest version of the decision: self-host when you have a specific reason that SaaS can't accommodate. Don't self-host because the per-month price looks attractive in isolation.
A Decision Framework That Actually Works#
Forget the scoring tables. Here's the sequence to run:
First, estimate your real monthly operation volume for the next 12 months. Not aspirational volume — realistic volume. Most small businesses overestimate this by 3-5x.
Second, price out the SaaS option at that volume on at least two platforms. Watch for per-task pricing, premium connector fees, and seat costs that compound.
Third, price out self-hosting honestly. Compute plus database plus backups plus monitoring plus staging plus 4 hours/month of engineering time at fully-loaded rates. If you don't have engineers, add the cost of a contractor on retainer.
Fourth, identify any hard requirements: compliance, residency, customization, integration with on-prem systems. If any exist and SaaS can't meet them at a price you'll accept, self-hosting wins regardless of the cost math.
Fifth, add a 30% buffer to the self-hosted estimate for the surprises you haven't thought of yet. There are always surprises.
If self-hosted is still cheaper after all that, and you have the operational muscle to run it, self-host. If not, pay for SaaS and stop second-guessing.
Most small businesses we work with should be on SaaS for the first 18-24 months of automation maturity, then re-evaluate once volume and customization needs are clear. The exceptions are real but rarer than founders assume.
If you want help running this math on your specific stack — including a realistic operations cost model and a migration plan if self-hosting actually wins — see how we work.
Need help implementing this?
We build these systems for small businesses and hand you the keys. Book a free discovery call — no sales pressure.
Book a Discovery CallFrequently asked questions
When does self-hosting a workflow engine pay off?
When task volume is high enough that per-execution SaaS pricing exceeds the cost of running your own instance, or when data-control requirements rule out a hosted plan.
What are the real costs of self-hosting n8n?
A server, occasional maintenance, and the time to handle updates and backups. The license is free, but operations are not.
Is self-hosted automation harder to maintain?
It adds responsibility for uptime, updates, and security that a SaaS plan handles for you, which is the main tradeoff against lower per-run cost.
Self-hosted or cloud for a small business?
Start hosted if volume is low and you want zero operations. Move to self-hosted when execution costs climb or data residency matters.