A web agency that hosts its clients' sites needs a control panel, and the two mature choices are Plesk and cPanel. Either usually runs on a fixed-size server that is too big in April and too small in November. The marketplace's Plesk package puts Plesk Obsidian on a platform node that scales by the hour, which changes the economics of running your own hosting server. This post follows an agency doing it on MassiveGRID PaaS, which is built on Virtuozzo Application Platform, formerly Jelastic.

The agency is a fifteen-person digital studio we will call Harlow Creative, hosting about forty client sites, most of them WordPress, with mail for a dozen clients who never wanted a separate provider. The Plesk Hosting Platform package deploys Plesk Obsidian on a dedicated Linux node with a public IP, the web server, PHP, mail and DNS components installed, and the admin panel over HTTPS.

Why a panel at all, when the marketplace has WordPress packages

The platform's WordPress packages give each site its own environment with its own scaling and billing, which this blog recommends for agencies elsewhere. Harlow's situation is different in two ways. A dozen clients want mail on their domains, and the agency wants to manage DNS, mail, databases and sites for a client in one place with one login, which is what a panel is. And the agency's staff know Plesk from a decade of use; retraining fifteen people is a real cost. The trade-off is that forty sites on one Plesk node share that node's resources rather than each scaling independently. The agency accepted the trade-off for its small and medium clients and kept the two largest sites on their own WordPress Cluster environments.

What the package installs, and what you bring

The node runs Plesk Obsidian with its stack: web server, PHP versions, MariaDB, mail server, DNS server and the Plesk panel, reachable over HTTPS with root and admin credentials delivered after installation. The node has a public IP, which mail and DNS require. What you bring is a Plesk licence: Plesk is commercial software, the package installs it, Plesk offers a trial licence, and afterwards the agency purchases a Web Admin, Web Pro or Web Host edition depending on how many domains it hosts. That licence is a separate line paid to Plesk; the platform side is the node's resource use.

Setting up forty subscriptions

Plesk's model is subscriptions: a client's domain with its sites, mail, databases and DNS, under a service plan that sets limits. The agency's admin created three service plans (brochure, business, e-commerce), then a subscription per client, and migrated sites in with Plesk's migration tool from the old server. The WordPress Toolkit, Plesk's WordPress management layer, is the reason many agencies choose Plesk: it lists every WordPress installation on the server, updates plugins and themes across all of them with a smart-update test, clones sites to staging, and hardens installations. Forty sites' plugin updates became one screen.

NeedPlesk on the platform nodeSeparate WordPress environments
Client mail and DNSIncluded, on the node's public IPNot included; external mail provider
One panel for everythingYesThe platform dashboard, per environment
Per-site scaling and billingShared node; billing per nodeYes, per environment
Bulk WordPress managementWordPress ToolkitPer site, or your own tooling
Isolation between clientsPlesk's per-subscription isolation on one nodeSeparate containers and environments
Best forMany small sites, mail, a Plesk-trained teamSites that need their own scaling or strict isolation

Mail, honestly

Sending mail from your own server is the part of hosting that punishes carelessness. The node's public IP needs a reverse DNS record matching the mail hostname, which MassiveGRID sets on request; every client domain needs SPF, DKIM and DMARC records, which Plesk's mail settings generate and its DNS server publishes; and the agency monitors the IP's reputation. Plesk's outbound mail limits per subscription keep one compromised contact form from getting the whole server blocklisted. The agency's admin did this properly in the first week, and the twelve mail clients have had no deliverability complaints since.

Why the node grows on Mondays

This is the part a fixed server cannot do. Forty sites have a combined traffic pattern: business hours on weekdays, quiet nights and weekends, and a Monday morning when every client's staff opens their own site and Plesk's scheduled tasks run. The node scales vertically in cloudlets (128 MiB of RAM plus 400 MHz of CPU) by the hour up to the limit the admin sets, so it is a small server at 03:00 on Sunday and a large one at 09:30 on Monday, and the bill follows. The admin set a 64-cloudlet limit and a load alert at 85%; the node averages about 22 cloudlets across the month, roughly $54 before discounts at MassiveGRID's published $0.003372 per cloudlet-hour, plus disk and the public IP, against a fixed server that had been sized for Monday and priced for it every day.

Backups, snapshots and the one thing to plan for

Plesk's own backup manager backs up subscriptions on a schedule to a remote destination; the admin points it at a Backup Storage node over SFTP, so a client's site, mail and database can be restored from Plesk's interface. The platform's snapshots of the node are the rollback before Plesk upgrades. The thing to plan for is that a single node is a single failure domain for forty sites: the platform's live migration and container restoration protect the node itself, and the agency's decision was that a few minutes of restoration for its small clients is acceptable, while the two large sites live on their own clusters. Written down, that is a service level, and Harlow puts it in its contracts.

Frequently Asked Questions

Plesk or cPanel?

Both are mature panels. Plesk runs on Linux and Windows, has strong WordPress and developer tooling, and is what the marketplace package installs. cPanel is Linux-only with a large hosting-industry following; MassiveGRID offers managed cPanel hosting separately. Agencies usually choose whichever their staff know.

Can Plesk on the node host more than one public IP?

Yes. Additional public IPs can be attached to the node from the topology settings and assigned in Plesk to subscriptions that need a dedicated address, for example for a client's own SSL certificate legacy requirement or mail reputation separation.

How do I move a client off the shared node when they grow?

Export the subscription with Plesk's backup manager or migration tool, install the WordPress Cluster package or a standalone WordPress environment, import the site, and repoint DNS. The client then scales independently, which is the platform's strength, and the Plesk node loses a tenant.

The panel your team knows, on a server that scales

The Plesk Hosting Platform package deploys Plesk Obsidian with mail, DNS and the WordPress Toolkit on a MassiveGRID PaaS node with a public IP that grows and shrinks by the hour. Bring your Plesk licence; pay per cloudlet-hour. Free 14-day trial.

Plesk on MassiveGRID PaaS

Further Reading