The Golden Toolbox - Drupal Hosting Platform Features

The Golden Toolbox - Drupal Hosting Platform Features

In my last post, I gave an unbiased comparison, with a series of load tests, performance, and hosting features, of some of the most popular Drupal hosting platforms from Acquia, Pantheon, OpenShift, and AWS, to get you the best bang for your buck with free Drupal hosting. In this article, I'd like to go a bit further and explore the types of tools and features that each platform also offers for free, and why. Of course, this is going to require more criticism than the last article where we focused mostly on analytics.
 
But who am I kidding, this is the internet. Let's take a look!
 

Amazon Web Services Free Tier

AWS gives you the ability to set up literally anything you want in terms of a hosting environment, up to a certain point on various features, until you'll have to pay for more. When you sign up for free tier, you get a year for free, the equivalent of 750 hours of computing. You can spin up an EC2 instance with whatever flavor of OS you'd like (including Windows and RedHat) and start installing away at your hearts content. It's hard to compare AWS to the other platforms because it's an IaaS, and not something that is made for building specifically with Drupal. However, since it is an IaaS, we have a lot of flexibility of how we can set up our server, including adding an S3 bucket for storage, setting up an Elastic IP, and building a LAMP or LEMP stack to how we see fit. This also means we have to set up our own development tools, such as installing git and drush, hosting a repo on GitHub or BitBucket, and whatever other tools we need.
 
You can see from the screenshot that we have a GUI where we have pretty fine grain control of our server, such as security groups and port blocking… but that also means we have very fine grain control that we have to know what we're doing. In the case of using AWS, you are your own system admin, which may or may not be a good thing.
 
Amazon Web Services Free Tier
 
*editors note - I had attempted setting up Barracuda on an EC2 a couple of times, and unfortunately could never get it working on a free account. So of course I ran the script a couple of times and I actually got charged $0.30 for the couple hundred thousand calls it made.
 

OpenShift by RedHat

When I was testing the free Drupal hosting platforms, it was honestly the first time I had ever used OpenShift, and I have to admit that I was really impressed with what they have done and how easy it was to set up. Since OpenShift isn't geared specifically towards Drupal, the install process wasn't anything as seamless as Acquia or Pantheon. You can either build it manually, or run the prepackaged Drupal install to get up and running. With OpenShift, you have instances running called gears, and you have a gear for each application with multiple cartridges. A cartridge would be MySQL, phpMyAdmin, load balancer, or even some kind of metrics. One of the coolest features is that you can set your gear to scale based on web traffic. OpenShift will set up a load balancer that dynamically uses your remaining gears to handle the traffic. A down side to OpenShift is that each gear is only 1 GB in size on the free plan.
 
OpenShift has an intuitive interface that allows you to add more applications and add/remove cartridges to those apps. In addition to the web GUI, OpenShift also provides a set of command line tools (RHC Client Tools) that allows you to manage your app directly through the terminal. This is great for those of you who are more technically oriented and prefer working in the terminal. In addition to all these goodies, OpenShift also gives you the ability to host your app under a custom domain name, which means… your free dev site just turned into a free production site. So technically on OpenShift, you can actually host your Drupal site for free. If you're curious, just see how easy it is to deploy your Drupal site in a couple of minutes.
 
OpenShift by RedHat
 

Acquia Free Cloud

At LevelTen, we have long been consumers and users of Acquia's platform as we manage multiple client sites with them. After hearing that they were going to start offering a free tier for developers, I knew I had to test it out. For those of you who haven't worked with Acquia before, the administration GUI you get on Free Cloud is the same one you'll see on paid Acquia accounts. Acquia Free Cloud has support for Git, a very intuitive GUI, SSH access, extended capabilities with Cloud API and Cloud Hooks, and an automated developer workflow. The workflow is inherently built to enable developers to follow continuous integration best practices with designated dev and stage environments. One can simply drag-and-drop to deploy code and content between environments. Under a free development account, you get 500 MB of disk space, 2 PHP processes and Drush integration.
 
Acquia Cloud Free comes equipped with additional free developer tools such as Apache Solr powered Search, performance monitoring tool with Acquia Insight and content moderation tool with Mollom. If you've never used Acquia Insight, it performs automated testing of the site by scanning the site every 30 minutes and assigns a score to the site based on where it stand on performance, security and best practices. It even performs a thorough code analysis of the site, alerting users of updates to their site modules and even providing a 'Diff' of a module in the site if the module has been forked. Apart from the developer tools, Free Tier also allows access to the Acquia library as a learning / knowledge resource. 
 

Acquia Free Dev Cloud

Acquia Insight

Acquia distributions available

 

Pantheon Free Sandbox

In San Francisco, there's been a new and different approach to Drupal hosting being brewed up by Pantheon. Pantheon is built on a set of distributed network services: Varnish for edge caching, Valhalla for file storage, Redis for object caching, Styx for page request routing, Solr for searching, and DROPs for running the Drupal application itself. They've designed all of these to act in concert out of the box which gives us a development site.
 
Other than their innovative hosting platform, Pantheon provides a lot of tools and features for developers when building a site. Pantheon offers dev and test environments, Git and SFTP support (make commits through the UI), error reporting, a great looking admin interface that is very snappy and responsive, a multitude of Drupal distributions to start off with (CiviCRM, Commerce Kickstart, Pushtape, and more), and other standard hosting features, but I'd like to point out a couple that I think are very convenient.
 
You can create a backup of your site very quickly into 3 different categories: code, database, and files. This makes it convenient to restore individual pieces of your site, or move the site to another host if need be. Don't want to create a whole backup? No problem, just export the database or the files individually. Another convenient feature is easily locking your dev site to the public. Generally we would install something like Shield, but this functionality is built right in. SSH keys are a breeze as they're tied to your user account not to projects. As long as you have an SSH key on your account, you can join any project and get to work. Now Pantheon doesn't give developers SSH access like Acquia, but they have been working on a suite of Drush-based command line tools to help manage your site. Overall, I think Pantheon has a very clean, fast, and intuitive administrative interface that any developer would enjoy.
 

Pantheon Dashboard

Pantheon Backups

Pantheon Password Protect

Distributions available on Pantheon

 

Conclusion

Of course, every developer is going to have their own preferences. Some of them want fine grain control of every aspect of their system, which is where Amazon Web Services or Rackspace Cloud would come in. Others want an optimized Drupal platform that has all the tools they would ever need without having to be a system administrator, which of course would be Acquia or Pantheon. The last of the bunch might want more flexibility with a hybrid system, a GUI interface to pick and choose parts of our system, while still having a bit of control of other tools, features, and other code bases to implement as with OpenShift.