Search nomadLab

Backstage vs Port vs Cortex: Only One Publishes a Price

Port lists $30 and $40 a seat and caps entities and automation runs on top, and its own two tables disagree about the run limit. Cortex and Spotify publish nothing. The free option ships a minor release every month and backports security fixes for six.

Updated

Every internal developer portal pitch sounds the same, so skip the pitch and go to the part that differs. Try to build a budget for each of these from the public pages. Three of the four routes to a portal will not let you, and the fourth counts three things at once. What that exercise turns up is a better decision input than any feature matrix.

Everything below came off the vendors’ own pages and repositories on 23 August 2026.

The free one has a clock, not an invoice

Backstage is Apache 2.0, was accepted into the CNCF in September 2020, and moved to Incubating in March 2022, where it still sits. Nothing about the license will ever cost you money. The cost is in the cadence.

Backstage cuts a main release monthly, on the Tuesday before the third Wednesday. Between August 2025 and August 2026 it shipped fourteen minor lines, v1.41 through v1.54. The support statement attached to those releases is narrow: vulnerabilities rated high or critical “will always be backported to releases for the last 6 months if feasible,” regular bug fixes land in the next release rather than older ones, and a bug report is only valid if it reproduces on the most recent release.

A timeline of Backstage minor releases from version 1.41 in August 2025 to version 1.54 in August 2026, one roughly every month. The right-hand six months are shaded to show the window in which high and critical security fixes are backported. Releases older than six months are outside that window. Fourteen minor releases in twelve months, six months of backports older releases: upgrading is the fix high and critical fixes backported here 1.41 1.45 1.49 1.54 A bug report is only valid on the newest release. That is the upgrade pressure.
Ticks are the minor lines released between August 2025 and August 2026. The shaded window is the backport policy, not a support contract.

Read that as an operating requirement rather than a complaint. Running Backstage means someone upgrades a TypeScript application roughly every quarter at minimum, keeps the plugins in your deployment moving with it, and owns the reproduction when something breaks, because the project will ask for the newest version first. That is the invoice. It arrives in calendar time.

The two ways to buy your way out of it have both narrowed. Spotify sells Portal for Backstage and publishes no price for it. Roadie publishes one, $24 per developer per month for 50 to 150 developers with unlimited entities, and both of its portal plans are now labeled “Existing subscribers only” behind a waitlist, with the front of the site given over to a separate product. Hosted Backstage as a thing a new team can go buy today is thinner than it was a year ago.

Port counts three things and disagrees with itself about one

Port is the only product here with numbers on the page. Free starts at $0 for up to 15 seats. Basic starts at $30 per month per seat up to 50 seats, with a footnote reading “Package of 50 seats.” Standard starts at $40 per month per seat up to 200 seats. Enterprise is custom.

Seats are not the only cap. Each plan also caps entities and automation runs, and those are separate ceilings you can hit without adding a single user.

SeatsEntitiesAutomation runs
Free1510K400 on the plan card, 500 in the comparison table
Basic5050K400 on the plan card, 500 in the comparison table
Standard200250K1.6K on the plan card, 2K in the comparison table
EnterpriseCustomMore than 1MMore than 8K on the card, 10K in the table

The run column is not a typo on my end. The plan cards and the feature comparison further down the same page give different numbers for the same limit, on every tier. I would not build a budget on either figure without asking which one the contract uses.

The seat math is straightforward once you read the footnote. If Basic is sold as a package of 50, the entry point is $1,500 a month rather than $30. Standard at its 200-seat cap is $8,000 a month, or $96,000 a year. Those are prices you can compare against a headcount decision, which is the whole reason a published number is worth something.

The entity cap is the one that surprises people, and it follows from Port’s own pitch. Its data model lets you define arbitrary entity types, so teams model clusters, buckets, queues, and cost objects alongside services. Do that across a real cloud account and 250K entities is not a distant number. Seats grow with hiring; entities grow with terraform apply.

Cortex publishes nothing

Cortex’s pricing page says its model “is designed to scale with your engineering needs” and offers to prepare a customized proposal. There are no plan names, no per-user rate, and no statement of what the unit even is. Comparisons that quote a per-developer figure for Cortex are quoting something other than the vendor.

That is not a scandal, it is a sales motion, and it is common at the enterprise end of this category. It does mean that any Cortex line in a build-versus-buy spreadsheet is a placeholder until you have run a procurement cycle, and that the cycle itself is part of the cost.

What Cortex is for is clearer than what it costs. Its center of gravity is scorecards: whether a service has an owner, an on-call rotation, alerting, a runbook, a passing production-readiness check. If the question you are trying to answer is “which of our 300 services is nobody maintaining,” that is the shape of the product. If the question is “can a developer provision a staging environment without filing a ticket,” it is not.

The decision this actually reduces to

Three of these are trying to be the same thing and one is not, so the comparison sorts itself once you say out loud which job you are hiring for.

You want self-service actions and a catalog that models your infrastructure, not just your services: that is Port, and the number to check first is entities, not seats.

You want measurement across a service estate you already have: that is Cortex, and the first step is a procurement conversation rather than a trial.

You want to own the thing and you have someone whose job includes owning it: that is Backstage, and the honest budget line is not zero, it is a recurring upgrade with a six-month security window behind it.

And below some size, none of the above. A portal is a catalog of things somebody has to keep accurate. If you do not have a reconciled list of services, owners, and rotations today, buying a portal buys you a place to display the fact that you do not have one. Write the script that joins your cloud inventory to your repositories to your on-call schedule first. If that script turns out to be hard to keep correct, you have just learned the real reason portals cost what they cost.

Keep reading