OctoberCMS Hosting: ServerPilot vs RunCloud.io vs Laravel Forge

OctoberCMS Hosting: ServerPilot vs RunCloud.io vs Laravel Forge

This article contains affiliate links. An affiliate link means I may earn advertising and/or referral fees if you sign up through my links, without any extra cost to you. Thanks for your support.

When it comes to hosting OctoberCMS, there are a lot of options out there. Today we will be comparing three different cloud hosting control panel offerings that are available to run on pretty much any cloud server. Note that this exact comparison has been done before in 2017 on Sitepoint, however this comparison will focus more on the specific performance that each service has when running a standard OctoberCMS project.

The Services

The services that we are comparing are:

Skip ahead to the test details, or skip ahead to the results.

ServerPilot

Screenshot of the ServerPilot website

ServerPilot advertises "Optimized WordPress and PHP cloud hosting made easy". Their focus is on automating and simplifying your cloud hosting so that you can focus on your business.

I've been using them for the past four years and have been satisfied with their product & service, however recent changes to their pricing scheme (previously a flat rate per server) prompted me to look further into what else is out there.

They currently charge anywhere between $5 per server per month + $0.50 per app per month on those servers for their Economy plan all the way up to $20 per server per month + $2 per app per month on those servers for their First Class plan.

While depending on exactly how many different apps and servers you have to maintain their offering can start to get pricey, they do offer volume discounts.

Pros:

  • Very simple and easy to use
  • Fast setup
  • Very performant stack

Cons:

  • Not super configurable
  • Can be pricey if running large numbers of apps & servers
  • No built-in Git deployment tools (note: I recommend using DeployBot in combination with ServerPilot if you need git deployment tools)

RunCloud.io

Screenshot of the RunCloud website

RunCloud advertises itself as "a simple yet powerful control panel for cloud servers". In terms of the features provided, they outstrip ServerPilot somewhat in that in addition to management of your cloud servers they also offer automated backups & atomic git deployments built into their platform.

They seem to have the most fully featured control panel out of these options, but be prepared for some slightly poor English when it comes to the user interface and documentation, along with perhaps too many choices when it comes to doing simple tasks such as creating a database. I would say that they could benefit a lot from implementing some sensible defaults and perhaps having an English technical writer go over their interface and documentation.

Pricing ranges from free for 1 server and unlimited apps to $45 / month for unlimited servers, atomic git deployments, and team management services. Note that SSL & git deployments aren't available to the free plan.

Pros:

  • Lots of features & configuration options
  • Git deployment tools built in
  • Backup management tools built in

Cons:

  • Slightly poor English in the documentation and general user interface
  • Control panel was the most complex of the three to handle all of the options available and would take some getting used to

Laravel Forge

Screenshot of the Laravel Forge website

Made by Taylor Otwell, the creator of Laravel, Forge is expressely designed for hosting Laravel based applications. Git Deployment is built in.

Pricing starts at $15 / month and goes up to $39 / month, with the most expensive plan including team management features and less limitations.

Pros

  • Very performant
  • Optimized for Laravel (and therefore by extension, OctoberCMS)
  • Control panel functionality / simplicity puts Forge squarely between RunCloud & ServerPilot
  • Includes git deployment tools built in

Cons

  • Server setup was the slowest of the bunch
  • Control panel is slightly complex and could take some time to get used to, but overall wasn't too difficult to use.

The Test:

Each service was set up on identical DigitalOcean $5/month droplets; configured as follows:

  • 1GB Ram
  • 25GB Storage
  • Ubuntu 18.04.03 LTS
  • Monitoring was enabled
  • Located in Toronto, Canada (Region: TOR1)

Each droplet was configured to sit behind CloudFlare, and a LetsEncrypt TLS certificate was generated through each provider's dashboard.

The application that was run was a copy of one of the sites I currently host for my clients, an OctoberCMS powered site running Build 457 on PHP 7.2. It uses a MySQL database and is in production mode (built-in caches enabled, debug disabled). No additional caching solutions were used.

LoadImpact.com was used to simulate a sustained load of 50 users for 10 minutes straight on each droplet.

The Results

As a reminder, each of these services were running on identical hardware with an identical application load & codebase. Any differences between them are due solely to the default stack and configuration tweaks used by each provider.

Service Avg. Response Time Avg. Req/s Total Requests
RunCloud.io 1,130 ms 51 req/s 30,199
ServerPilot 118 ms 91 req/s 54,086
Laravel Forge 117 ms 101 req/s 60,500

As you can see, RunCloud is the slowest managing an average response time of over a second, and only handling an average of 51 requests per second; able to respond to only 30K requests over the span of the 10 minutes.

ServerPilot & Forge were neck and neck, with Forge eaking out a small victory with an average response time of 1 millisecond faster than ServerPilot, handling 10 requests per second more, and ultimately responding to about 6K more requests total over the span of the 10 minutes.

Conclusion

I had high hopes for RunCloud when I started this process, as their large number of integrated features (especially the atomic git deployments and backup solutions) would have allowed me to eliminate a few other separate providers I currently use for those services. However, these results have shown me that they're not currently suitable for my own purposes; as I host a number of smaller client sites and the fewer servers required to keep each site responding with blazing speed the better. Perhaps they will continue to refine their default hosting stack to the point where they're more competitive with the other providers but only time will tell.

I was surprised to see that Forge's performance was so comparable to ServerPilot. Given that switching to Forge would allow me to cut back on at least one other service (my Git deployment service) I will be looking further into their offerings to see if it's worth switching away from ServerPilot for.

In the meantime, my personal recommendation remains with ServerPilot for hosting your OctoberCMS-based sites. I'm always interested in learning what other people are using to power their October projects though, so feel free to shoot me a message on the OctoberCMS Slack!