In this tutorial, we’ll cover everything you need to know about using WPCS. We’ll start with briefly covering the WaaS concept to create the proper context.
If you’re already familiar with WaaS, start at “The Concepts that make WPCS revolutionary”.
After covering these must-know concepts, we’ll take a step-by-step tour.
Finally, we’ll answer some FAQ’s.
What is a WaaS (Website as a Service)?
WPCS is the world’s first multi-tenant WordPress cloud hosting platform that enables anyone to start a WaaS or upgrade their existing WaaS by migration to the platform.
If you don’t know already, WaaS stands for Website as a Service. It means that you’ve created one or several websites that are uniquely tailored to a specific niche and sell this as a digital product.
This standardized website product is used as a scaffold to sell to your niche. Some vendors create DIY website products that customers can easily customize and optimize themselves. Others use the product as a scaffold for their own use, and customize the product as part of the service.
If you’re using WordPress for your WaaS business, you’re probably on a Multisite set up or you might be cloning or duplicating signal installs using a Managed WP Hosting service or VM.
Although these alternatives have their own use case and are very helpful tools, they aren’t designed for WaaS purposes and therefore have pitfalls and downsides.
A Multisite is great if you’re a franchise, or multinational that wants to create a local presence. Managing a Multisite network where each subsite has a slightly different front end, and it’s own domain is great.
Though, when you want to sell websites to different companies a single database becomes an issue.
On the other hand, launching single installs for each new client will limit your growth potential, as all the manual actions will severely limit your efficiency.
If you’re reading this, you’re probably aware of these issues. If not, we’ll dedicate a webinar and an article to these issues soon.
Why you should choose WPCS
WPCS is not only the world’s first cloud hosting platform that uses WordPress open source, it’s also the world’s first SaaS platform that’s specifically designed for Website as a Service businesses.
Basically, WPCS is a SaaS for WaaS.
Because the platform is a first of its kind, this means that using WPCS introduces a few new concepts. We’ll go over these in a second.
No worries though. As soon as these concepts become clear, you won’t believe how easy the platform is to use.
WPCS uses Kubernetes’ cloud infrastructure to orchestrate multi-tenant website product. The result?
Highly available websites that scale automatically.
We created a multi-tenant WordPress cloud hosting platform, which means that each WordPress website shares the same functionality but has a separated database.
This is a milestone in using WordPress for WaaS: you can manage and optimize all websites as one, but be sure that each website (tenant) is isolated from the rest.
That means no more noisy neighbors and no scalability issues, one of the main issues with using Multisite for WaaS.
We’ll save an explanation of the other benefits of using multi-tenant WordPress as opposed to Managed WP Hosting or Multisite for another article.
But most importantly: the platform is built to facilitate website products. This means you can build one product to iterate and optimize constantly.
In WPCS we’ve introduced a unique versioning system that guarantees 100% save WordPress development.
This is how WPCS guarantees the most efficient and safe development process imaginable.
Let’s go over the concepts to demonstrate what we mean.
The concepts that make WPCS revolutionary
- Product: Anyone can create website products using WPCS, no coding required. You can think of your website as a product that your factory (the WPCS platform) produces.
- Version: Your first step on the platform is to create a version. The version is the prototype of the product you develop and sell. You’ll create new versions as you develop your product and create new prototypes.
- Snapshot: When you make a snapshot, you’re basically sending over the blueprints of the current state of your version to the factory.
When you make a tenant (a customer website) this is always based on a snapshot that you have deployed.
If you deploy a snapshot, all existing tenants will automatically receive the updated functionalities.
- Tenant: As stated above, a tenant is an actual product, generated for your customer. The tenant is always based on a snapshot.
That’s it. Those are the 4 must-know concepts.
How to put the concepts into practice
11 easy steps to using WPCS:
- Create a product
- Create a version
- Login to the snapshot editor of your version. The blue button with “Editor” leads to a WordPress backend as you know it.
- Build and publish a WordPress website as you normally would
- Deploy a snapshot of your version
- You can now create a tenants based on a snapshot
- Buy a domain somewhere and add this domain by navigating to a specific tenant
Want to introduce new features or update plugins?
- Create a new version
- Build out the changes in V2
- Test the new version by creating a tenant based on your old version and move this to the new version
- If the new version works, you can move existing tenants to the new version
Check out the visual flow with screenshots:
Create a Product
Create a version
Login to the snapshot editor of your version. The blue button with “Editor” leads to a WordPress backend as you know it.
Build and publish a WordPress website as you normally would
Deploy a snapshot of your version
Create a tenant based on a snapshot
Create a new version if you want to upgrade the old version with new functionalities
If the new version works, you can move existing tenants to the new version.
Buy a domain somewhere and add this domain by navigating to a specific tenant
Frequently asked questions
When do I deploy a snapshot?
You deploy a snapshot when your current version is ready to serve as a product to sell to new customers. When you deploy a snapshot, you’re sending over the blueprints of your current version to the factory to use when creating tenants (figuratively speaking).
Also, when you deploy a snapshot, all existing tenants automatically receive the updated functionalities. You can keep developing your current version, even while you’re creating tenants based on your snapshot. However, we recommend that you always create a new version when you make changes in your product that might alter the website of your tenants.
Being able to create a new version, based on a snapshot of your current version, is an important feature of WPCS: it allows safe development. If you make sure to always develop in a new version and only move tenants from one version to the other after thorough testing, you’re doing it safely!
Once you’ve deployed a snapshot of your first version, you’re in business. You can create as many new tenants based on this snapshot as you please.
When you feel like you’ve created an update to the current version, just deploy a new snapshot. You can use the newly updated snapshot as the new blueprint to create new tenants.
Why do I need different versions?
You create a new version if you want to upgrade your current product in a way that means new functionalities or do maintanance to the product that might cause errors for the existing tenants.
Maintanance can mean updating the plugins, WordPress, or any third-party software. It could also mean adding new functionalities like WooCommerce or leadpages. Anything that substantially alters the product can be safely and efficiently tested by creating a new version.
Once you’ve finalized your new version, you can test it by moving tenants based on the previous version to the new version. We recommend that you don’t do this with live websites of customers. Just create a new tenant and move it to the new version.
This is how WPCS guarantees the safest and most efficient development process.
Which themes and plugins can I use?
All of them. You’re only limited by the amount of users the specific plugin allows.
Can I customize individual tenants?
Absolutely. That’s one reason why the platform is multi-tenant. Once a tenant is created, it has a seperated database. You can modify, optimize, and customize a tenant as you please.
Keep in mind that altering tenants in such a way that they become removed from your original product might influence the compatibility to a new version.
Also, you can customize a tenant as you please but your customers cannot. Tenants cannot add plugins themselves. This is to make sure that you keep control of the product and guarantee it doesn’t influence compatibility.
What’s the difference between WPCS and Multisite?
For starters, WPCS is multi-tenant. Multisite websites all share the same database. This is convenient when you’re a university or blogplatform that wants to share resources. However, it severely limited scalability and availability of your business if you’re using it for WaaS.
Since all website on multisite share the same database, it also limits the use cases. For instance, using multisite for a website SaaS causes serious privacy, security and user experience issues.
What’s the difference between WPCS and Managed WP Hosting?
Managed WP Hosting is a great tool if you want to manage a number of different WordPress websites. It centralizes the hosting and often allows you to manage a number of similar features as one, like plugin updates and backup. It works great if you’re an agency that creates custom websites for different clients and uses WordPress to do so.
WPCS’ multi-tenant platform is different in the way it standardizes all websites as a single website product, unifies the development process and combines the functionalities of all websites to manage as one. The result is a multi-tenant cloud platform, uniquely tailored to facilitate Website as a Service businesses that uses WordPress open source.
How is your hosting infrastructure built?
WPCS is a cloud platform that uses Kubernetes’ container orchestration tools to automatically scale and manage highly available digital products to multi-tenancy without ecosystem limitations using AWS cloud services.
What is your approach to backups?
Twice daily, stored for up to a month. You can also create backups of tenants manually, in case you (or your tenant) intends to heavily change their site.
What filesystem access exists?
Right now, the only way to interact with both product versions and the multi-tenancy environments is via the WordPress interface. We are working on providing our customers with FTPS access to their product versions.
Direct FTPS access for your tenants to their sites is not currently on the roadmap, although we are investigating possibilities.
If you need customizable styling functionalities in your custom (child) theme or custom plugin, we strongly recommend to utilise plugins like simple-custom-css (https://wordpress.org/plugins/simple-custom-css/) instead of using the file system to render out css files.
Database-based css customization allows for much quicker horizontal scalability, as well as easier cache invalidation during the development process.
What automation or APIs exist for the creation of new tenants?
None so far, but we’re working hard on our Zapier app. This will allow for automated tenant creation, under specific product versions (amongst other useful actions and triggers). Further on the roadmap, we’re looking into providing our customers with incoming and outgoing webhooks to allow for even more customizable integrations.
Can I launch new tenants automatically?
As explained above, soon. Because we’re still in Beta, we adding features on a weekly basis. Please let us know when you start selling tenants like warm apple pie. We’ll put this feature on the top of our list immediately.
Want to get started building a WaaS business?
Source: 60% of the web runs on WordPress