Workflow Automation
n8n Self-Hosted vs n8n Cloud vs Make: TCO at 10k, 100k and 1M Executions
Total cost of ownership for self-hosted n8n on Hetzner or AWS vs n8n Cloud and Make at 10k, 100k and 1M monthly executions, with Postgres, Redis and labor.
This guide contains affiliate links. If you buy through them we may earn a commission at no extra cost to you — it never affects our rankings. Read our disclosure.
Affiliate disclosure: optimization.systems earns a commission if you sign up for Make through links on this page, at no extra cost to you. We have no commercial relationship with n8n, AWS or Hetzner, and links to them are not paid. The commission does not change the model: where self-hosted n8n is cheaper, this guide says so.
What you are actually comparing
The three options put the cost in different places:
| Option | What you pay the vendor | What you pay for yourself |
|---|---|---|
| n8n self-hosted (Community) | Nothing | Servers, Postgres, Redis, backups, monitoring and the engineers who run them |
| n8n Cloud | Subscription by monthly executions | Workflow building only |
| Make | Subscription by monthly credits | Workflow building only |
n8n bills one execution per workflow run, however many nodes it has. Make bills one credit per module that runs, including the trigger. That difference matters as much as hosting does, so we use the same reference workflow as our Make vs n8n vs Zapier TCO guide: one trigger plus seven actions, no loops — 8 Make credits or 1 n8n execution per run.
| Executions per month | n8n executions | Make credits |
|---|---|---|
| 10,000 | 10,000 | 80,000 |
| 100,000 | 100,000 | 800,000 |
| 1,000,000 | 1,000,000 | 8,000,000 |
TCO model: assumptions (dated)
Vendor prices change often. Every figure below is a planning estimate, not a quote.
- Make and n8n Cloud subscriptions use the tier prices in our pricing registry, last verified 1 September 2025, billed annually, with ranges consistent with our three-way TCO guide. n8n Cloud is billed in euros. Above the largest published tiers both vendors quote Enterprise contracts, so those cells are planning ranges.
- Infrastructure uses on-demand list prices as of November 2026: Hetzner Cloud in Germany or Finland, and AWS in us-east-1 with no Reserved Instances or Savings Plans. Euro prices are converted at about €1 = $1.15. Check the AWS Pricing Calculator and Hetzner’s price list before you budget.
- Engineering labor is a loaded rate of $55 to $120 an hour: $55 reflects a contractor or a lower-cost market, $120 a senior DevOps or platform engineer in the US, UK or Australia. Labor covers upgrades, security patches, monitoring, backup restore tests, database maintenance and incident response.
- Excluded: building and maintaining the workflows themselves (broadly similar on all three), 24/7 on-call stipends, and the self-hosted n8n Business or Enterprise license you need for SSO, environments with Git, log streaming or advanced RBAC. If you need those features self-hosted, add the license quote to the self-hosted columns.
Self-hosted n8n: infrastructure by volume
| Component | 10k executions | 100k executions | 1M executions |
|---|---|---|---|
| Architecture | Single instance | Queue mode | Queue mode, scaled out |
| n8n processes | 1 VM (4 vCPU, 8 GB) | Main + 2–4 workers | Main, 2 webhook processors, 6–10 autoscaled workers |
| Postgres | Same VM | Dedicated VM or managed, single node | Highly available primary + replica |
| Redis | Not needed | Single small instance | Replicated, with failover |
| Extras | Off-server backups | Load balancer, monitoring, log retention | Load balancer, NAT, metrics, logs, execution-data pruning |
| Hetzner, per month | ~$20–$30 | ~$100–$150 | ~$300–$500 |
| AWS, per month | ~$55–$75 | ~$350–$450 | ~$1,200–$2,000 |
On AWS, Multi-AZ RDS, ElastiCache, the load balancer and NAT gateways carry most of the premium. On Hetzner you run Postgres and Redis yourself, which is cheaper in cash and costs some of the extra hours below.
Engineering hours by volume
| Executions per month | Monthly hours | At $55/hr | At $120/hr |
|---|---|---|---|
| 10,000 | 2–4 | $110–$220 | $240–$480 |
| 100,000 | 6–10 | $330–$550 | $720–$1,200 |
| 1,000,000 | 16–30 | $880–$1,650 | $1,920–$3,600 |
One-time setup adds 20 to 60 hours for hardening, TLS and reverse proxy, backup automation, deployment pipelines and runbooks — $1,100 to $7,200 depending on rate and scope, or about $90 to $600 a month if amortized over the first year. The tables below leave it out, which flatters self-hosting in year one.
Total monthly cost of ownership
| Executions per month | Make | n8n Cloud | n8n self-hosted on Hetzner (infra + labor) | n8n self-hosted on AWS (infra + labor) |
|---|---|---|---|---|
| 10,000 | ~$60–$110 | ~$60 (Pro tier) | ~$130–$510 | ~$165–$555 |
| 100,000 | ~$400–$700 | ~$800–$1,500 (Business tier or quote) | ~$430–$1,350 | ~$680–$1,650 |
| 1,000,000 | ~$2,500–$5,000 (Enterprise quote) | Enterprise quote (plan for $3,000+) | ~$1,180–$4,100 | ~$2,080–$5,600 |
Self-hosted ranges run from the low end of hours, rate and infrastructure to the high end of all three. Your figure sits wherever your team’s actual hours and rate put it, so the break-even table below is more useful than the ranges.
Break-even: how many hours can you afford?
Self-hosted n8n beats Make when infrastructure + (hours × rate) < Make subscription. Using range midpoints, this is how many engineering hours a month self-hosting can absorb before Make is cheaper:
| Executions per month | Hetzner at $55/hr | Hetzner at $120/hr | AWS at $55/hr | AWS at $120/hr | Hours you’ll realistically need |
|---|---|---|---|---|---|
| 10,000 | 1.1 | 0.5 | 0.4 | 0.2 | 2–4 |
| 100,000 | 7.7 | 3.5 | 2.7 | 1.3 | 6–10 |
| 1,000,000 | 61 | 28 | 39 | 18 | 16–30 |
Read across each row. Where the hours you’ll need exceed the break-even, Make is cheaper. Where they fall below, self-hosted n8n is.
At 10,000 executions a month
Self-hosting cannot win on cost: no team maintains a production n8n instance in under an hour a month. Choose between Make (opens in a new tab, affiliate link) and n8n Cloud on fit, not price — they cost about the same. Note that n8n Cloud’s Pro tier includes exactly 10,000 executions, so retries, test runs or growth push you to the next tier, while Make’s 80,000 credits for the reference workflow sit inside its published tiers. Self-host at this volume only for data residency or air-gapped requirements, and budget it as a compliance cost.
At 100,000 executions a month
This is where Make’s managed cloud most clearly wins on total cost. Running n8n in queue mode with Redis, workers and a separate Postgres takes 6 to 10 hours a month, and the break-even is 1.3 to 7.7 hours. On AWS, self-hosting loses at any realistic rate. On Hetzner, it can only come out ahead if an existing platform team runs it as one more service at a low effective rate. n8n Cloud’s Business tier also typically costs more than Make for this workload.
If your team would be standing up servers, databases and on-call just for automation, Make (opens in a new tab, affiliate link) is the lower-TCO choice and removes an operational risk as well.
At 1,000,000 executions a month
Self-hosted n8n wins. Make’s 8 million credits a month land in Enterprise pricing, while n8n’s cost stops growing with step count. On Hetzner, self-hosting is cheaper at any realistic hours and rate. On AWS it is cheaper for most teams, but at $120 an hour and more than 18 hours a month — common for a highly available setup — Make Enterprise comes close or wins. n8n Cloud Enterprise is the middle path when you want n8n’s billing model without running Postgres and Redis yourself; get a quote and compare it to the AWS column.
What moves the numbers
- Loops and long workflows. Make bills every module on every iteration; n8n bills the run once. A workflow that loops over 50 line items can cost 250+ Make credits per run, which moves the Make break-even down by roughly one volume tier. If your workflows loop, self-hosted n8n wins earlier than this model shows.
- Polling triggers. Make spends a credit every time a scheduled trigger checks for new data, even when there is nothing to process. Use webhooks wherever you can.
- Execution data retention. Self-hosted n8n stores execution history in Postgres. At 1M executions, without pruning (
EXECUTIONS_DATA_PRUNE,EXECUTIONS_DATA_MAX_AGE) the database grows by tens of gigabytes a month and slows down. - Reserved capacity. One-year AWS Savings Plans or Reserved Instances cut compute and RDS costs by roughly 30–40%, which helps the AWS column at 1M.
- Existing platform. If n8n runs on a Kubernetes cluster, Postgres fleet and monitoring stack you already operate, its incremental hours fall sharply and self-hosting wins earlier.
- Enterprise features. SSO, Git-based environments and audit logs on self-hosted n8n need a paid license. If you need them, the “free” license column is no longer free.
Comparison at a glance
| Tool | Best for | Starting price | Free plan | Deployment | AI capabilities | Score | Link |
|---|---|---|---|---|---|---|---|
| Make Top pick | Ops teams that need complex, multi-branch logic at low cost | $9/mo | cloud | AI Agents, OpenAI/Anthropic modules, AI-assisted scenario building | 4.6 | Visit Make (affiliate link, opens in new tab) | |
| n8n | Engineering-led teams with data-residency or volume needs | $24/mo | cloud, self-hosted | LangChain-based AI Agent nodes, vector stores, tool calling, MCP | 4.6 | Visit n8n (affiliate link, opens in new tab) |
Beyond cost: what else should drive the decision?
| Factor | n8n self-hosted | n8n Cloud | Make |
|---|---|---|---|
| Who operates it | Your engineers | n8n | Make |
| Data residency | Any region or on-premises | n8n’s hosting region (EU) | Make’s US or EU hosting |
| Uptime responsibility | Yours, including on-call | Vendor | Vendor |
| Security patching | Yours | Vendor | Vendor |
| Custom code | JS and Python Code nodes, custom nodes | JS and Python Code nodes | Limited custom functions |
| Billing unit | None (infrastructure only) | Execution | Credit per module |
| Best for | Platform teams, compliance, very high volume | Engineering teams that don’t want to run servers | Ops and RevOps teams scaling to six-figure volumes |
A decision rule you can apply this week
- Count executions and Make credits per run for your three highest-volume workflows.
- Project volume 12 months out, not today’s run rate.
- Pick your hosting — Hetzner or AWS — and price the infrastructure tier from the table above.
- Estimate monthly engineering hours honestly, including on-call, and multiply by your loaded rate between $55 and $120.
- Compare against the break-even table. If your hours are above the break-even, choose the managed option; if below, self-host.
As a rule of thumb: up to about 100,000 executions, or no platform team → Make; engineers who want n8n without servers → n8n Cloud; 1,000,000+ executions, loops, or strict data residency → self-hosted n8n. Use the ROI estimator to put a value on the hours automation frees up, then subtract the hours self-hosting consumes.
The bottom line
n8n’s Community edition costs nothing to license and real money to run. Below about 100,000 executions a month, those running costs exceed a managed subscription, and Make (opens in a new tab, affiliate link) delivers the lowest total cost of ownership. At 1,000,000 executions, self-hosted n8n wins — decisively on Hetzner, narrowly on AWS — for teams that can staff it. Re-run the break-even table whenever your volume grows tenfold or your engineering rate changes, and check the ROI estimator before committing either way.
Frequently asked questions
Is self-hosted n8n cheaper than n8n Cloud?
Only at high volume. At 10,000 executions a month, a self-hosted server costs $20 to $75 in infrastructure, but two to four hours of engineering time at $55 to $120 an hour costs more than an n8n Cloud subscription. Self-hosting usually becomes the lowest total cost somewhere around 1,000,000 executions a month, earlier if you already run a platform team.
What infrastructure does self-hosted n8n need in production?
At low volume, one VM with n8n and Postgres, plus off-server backups. From roughly 100,000 executions a month you should run queue mode: a main instance, Redis as the job queue, two to four worker processes and a separate Postgres database. At 1,000,000 executions you add autoscaled workers, dedicated webhook processors, highly available Postgres and replicated Redis.
How many engineering hours does a self-hosted n8n instance take each month?
Plan for about 2 to 4 hours a month at 10,000 executions, 6 to 10 hours at 100,000 and 16 to 30 hours at 1,000,000, covering upgrades, security patches, monitoring, backup tests, database maintenance and incident response. Add 20 to 60 hours of one-time setup for hardening, backups and deployment automation.
Should I host n8n on Hetzner or AWS?
Hetzner's infrastructure typically costs a third to a quarter of the AWS equivalent for the same vCPU and memory, which makes it the cheaper home for n8n. AWS wins when you need managed Multi-AZ Postgres, private networking to other AWS workloads, US or Australian regions Hetzner doesn't offer, or an existing AWS compliance boundary.
When is Make cheaper than self-hosted n8n?
Make usually has the lower total cost of ownership from 10,000 to about 100,000 executions a month, because its subscription costs less than the engineering hours a self-hosted n8n instance needs. Above that, and especially for workflows with loops or many steps, self-hosted n8n usually wins because it has no per-step or per-execution fee.
About the author
Sharad Gandhi
Principal Architect
Principal Architect (ex-IBM, ex-Amdocs) and IIT Bombay & Carnegie Mellon alumnus who has designed integration, automation and cloud platforms for global enterprises.
- Principal Architect
- Former IBM
- Former Amdocs
- IIT Bombay alumnus
- Carnegie Mellon alumnus
Reviewed by Editorial Research Team — Research, pricing verification & fact-checking
- #tco
- #n8n
- #make
- #self-hosting
- #aws
- #hetzner
- #devops
- #pricing