Workflow automation has an odd pricing problem: the workflows that run most often are usually the cheapest to run. A lead-enrichment flow that fires on every form submission does a few HTTP calls and finishes in under a second, yet on execution-based pricing it costs the same as a nightly report that crunches a spreadsheet for two minutes. This post follows the marketing operations lead at a B2B software company we will call Larkspur as she builds a cost model for 200,000 executions a month, comparing n8n Cloud with self-hosted n8n on MassiveGRID PaaS, the platform built on Virtuozzo Application Platform (formerly Jelastic).
The workload, described honestly
Larkspur's automation estate is typical of a marketing operations team: about 60 active workflows, of which five account for 85% of executions. The shape matters more than the count.
| Workflow type | Executions per month | Typical duration | Compute per run |
|---|---|---|---|
| Form submission enrichment (webhook to CRM) | 120,000 | 0.4 s | Trivial |
| Ad-platform sync (every 5 minutes) | 52,000 | 1.5 s | Small |
| Slack alerts and routing | 20,000 | 0.3 s | Trivial |
| Nightly reporting and spreadsheet builds | 600 | 90 s | Heavy |
| Everything else | 7,400 | 2 s | Small |
| Total | 200,000 |
Almost all executions are trivial. Almost all compute is in the nightly reports. Any pricing model that counts executions will charge Larkspur mostly for the trivial ones.
How the two models charge
n8n Cloud sells tiers with an included number of executions per month and a step up to the next tier when you exceed it. Larkspur's 200,000 executions sit well above the entry tiers, and growth in form submissions moves them up again, regardless of how little work each execution does. The benefit is genuine: no servers, automatic updates, and n8n's own team on call. The cost is that the bill tracks event volume, not compute.
Self-hosted n8n on MassiveGRID PaaS has no execution count at all. The n8n package is installed in one click with a PostgreSQL database, and you pay for the containers' resource use in cloudlets, each 128 MiB of RAM plus 400 MHz of CPU, at MassiveGRID's published $0.003372 per cloudlet-hour ($2.46 per cloudlet per month). Each hour, a node is charged for the greater of its peak RAM and its average CPU. Volume discounts apply automatically as an environment's consumption rises, and reserved cloudlets, committed in advance, are cheaper than dynamic ones added on demand. The n8n licence itself is free for internal business use under n8n's Sustainable Use License.
Sizing Larkspur's environment
The operations lead measured before estimating. A single n8n node handled the trivial webhook load at about 3 cloudlets of steady use, with brief peaks to 5 when the ad-platform sync coincided with a burst of form submissions. The nightly reports pushed the node to 10 cloudlets for roughly an hour. PostgreSQL sat at 2 to 3 cloudlets. So the environment was configured as:
- n8n node: 3 reserved cloudlets, dynamic ceiling of 12.
- PostgreSQL node: 2 reserved cloudlets, dynamic ceiling of 6.
- Disk: about 15 GB across both nodes, growing slowly with execution history (which n8n prunes on a schedule).
- Public IP: one, for the custom webhook domain and Let's Encrypt.
Monthly consumption works out to roughly 5 reserved cloudlets around the clock (3,650 cloudlet-hours) plus dynamic usage of about 2 cloudlets during business hours and 7 extra for the nightly hour (around 900 cloudlet-hours). At the published dynamic rate and before the reserved discount, that is in the region of $15 a month for compute, plus disk, external traffic and the public IP, which for this workload add a few dollars. Even doubling the estimate to be conservative leaves the platform cost well below the n8n Cloud tier that covers 200,000 executions.
What execution growth does to each bill
The model's real purpose was to show what happens next year. Larkspur expects form submissions to double as campaigns scale. On n8n Cloud that moves them into a higher tier. On the platform, 120,000 extra trivial executions add a fraction of a cloudlet of average CPU, an amount the dynamic ceiling absorbs without any configuration change, and the bill rises by cents, not tiers.
The nightly reports are the opposite case. If they triple, the n8n node's hourly peak grows towards its ceiling of 12 cloudlets for a longer window, and the bill rises in proportion to compute. That is the fair outcome: the expensive workflows cost more. If the reports ever outgrow a single process, the next step is queue mode with a workers layer that the platform adds and removes on load triggers, described in the companion post.
What the model leaves out, and how the platform covers it
A fair comparison includes the work n8n Cloud does for you. The operations lead listed each item and what replaces it.
| Included in n8n Cloud | On MassiveGRID PaaS |
|---|---|
| Updates | Container redeploy to the new n8n tag from the dashboard; the platform snapshots and rolls back if the redeploy fails |
| Backups | Database Backup/Restore add-on to a separate storage node on a schedule |
| SSL and domain | Built-in SSL on the platform domain; Let's Encrypt add-on for the custom webhook domain |
| Monitoring | Per-node statistics and email load alerts, plus n8n's own execution logs |
| Availability | Isolated containers with live migration, and MassiveGRID's 100% uptime SLA |
| Data location | Choice of New York, London, Frankfurt or Singapore; credentials never leave the environment |
| Support | MassiveGRID support plans; n8n community and paid n8n support remain available |
The last two rows decided it. Larkspur's CRM data includes EU prospects, and a Frankfurt environment with credentials stored only in its own PostgreSQL simplified the data-processing record more than any pricing tier could.
Frequently Asked Questions
Is self-hosted n8n free to use commercially?
n8n's Sustainable Use License permits free self-hosting for internal business purposes, which covers a company automating its own operations. Offering n8n itself as a service to others, or certain enterprise features such as SSO and environments, requires a paid n8n licence. MassiveGRID's charge is for the hosting only.
How do reserved cloudlets change the numbers?
Reserved cloudlets are charged whether used or not, at a discounted rate compared with dynamic cloudlets, and the total reserved across an environment sets the discount tier. For a workload with a steady floor, such as an always-on n8n node, reserving the floor and leaving the peaks dynamic gives the lowest bill. The exact tiers are shown under Balance and Quotas & Pricing in the dashboard.
What happens to executions during an n8n update?
A single-node redeploy causes a brief restart. Webhooks that arrive during it are retried by most senders, and n8n resumes queued executions from the database. Teams that cannot tolerate the gap run queue mode with several workers and redeploy them sequentially, so at least one worker is always running.
Pay for compute, not for executions
The n8n package on MassiveGRID PaaS installs n8n with PostgreSQL in one click and bills per cloudlet-hour, with reserved-cloudlet and volume discounts. Unlimited executions, your data in your region. Free 14-day trial, no credit card.
n8n on PaaS