Continuing my review of some Drupal PaaS hosting platforms I am taking a look at Pantheon.
What I'm not doing is a massive deep dive on all platforms. Ultimately, your milage will vary and what you get out of these platforms will be different for most people. You will know the requirements of your project and what you need to accomplish.
Also, if you want to know more about a platform, then please contact them directly. I'm sure they will be happy to hear from you.
Pantheon provides a PaaS solution started in 2010 in the USA. They now have a worldwide support staff and have data centres in a variety of different locations throughout the world. They started out as a specialist Drupal host, but now have support for WordPress hosting solutions.
- 99.9% uptime with SLA and penalties for non-compliance.
- Container based infrastructure, which means it is highly resilient to traffic spikes as it can be set up to auto scale with the amount of traffic encountered.
- Dev, stage and live environments allowing for independent development and testing of code before being put live.
- Multi-dev environment where development can be done independently without the need to set up multiple, separate, environments.
- Solr search is built into the platform.
- Built in New Relic monitoring.
- Log forwarding can be enabled for a variety of different platforms.
- Configuration of the site allows for the inclusion of password protection without the need to install the Shield module.
- CDN provided by Fastly. This is a Varnish based CDN with proven Drupal support.
- Free HTTPS with certificates provided by Let's Encrypt.
- Automated backup and restore.
- 24 x 7 on call support with worldwide support engineers for multi-region support.
- Onboarding support so you can be shown the ropes as you and your team get to grips with a new environment.
- Top notch documentation on all aspects of the platform, including code snippets to aid with some specialist problems.
- Relatively low cost, compared to other PaaS solutions.
- There is an odd split between git and SFTP, which you are reminded of every time you update any code.
- Pantheon doesn't fully support Drupal multisite, instead they work on a template system. Code uploaded to the template system can be merged upstream to other sites. I guess that's only important if you absolutely require multisite, but there is a solution available.
- Pantheon's deployment methods can be a little prescriptive in that you are forced to go from dev to stage to live with your code all of the time. They do support artefact deployment though so you can set up Travis to send code to the platform.
- The Solr version being used by Pantheon is quite low (version 3), which is somehow even lower than the version available on Acquia. For context, Solr Version 3 was 'end of life' in 2015.
- Pantheon has no support for native Drupal emails so you need to use a module to allow for Sendgrid or SMTP emails. Not a massive drawback as you can do this through services like Google pretty easily, but something that you should be aware of.
Pantheon's dashboard is clean and easy to navigate, I was able to find my around things without looking at the documentation once.
Every account on Pantheon received a free developer sandbox. This is my sandbox.
Multidev environments allow developers to spin off their own branch and host it entirely separately from the rest of the codebase. This is the default dashboard for this.
The dashboard has built in metrics. This is an example of a site I set up prior to go live (hence the small visitor counts).
Pantheon is a great platform, with extensive documentation and well thought out processes. There are lots of things that you just get for free out of the box that I have seen other platforms charge quite a lot for. Thins like New Relic support, or log forwarding just come as part of the platform.
As Pantheon is container based it allows certain actions to be handled with great ease, the platform can be configured using a YML file, and it is able to scale up (and down) depending on your need. The multidev environment is a really good feature and I have used it with a team for a few months now. The team I work with on Pantheon has really taken to it and we are regularly setting up containers for testing purposes.
One good thing about Pantheon's container based setup is that you can set up a sandbox for your client and then when you are ready you can upgrade it to whatever plan you think is needed without having to migrate to a different environment.
The documentation is really very good. They have clearly spent a long time making sure that everything is up to date, and have even added in hints and tips that have tripped up other people in the past. It also splits between Drupal 7, Drupal 8 and WordPress documentation on the same page without being too busy or crowded. I was able to migrate a complex site onto Pantheon, with a large database and many gigs of files with ease, by following through their migration guide and had very little problems.
The support I received from the onboarding team (and afterwards) was really good as well. I had to answer an extensive questionnaire about the site so that they could make sure that there were no surprises when we launched the site. During one of the migrations we did reach out to support and they quickly helped us out, so the support has been generally of a high standard. Occasionally the chat based support was a little bit lacking and had me a little frustrated a times, but that's a minor point really.
Getting access to the platform, setting up users, seeing what sites we have active and migrating new sites has been very easy. I can see quite easily who has access to what site and what they can do there. The dashboard for Pantheon is good and I only got lost in the interface couple of times before getting used to things.
All that said, there are a few niggles with the platform. The multidev environments give the platform a lot of flexibility, but this is offset by the fact that after this all code has to go from dev to stage to live in that order, without exception. I can see why this has been done as it encourages a development pipeline, but it might create a few issues on large teams with lots of projects going live at different times.
There is also this strange feature of using either git or SFTP as the mechanism for changing files, and this got in the way on a few occasions. For example, one really annoying thing is that when you push any code to the git repo you always get the following message.
[warning] This environment is in read-only Git mode. If you want to make
changes to the codebase of this site (e.g. updating modules or plugins),
you will need to toggle into read/write SFTP mode first.
This is annoying, and I have not found any way to turn this off. In addition to this, if you do turn on SFTP mode, then you can't use git at all. It creates this strange paradox between source control and smashing things up with SFTP. You are best to chose one route or the other, but people can swap between them whenever they want. I just found it strange to be reminded of SFTP every time I pushed code to the git repo.
Overall though, I have liked my experience with Pantheon. The team behind the service really knows their stuff and were more than happy to answer questions about my projects, some of which were quite complex and had a few unique requirements. The dashboard and interface are easy to use and is accompanied by some top-notch documentation.
What is your opinion of Pantheon PaaS hosting product? Comment below and let me know. I'd be interested to hear your experiences.