Acquia vs Platform.sh: The "better" Drupal hosting for your application

Submitted by abhaisasidharan on Fri, 05/01/2020 - 20:17
Acquia vs Platform.sh

The title of this article mentions "better" Drupal hosting. I have put the word better in quotes because we can't really compare the two and come to a conclusion saying one is better. Is an apple better than a pear? Exactly! This article will not compare things like security, scalability, support, etc. You can find those details in the marketing articles posted by Platform.sh (https://platform.sh/acquia-alternative-platformsh-vs-pantheon/) and Acquia (https://www.acquia.com/blog/who-do-i-host-my-drupal-site-acquia-pantheon-or-platformsh). You will find that the articles contradict each other. How in the world did that happen, right?! 

Before I start, Acquia was founded by Dries, and Platform.sh by commerce guys (drupal commerce peeps). Do what you will with that information, but I do not care for it. 

I have worked extensively with both platforms for hosting Drupal applications. They are pretty much similar in many aspects. Multiple environments (dev, stage, prod, etc), temporary environments for every branch you push (configurable), a command-line tool to build and deploy, VCS (Gitlab, Github, Bitbucket, etc) integration with CI/CD and much more. It would be better if we just talked about the key differences between these two platforms. 

Acquia BLT

Platform.sh also supports Acquia BLT and has been so for a while now, but in my experience it is easier to set-up from scratch on Acquia, clearly because they built it for Acquia BLT. But this doesn't mean you won't be able to use the full power of BLT and Platform.sh. Since it is just done at the beginning of your project and is a one-time setup, this shouldn't be a concern. Since BLT has blt.settings.php and environment detection is done using PHP environment variables, it is quite easily compatible with Platform.sh. In my Acquia Env I use the following to detect specific environments.

<?php
if (isset($_ENV['AH_SITE_ENVIRONMENT'])) {
  switch ($_ENV['AH_SITE_ENVIRONMENT']) {
    case 'prod':
      // Settings for PROD environment.
      break;

    case 'test':
      // Settings for Stage/Test.
      break;

    case 'dev':
      // Settings for Dev env.
      break;
  }
}

The above snippet can be used as-is in your Platform.sh Drupal application by either making sure you have an environment variable by the name "AH_SITE_ENVIRONMENT" which has the current environment string or any other environment variable which has the environment information and replacing AH_SITE_ENVIRONMENT with that. I haven't used Platform.sh in over a year so I am not really sure about that anymore.

Caching

The next major difference between the two platforms is the caching mechanisms they use apart from the Drupal cache. Acquia Cloud provides a Varnish cache by default. Platform.sh has a router cache, which I don't really understand, but it works almost as well as Varnish. You can opt to use Varnish and I would definitely go with that along with Memcached. Here is where Acquia falls short. Using your own configuration is a pain and is limited by Acquia. They use their own "proprietary" configuration. I would rather just configure it myself. Clearly Platform.sh has more flexibility in this aspect. Sure, Acquia support will swoop in and solve the problem, but just let me do it, I can do it myself c'mon! 
That being said, Acquia is more simpler to set-up because it is limited. The only control you have for Varnish cache really is to clear Varnish cache. To enable Memcached in Acquia, just add the Memcached settings.php file to your code and it's done. Fini. It is maybe 5% more complicated in Platform.sh which is really not that much. Both platforms have done a really good job of trying to eliminate the DevOps part from managing a web app.

Support

Acquia is the clear winner here. They show their true mettle in all things Drupal. They know how to get the most out of your Drupal application. Yoda voice "Listen to them, you must. Feel the force you will." Yoda voice. That being said, all this wonderfulness comes at a very high price. If you do not have a team of expert Drupal developers, go with Acquia. Another thing I noticed about the two is that Acquia is slow. I mean, their application. It takes time to load the dashboard once you log in. I have spent too long looking at the 3 dots telling me my page is loading. That was quite frustrating to me. *whisper* Maybe it's the Drupal 7 *whisper*. Either way, I do not believe it's a deal-breaker. 
My choice is certainly Platform.sh. But that's just me. I prefer flexibility and cost-efficiency over everything else. Also, their (Platform.sh) website is really awesome. Well done guys. Very clean and not blue!

In my honest opinion, Platform.sh does offer more for a lower price. Acquia products are really awesome, and their support is one of the best I have seen. But I know many people who go the other way and even go as far as trying to build their own replacements for the Acquia product they want because it is too expensive. Maybe a business opportunity for Platform.sh. Capitalize on these guys! Create your own Acquia Lift! Let show 'em! Just Kidding. Don't sue me. 

Comment below if you have any questions, or corrections. Feel free to contact me for consultations on Drupal, hosting, and anything general web-related.