One of the earliest decisions you need to make when planning a new website is determining where it will be hosted. If you’re working with a web development partner they are likely to have a favorite host they prefer and recommend (we sure do), but do you know why they're recommending that host? Hosting can be an apples-to-oranges comparison, though. There are many factors to consider beyond monthly cost of the service. You will be a savvy and empowered buyer of a Drupal website by understanding the pros and cons of various hosting solutions, and how they impact your initial project budget, as well as your long-term costs.
Qualities of a Good Drupal Hosting Provider
There are several important factors we consider for every Drupal hosting situation. Drupal is a unique beast. What may be a good host for a Wordpress site may not be an ideal fit for Drupal hosting, and vice versa.
These are the factors we consider when choosing a Drupal host...
What Kind of Server Resources Do You Need?
Drupal is a large, sophisticated CMS. With potentially over a hundred power hungry modules running on a site, we don’t recommend hosting your Drupal site on an underpowered server. A single core CPU with 256MB of RAM for $9.99 per month isn't going to cut it. You need a host that can keep up with Drupal’s CPU-thirsty demands. A small Drupal site will need around 2 gigabytes of RAM and 10 gigabytes of total storage to start with. Sites can get infinitely larger, but that's a good starting point.
You will also need to consider how much of your site traffic is “anonymous” vs. authenticated users. This is because Drupal is much more efficient at serving web pages to anonymous users. If most visitors won't be logging into your site, you can get away with fewer resources. Conversely, you'll need more power if all visitors are logging in. To understand why let’s take a look at our next requirement…
Does the Host Support Varnish Caching?
Wait... what's "Varnish"...? It's complicated, but in essence, it's a means of serving pages to anonymous visitors very quickly. With Varnish, your pages will load in a visitor's browser much much faster than without it. You can be a savvy buyer without understanding exactly how it works, but a high-level overview is valuable.
Let's use an analogy. Imagine your Drupal site as a calculator, and it's not running Varnish. Pretend that each time a web page on your site is visited, Drupal is calculating a number to display. So let’s say, for example, that you visit the “10 * 5 / 2 + 4” page. Every time that page is visited, Drupal makes the calculation… 10 multiplied by 5 is equal to 50... 50 divided by 2 equals 25, and finally, add 4 to get a total of 29. The answer of “29” is sent back to the web browser and displayed beautifully. The next time the page is accessed, the same calculation takes place again, and the number is again displayed. Repeat every time the page is accessed.
According to Kissmetrics, 47 percent of visitors expect a website to load in less than 2 seconds, and 40 percent of visitors will leave the website if the loading process takes more than 3 seconds.
So, this is where Varnish caching comes into play to help speed up the page. When using Varnish, rather than having Drupal do all the calculations on every page load, Varnish stores the result, in this case, the number 29. So when you visit the page in your browser, Varnish immediately knows to send you back 29, rather than forcing Drupal to recalculate the answer every time.
This process of storing and serving cached web pages speeds up page load times dramatically. This is why it should be a requirement of every serious Drupal project.
The way Varnish caching works is also why you need to know how much of your web traffic will be “anonymous” users who are not logged into the website. This is because Varnish really only works for anonymous users. Drupal regularly serves customized pages for logged in (authenticated) users, but Varnish doesn’t know what result to store (in that case it could be a different result for every user!). Varnish, therefore, cannot be used to help speed up pages for logged in users, although there are other optimization techniques we can use for logged in users.
Does the Host Support Standard Development Workflows?
You may think that when building one new site, you’d only need one site or one environment. That would mean that the same environment would be used for hosting the live site, developing new features, and testing. That's a huge no-no. If your site has ever gone down because a developer tried building new features directly on the live website, and it didn't go as planned, that's the reason. This is a terrible practice, and there’s a better way.
An ideal Drupal host will include at least two, and usually three environments in the cost of the subscription. These separate environments provide a crucial workflow for building and testing new features before they are live.
- Dev Environment - Used by the development team to build and test new features internally. As the client, you probably won’t need to look at this environment as it’s mostly for the dev team to work on the site before features are “client ready”.
- Stage (Test) Environment - This is the place you should be reviewing features and bug fixes before they are launched to your live site (also known as "production"). This environment allows you to preview your whole website before you launch any changes to ensure the work has been done to your satisfaction.
- Production (Live) Environment - This is your public facing website. This is what anybody who Googles your name will see (the other environments will not show up in search engines). This is where you and your site administrators will be entering content, and creating pages and blog posts.
Does the Host Have a Powerful Web Interface?
It’s a fact: web developers love ugly looking terminals and punching commands into them like they’re Tim Berners-Lee writing the first HTML document nearly 25 years ago.
What's wrong with that? Efficiency.
In days gone by, we used to spend hours writing fancy scripts to move files and databases from one environment to another. These nice little shortcuts saved us from writing a zillion commands over and over again. Spending hours scripting all those commands adds up fast and, for a client, what's the benefit? Did you move the needle on my project today? Nope, not really.
A great host knows this and has powerful point and click tools to do all this, and allow you to make changes to the server configuration right from the web. This is key to reducing developer error, ensuring optimal performance, and reducing overall project costs. Instead of spending money creating scripts or manually moving things around, your money can be spent on actually building your site.
Does the Host Have Automated Backups and Restore?
If you’re paying a lot of money for a new website wouldn’t you like to know that no matter what happens, there’s a backup of everything that’s less than 24 hours old?
A good host will provide automated daily backups of all content, files, and code. This will ensure that, even in the worst accidents, you’re never more than 24 hours behind.
A good host will also provide an easy way to restore backups from their web interface. Once a problem is detected your development partner could restore a backup with a few clicks, taking as little as 5 minutes to fix the issue.
Does the Host Have Good Uptime?
A website is only useful when it’s actually online. A reliable cloud-based host should have public statistics detailing their uptime, including a public status page that shows when there’s an issue happening. A good host will actively begin working on issues within minutes of detecting any kind of service outage.
If your site is running on a standalone server with only your site on it, it's unlikely that you'll even know there's a problem until someone stumbles upon it... and then you have to make phone calls and chase down someone to fix it!.
Does the Host Include Version Control Like Git?
Version control (VC) is a type of program that keeps track of all the past versions of your website’s code. This means that for every feature, and every release, your code has a revision. Version control is a backup that you can get back to at any time.
Using version control is a modern development practice that creates copies of a project's code as it is written and stores them securely in a "repository" as a safety net and for historical information. For example, your developer might create the footer area of the website. When they do, version control creates a snapshot of the code before the footer existed and after it was added. They can then compare both versions to see specifically which lines of code changed when, and by whom. Git is a wildly popular version control system (we love it) but there are others too, like Subversion (let's not talk about Subversion).
The reason it’s critical for your host to have version control built in, is that you want a backup of your code before every release, update, and feature enhancement. This will ensure that no code can ever get lost.
Imagine that your development partner makes a mistake and deletes some critical files accidentally (it can happen to the best of us). Now your site is offline. If your host has version control, you can easily revert back to the version of the site with the missing files back in their place. If you don’t have version control, those files may be lost forever, and it may be extremely difficult to restore them and get your site back online.
While it's possible and even common to have a separate host and version control vendor (such as Github or Bitbucket), if the host includes version control in the package, it's free, integrated into the hosting system and requires no extra effort. It may even be a requirement of the host which forces best practices.
Does the Host Have Solr Search Built-In?
Depending on the needs of your project, you may or may not need advanced search capabilities on your website. Drupal comes with basic searching capabilities that cover many websites that only need a general search feature. However, if you need the ability to have fuzzy searching (showing results that are similar), searchable files (such as PDFs and Word documents), and faceted drill-down options (like Amazon.com uses), then you need a more sophisticated search system. Apache Solr is that sophisticated search system, and it can be integrated into to any Drupal site.
A good Drupal host will provide an Apache Solr search integration as part of their offering without putting the heavy lifting on your development partner. By having Solr built into your hosting provider you save a ton of setup time and money if your project needs Solr.
Is the Host Affordable?
A host's affordability can be deceiving. The dollars per month cost could be bargain basement low and sound like an amazing deal, but that's overshadowed by the level of effort that your development partner needs to put in to make it happen.
For example, you can get a barebones server to host your Drupal site, and with adequate performance, for less than $20/month. However, starting with a barebones server with no specific configuration for Drupal will require your development partner to set everything up manually. This means they will be setting up separate environments, the web server itself, the codebase, databases, backup systems, cron jobs, etc. A simple setup could take 20-40 hours to do! Given a standard agency rate you could be wasting $3,000 to $8,000 or more. It's hard to justify the cost of this type of setup for your average Drupal project. Maybe you have overarching concerns or policies that mandate this type of setup, but that argument is getting harder and harder to make a case for with today's hosting options.
Bonify’s Recommendations for Drupal Hosting
So now that you have a better understanding of some of the qualities make a great Drupal hosting provider, let’s take a look at our two favorites and why we recommend them.
Acquia is arguably the gold standard for Drupal hosting. It was founded in 2007 by the original creator of Drupal, Dries Buytaert, and Jay Batson. In the decade since its inception, the product and company have evolved and molded themselves to the needs of industry.
Acquia has all of the qualities we listed above and a whole lot more. Their core offering includes 3 environments (dev, stage, and production), automated backups, web based workflows for moving things from one environment to the next, version control hosting, built in Varnish caching, self-serve server sizing configurability and more. Their offering is geared towards the needs of enterprise and includes many products and services for that market. For example, Acquia's Content Hub add-on offering solves the issue of publishing content across an organization's multiple sites. Its Site Factory add-on offering allows enterprises to manage whole fleets of sites. Acquia even offers HIPAA compliant environments. Additionally, they offer both application (Acquia platform) support and Drupal consulting expertise.
All these great features do come at a price, though. Their smallest subscription starts at $140/month, but that money goes a long way. Your development partner never has to deal with low-level configurations, uptime issues, security patching or middle-of-the-night outages; that's all included. At current agency rates, if your entry level subscription saves a developer 1 hour of work, it paid for itself.
For these reasons, we generally recommend Acquia for our largest projects and clients.
Pantheon isn't new to Drupal hosting either. Founded in 2010, Pantheon has become a go- to Drupal host, just like Acquia, but for different reasons and for a different market (in our opinion anyway).
Pantheon also offers all of the core features that make a good Drupal host on our list above, just as Acquia does, but the offerings have some stark differences. Where Acquia's basic offering accommodates fine tuning of your configuration including RAM and storage space and even cron jobs, Pantheon is more of a one-size-fits-most solution with only a handful of subscription sizes to choose from, and very little access to fine tune the server. Where Acquia provides limited access to the server itself via SSH, Pantheon is effectively hands off.
Pantheon has some notable features that differ from Acquia's offering. Pantheon’s “Multidev” feature allows developers to create new server environments to test and develop on, with one click, without much limitation. Acquia's basic offering limits you to only 3 environments. Pantheon's dashboard also includes one-click Drupal core updates, which is a nice touch. This means that when a new version of Drupal is released it’s very easy to update and deploy right in their dashboard, no coding required. Acquia has a much more robust service for applying updates to an entire site, but it's offered as an add-on and requires more effort to use.
We find Pantheon's offering ideal for smaller projects. While they do offer enterprise solutions, we tend to recommend them for their budget friendly prices. Pantheon's current pricing starts at just $25/month for a Personal plan, perfect for sites like bonify.io. For the money and the features, it's a steal. The next tier is $100/month for the Professional plan that includes the option to add and SSL certificate and increased specs. If you don't need everything Acquia offers, Pantheon's Professional plan is a great choice.
While there are roughly a bazillion options for hosting a site out there, there are very few that cater so well to Drupal sites and their unique needs in as many ways, and with as many time (and money) saving features as our top picks for hosting a Drupal site, Acquia, and Pantheon.