Why we're building our own control panel

VPSNine is writing its own billing, control panel, API and CLI instead of buying them. What that gets you, what it costs us, and where it stands.

Most small hosts are put together from parts. A billing system takes the money. A panel like SolusVM or Virtualizor runs the servers. A theme on top tries to make the two look like one product, and mostly doesn't.

We know, because that's how VPSNine ran the first time. It works. You can open a host in a week that way.

We're not doing it again. This time the billing, control panel, API and command-line tool are all ours, written in-house as one thing.

Why

Mostly because of the seams.

When billing and provisioning are separate products, something has to keep them in sync, and that something breaks. An invoice gets paid and the server doesn't appear. A server gets cancelled in one system and keeps running in the other. You email support, and support spends twenty minutes working out which of the two is lying.

With one codebase, the invoice you pay, the server it creates and the panel page that shows it all come from the same data. Nothing can drift out of sync.

Owning the whole path also helps with the 59 seconds, our target from a confirmed payment to a server you can log in to. Every hand-off between separate systems adds a queue somewhere. With all of it in one place, we can time each step and go after the slow one.

There's also control, in the boring sense. When something's wrong, we can read the code that's handling your server and your money, and fix it ourselves. We don't wait for someone else's release, and nobody can change the pricing of our own panel on us.

What you'll get

A panel for your servers and your account, at my.vpsnine.com. An API that does what the panel does; they share the same code underneath, so they can't disagree about the rules. And vps9, a command-line tool for people who'd rather not open a browser at all:

bash
vps9 servers create --plan standard --image debian-12 --hostname web-1 --key key_m2q7x4abcdefgh2s
vps9 ssh web-1
vps9 rdns web-1 set 203.0.113.42 mail.example.com

Downloads open at launch; Install the vps9 command-line tool has the details. Payments go through our own Bitcoin payment server at launch, with card and PayPal later (see payment methods).

What it costs us

Time, mainly. Buying the parts would have been quicker.

Building billing means handling invoices, renewals, refunds and every odd case in between. Building a panel means building the dull bits properly: password resets, two-factor, API tokens, the email that says your password just changed.

It also means the panel starts small. At launch it'll do what a VPS customer needs and not much else.

Where it stands

Accounts are live: sign-up, email confirmation, two-factor with recovery codes, SSH keys, API tokens, a session list and an activity log. Inside the VPSNine panel walks through what's there.

The server side is written too: ordering and billing, the serial console, the firewall, snapshots, reverse DNS, support tickets, the API and the CLI. What's left is testing it on real hardware, and orders open once that's done.

Be first when orders open

Join the waitlist and we'll send you one email when VPSNine launches. Pick a plan if you already know which one you want, and we'll size the first servers around it.