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 typeExecutions per monthTypical durationCompute per run
Form submission enrichment (webhook to CRM)120,0000.4 sTrivial
Ad-platform sync (every 5 minutes)52,0001.5 sSmall
Slack alerts and routing20,0000.3 sTrivial
Nightly reporting and spreadsheet builds60090 sHeavy
Everything else7,4002 sSmall
Total200,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:

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 CloudOn MassiveGRID PaaS
UpdatesContainer redeploy to the new n8n tag from the dashboard; the platform snapshots and rolls back if the redeploy fails
BackupsDatabase Backup/Restore add-on to a separate storage node on a schedule
SSL and domainBuilt-in SSL on the platform domain; Let's Encrypt add-on for the custom webhook domain
MonitoringPer-node statistics and email load alerts, plus n8n's own execution logs
AvailabilityIsolated containers with live migration, and MassiveGRID's 100% uptime SLA
Data locationChoice of New York, London, Frankfurt or Singapore; credentials never leave the environment
SupportMassiveGRID 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

Further Reading