The WPCloud Deploy Plugin allows an administrator to manage multiple WordPress servers across multiple cloud platforms that include Digital Ocean, Linode, Vultr, Amazon EC2 and Amazon Lightsail.
No longer do WordPress administrators need to worry about the costs of managing multiple servers. Unlike Plesk, cPanel and other services, a single flat price provides for unlimited servers.
Nor do administrators need to worry about managing the trade-offs between a single centralized server for all WordPress sites VS the inefficiency of managing multiple decentralized servers. With WPCloud Deploy you can do a mixture of both!
And, by doing so, administrators can get the benefit of a level of geographic and provider diversity by easily spreading smaller servers, clients and sites across multiple regions deployed with different cloud providers.
We built WPCloud Deploy to scratch an itch.
And it starts with hosting and hosting providers…
Hosting – A Problem We All Have and That’s Never Quite Right
Over the years we’ve tried many different hosting services – usually changing hosting service for a portion of our sites once a year. This is one way that we become knowledgeable about various hosting providers – knowledge that we need when supporting our customers running on all the various hosts out there.
But, frankly, we’ve never really been 100% happy with any one of them! And I think that’s the story for many experienced WordPress users. Hosts are a necessary evil but we really wish we didn’t have to use them.
Recently we tried and were really excited about SpinupWP and GridPane because they offered a different type of hosting – one where we controlled our own servers by using cloud servers from Digital Ocean, Amazon etc while SpinupWP and GridPane offered a visual control panel to manage WordPress on those servers.
However, concerns about security and some of the shortcomings in some of the support levels at critical times left us a little jaded. We wondered, if we were going to be left to our own devices at critical times anyway, why pay up for a 100% hosted solution where we still lacked control over key points in our infrastructure?
“Cheap” High Performance Cloud Servers
One of the revelations when using these kinds of WordPress control panels was how much performance cloud servers provided – how cheap that performance was, relative to the costs from companies like WPEngine and other large hosts.
For basic blogging and information portal sites with maybe a hundred visitors a day, a $10.00/month server from Digital Ocean could handle 10 – 25 sites (maybe more if the data didn’t change too often.)
A basic blogging site or information portal at many hosts might cost $29.00 per month.
And a $100.00 server from VULTR would provide performance that would usually cost $600 or more from your usual hosting suspects.
We understand that classic hosts do provide some key services besides servers and so they need a mark up – 24×7 support, automatic backups, tech support – that all costs money. But as experienced WordPress users we really really wanted to take advantage of the cost savings, flexibility and performance benefits that our own cloud servers could provide to us.
Using “Cheap” High Performance Cloud Servers
As you might expect, we could use any server we like if we wanted to use the Linux command line for everything. And open-source projects such as WordOps makes deploying WordPress using the command line even easier.
But when handling multiple websites spread across multiple servers at multiple cloud server providers, this becomes a real pain. And WordOps doesn’t include a lot of things you might need in deploying multiple WordPress sites across multiple servers. So we would still have to use regular raw commands on a regular basis.
We wanted something better.
We wanted to find a WordPress focused control panel that could hook up natively to the cloud server providers while meeting, what turned out to be, our extensive list of requirements. That turned out to be harder than we thought.
Long-established Linux management panels like PLESK and cPANEL are overkill and don’t really understand WordPress at a deep fundamental level. And WordPress specific management panels that are hosted (SAAS services) make us anxious with the security issues they present (among other things).
We chewed on this for most of 2019, searching for what we wanted. I guess we really were searching for the holy grail of hosted WordPress control panels.
We didn’t find it of course. So we decided to do something radical. At the time we didn’t think it was radical though. We figured, as developers are wont to do sometimes, that we could build it ourselves. Especially if we could find a suitable partner to do most of the work.
We wrote down our wish list and proceeded to search for the right partner.
As you might expect, we bit off more than we could chew – by considerably underestimating the task we had taken on. A 30 – 45 day project turned into six months as we rapidly expanded the project scope.
Our Requirements & Scope Creep
We started off with a very small list of requirements. But, by the time we were done after six months, we had created a very very long list. Here are some of the major items that we ended up including on the list:
- Hosting in our accounts at our choice of cloud server providers – this meant that no matter what, our servers and data belonged to us. And if we negotiated special volume pricing or got other deals, the cost benefits would flow to us and our customers.
- The panel should allow for each server to run multiple isolated WordPress installations. While each cloud provider could quickly spin up a server instance of any size with WordPress, you ended up with only one WordPress instance on each server and a lot of hoops to jump through if you wanted to deploy a second site. So our panel needed to make that a lot easier.
- Ideally, the management panel itself should run on WordPress – WordPress provides a lot of flexibility and, by running on it, we can use our favorite plugins and existing coding knowledge to easily tweak things to our way of working.
- It should have a command line option.
- It should be easily extensible. (If it ran on WordPress, this would be a given.)
- It shouldn’t treat us as beginners – in other words, expose and offer the advanced things that we might need – without forcing us onto the command line all the time.
- Be cheaper than the existing options out there – not on a single site basis but on a multi-site basis since we handle many sites.
- Be flexible – we wanted to be able to sort and filter our server and application list by any dimension.
- Secure – it should have only our keys and our cloud providers keys on the server. This one was non-negotiable. We might be flexible on some items above but this one was the most important for us.
- Support – we knew if we built this we would have to support it ourselves. So we wanted to make sure the tech stack was something that most sysops would be comfortable trouble-shooting.
- Speed – We didn’t need the most blazing performance on the planet if it meant creating a custom stack that few sysops could handle. We were willing to take a ten percent hit compared to the best performance we could get if it meant something more mainstream could be used.
Building Two Projects Instead of Just One…
Practically speaking, our development partners ended up building out TWO projects, not just one.
One of our requirements was that the entire thing needed to be built on WordPress.
Companies that sell WordPress related services that aren’t built primarily on WordPress really bug us. We didn’t want to be one of those.
Do you really think that the management panels on WPEngine or Pagely or BlueHost or FlyWheel or any other large host are built on WordPress? They pull money out of users committed to WordPress without fully committing to using WordPress themselves. Imagine how much better WordPress would be if large companies used it in mission critical operations and then improved the open source project with all the things they learned?
So we definitely wanted our project to be built 100% on WordPress.
Which, practically speaking, meant that our control panel needed to be a PLUGIN.
So a plugin was built. That took a while to get to the point where we felt comfortable revealing it to the public.
But then we wanted a way for users to try it out without having to install and configure it on their own servers.
So we built a WordPress multi-site project where users can subscribe and get a WordPress based management panel spun up immediately.
Today, both of those projects are available to the public. And we have lots of plans for future features – you can view the public road map anytime.
Its your turn to chime in and let us know if we hit the mark. Check us out for 30 days with no risk. If you identified with our list of frustrations above we think you’ll be pleasantly surprised. Just make sure you check out the pre-requisites before purchasing!
You can also get a site pre-built with the plugin starting at just $1.00 per month for 3 servers on Digital Ocean – check out that option here.
Follow us on Twitter! We post a lot of cool things there first. Click the bird below!