Hosting Drupal sites on Jelastic

For the past year, all new Drupal sites built by Network Publications have been hosted on the Jelastic PaaS platform provided by the magnificent people at Planeetta Internet. We're currently running a few dozen sites on the platform and we've been extremely happy with it.

I've spoken about Jelastic on a few occasions. People seem to be pretty curious on why we chose Jelastic over competing cloud offerings. After all, there are Drupal-specific hosting solutions such as Acquia Cloud and Pantheon and IaaS solutions like AWS. For us, it comes down to two things:

  1. Customer service
  2. Domesticity

I can't stress the importance of customer service enough. Good customer service more than makes up for all the shortcomings the hosting platform may have. We've been working together with Planeetta Internet for more than two years now and their customer service has been truly awesome. As far as hosting companies go, they're by far the best one we've ever worked with.

Domesticity might not seem such a big deal but it actually matters a lot. The sites we're involved with get most of their traffic from Finland. And as most of the population here live in the southern parts of the country, it only makes sense that the sites are hosted in the same region to cut down on network latency. Also, some of the bigger corporations seem to be pretty specific on where and how they want their data stored. It makes them really happy that we're able to store all their data in a hyper secure server bunker in Finland.

Shortcomings?

I said that good customer service makes up for all the shortcomings the platform may have. So, what shortcomings does Jelastic have? There's actually only one: horizontal scaling with Drupal.

Jelastic supports horizontal scaling by providing a load balancer node (Nginx in this case) in front of multiple web server nodes (also Nginx in our setup). The load balancer then works as a caching reverse proxy that spreads the load across all the backend nodes. All is well and good if the backend nodes use a shared data storage and never store anything locally. However, Drupal creates several static assets that are stored locally in the web server file system. This causes problems as there's no way to replicate file changes between the backend nodes.

Luckily for us, we've never really needed to scale anything horizontally. We do have one site that uses a load balancer node as a caching reverse proxy but there's only one backend web server behind it. This setup makes the site unbelievably, ridiculously fast for both anonymous visitors and site administrators. I highly recommend a similar setup for anyone expecting to serve large crowds.

Strengths?

In short, Jelastic is a pretty awesome platform on which to run Drupal. It's fast and affordable, the environments are endlessly configurable and they scale up and down predictably. Spinning up a new environment takes a minimal amount of effort and you can start from scratch and get a Drupal instance running in about three minutes. Running applications on Jelastic requires no code changes. Everything just works and scales up and down as you'd expect.

One of the most astounding things about Jelastic is the way it handles container migration completely transparently and without any interruptions. I'm guessing a large part of this is actually handled by the Parallels Hypervisor but it doesn't really matter as long as it works. And it really works as advertised.

Summary

I'm completely sold. I'd host everything on Jelastic. Unfortunately, Jelastic currently only supports Java and PHP application servers but support for other application runtime environments (e.g. Ruby and Node.js) is in the works. So, if you have a Java or a PHP application for which you need a hosting, I urge you to give Jelastic a try!