Instead of using standard unmanaged AWS Lightsail or Linode, two good VPS options, there is also a managed solution that can use either of those infrastructures, as well as Google Cloud, Vultr, and Digital Ocean. This overlay control panel/managed solution is Cloudways.
Cloudways focuses on managed hosting of a few specific applications:
Obviously Cloudways is first and foremost a PHP shop and they do it well.
Overall, I'm impressed with them, and even though they cost more than regular Linode, one can load multiple WordPress installations on a single server and so it can really cost the same, but with excellent speed and management tools. From a price perspective, there is cheaper shared hosting in the world, but usually that is slow and unreliable, but Cloudways is fast.
Cloudways vs. WPEngine for WordPress
Cloudways has several advantages over offerings like WPEngine, which limits what plugins can be used. WPEngine is good for what it is, namely taking nearly all support headaches away from having one or only a few WordPress sites, and having a degree of reliability and performance. The disadvantage is for those who have more than a few sites or who need to spin up or down sites regularly, or want to have a little more control over their sites. WPEngine is best for a client who doesn't have any technical support and wants a completely hands-on WordPress hosting with few changes (content and to the theme) and does not have special plugin or configuration needs.
Cloudways Accounts, Servers, Applications
On Cloudways, a given account can have a number of servers and each server can have a number of applications. For those with multiple clients or separate projects, those can each be assigned a server, and then when needed those servers can be moved to other accounts, for example when handing off to a client.
This is a real innovation in that Cloudways has effectively containerized applications (WordPress, WooCommerce, etc.). It is a simple matter of creating a decent-sized server (2gb ram), and then installing several instances of WordPress. These all use the same Webserver, database server, varnish server, etc. Each application can be configured separately, for example using the varnish cache or not. And have their own domains and SSL certificates.
Cloudways applications can be cloned to the same or a different server, making this a great way to migrate a client site to their own account. There is also an easy way to create a Cloudways staging environment which also allows for granular data to be pushed to the live environment (files and database tables).
Cloudways Control Panel
Cloudways uses a custom control panel. There are settings to control each server, and settings to control each application.
For the server, one can set PHP variables, a basic ip-based firewall, smtp server settings, backup and maintenance timeframe (daily backups with one week storage is standard). This is better than Linode which charges an additional 20% for daily backups. This means Cloudways is only 2x the price of Linode rather than 2.4x.
For applications such as WordPress, there are many settings. One can add domain names to the applications and generate auto-renewed LetsEncrypt SSL certificates including with wildcards. There is a built in PHPMyAdmin database manager. There is application-level bot protection, cron-job management, and even application-level backup and restore (which can use server-level backup or on-demand application backup for restore.
Folder and webroot urls can be changed, PHP-FPM and Varnish settings can be configured at the application level. SSH/SFTP access can be enabled or disabled at the application level and multiple user accounts managed. And the important reset file/folder permissions is available both for the local application username and the master_server username.
Cloudways allows for git integration through the control panel. Cloudways has a CDN that can be configured for use. There is a fee of $1/25gb per application and 0.04/gb after that. Cloudways also has a migration plugin for WordPress to automate moving to their platform.
Overall the settings are impressive and certainly worth evaluating.
WordPress Minification and Caching on Cloudways
It is important to deliver as few files as possible to the browser, and have those files be as compressed as possible, as the network is still the bottleneck on delivering the web. Fewer files of smaller sizes means fewer network requests and faster delivery.
There are many plugins for WordPress to perform caching and minification (removing comments, whitespace -- compression), grouping files together, and also delivering the files so that the initial contentful paint of the screen is done as quickly as possible.
Cloudways WordPress installations comes with the Breeze plugin which works well. It does minification and combines CSS and JS into single files. It completey removes render blocking because there are only one file each of CSS and JS. It also doesn't break the CSS like other plugins (such as autoptimize). And it interacts with the varnish server so that you can purge varnish from within the Breeze plugin. Varnish is a caching server connected to the web server.
Cloudways has a comprehensive caching of WordPress document that shows how far they've optimized their system. We use Cloudways now because frankly, we've reviewed their work, and we can't see how we can do substantially better than they have.
Limits of Cloudways
Cloudways does not provide root access. This is where the limits of managed/unmanaged generally lie, at the gates of root. In addition, the control panel for Cloudways leads a bit to be desired. It can be sluggish, and links do not support right-click so one cannot open multiple tabs easily (say to have the server info in one tab and each application info on separate tabs). It is a bit clumsy overall. The SFTP is also a bit slow, and one would rather have access to SThis is the nature of control panels, of course.
That said, the WordPress applications themselves are zippy, both admin and public-facing, and the optimization of the server stack is nothing less than impressive. With the days of Google PageSpeed and Web Vitals being increasingly important, not to mention the user experience of a fast website, Cloudways is a very good option that fits neatly between unmanaged and fully-managed WordPress, Magneto, Laraval, and plain PHP.
Cloudways charges for its service. For a comparable 2gb server on Linode of $10/mo, Cloudways charges $24/mo. The value they provide though is significant. The time savings is significant in terms of admin efforts needed, and it simply makes it possible to have team members with less sysadmin/devops experience to be fully functional, and not be worried about breaking things. There are few parts of the Cloudways control panel that are needed, but those that are needed, are available (for example, the reset security on the directory structure, an all-time favorite).