This series of posts shares hands-on feedback on French PaaS providers, with one problem in mind: hosting a fleet of 120+ WordPress sites.
In this series:
- Part 1. Background to the French PaaS comparison
- Part 2. PaaS comparison: OVH falls overboard
- Part 3. PaaS comparison: Clever Cloud,
the boat is taking on waterthe captain rights the ship - Part 4. PaaS comparison: Scalingo stays afloat
- Part 5. PaaS comparison: Platform.sh lies at anchor
- Part 6. PaaS comparison: Hidora, the Swiss cloud
- Part 7. PaaS comparison: performance, Clever Cloud VS Scalingo VS Hidora
Scalingo
Skip to the summary if you’re in a hurry
Scalingo is a PaaS I had never heard of (not even on my Twitter timeline), so I added it to my list of “candidates” somewhat reluctantly.
Here, onboarding is very simple. I didn’t have to go and negotiate a budget just to test the service: everything is billed by the minute. That alone makes every service that bills by the month look badly dated.
If your site gets featured on Capital, the prime-time French TV show, you can order XX extra scalers so the application handles the load, and only get billed for the 20 minutes during which the segment talks about you. The same goes for the database, to raise the infamous concurrent connection limits (though in that case, you’d be better off switching the site to read-only and putting a reverse proxy in front of it) and the RAM.
The interface isn’t in step with current trends: it looks a bit old-fashioned, but it’s pleasant to use and very snappy. Better that than a very “pretty” interface that’s poorly thought out and slow.
Building the application on Scalingo
You need to create a .buildpacks file at the root of the project, containing the URL of a Git repository that tells the PaaS how to build the application. In our case, it was: https://github.com/Scalingo/php-buildpack
The composer.json is then detected and, bonus, since they support the Bedrock edition of WordPress, I didn’t have to do anything to configure the NGINX vhost: it just worked (list of auto-detected PHP frameworks). That wasn’t the case at Clever Cloud, for example, where I had to specify where the application’s front controller was (web/index.php).
The application builds quickly, and I was able to move on to the tests.
Performance at Scalingo
The tests will speak for themselves in the dedicated chapter. Note that Scalingo crushes Clever Cloud, which doesn’t even pass some of the tests at an equivalent price.
A few times, we got much better performance at Scalingo on tests run on different dates. According to support, this comes down to the neighbors: scalers can move from machine to machine depending on their load. If we have neighbors whose scalers have a very high CPU priority (so they pay more) and who happen to be very busy at that moment, then less CPU time gets allocated to our lower-priority containers.
Scalingo summary (TL;DR)
👎 Cons
- The UI isn’t very sexy, though it’s not a disaster either.
- Autoscaling (in closed beta) that still needs a bit of fine-tuning
- The log management interface could be improved visually
- No GitHub Server support (for the deployment app)
- No “big picture” view (yet) for portfolios with lots of projects
- No reverse proxy (e.g. Varnish) that’s easy to configure from a
.vclfile dropped at the root of the application, to boost application performance by taking advantage of the HTTP cache - EDIT 12/20 At least 2 major platform incidents in 2020, following DDoS attacks
👍 Pros
- Competitive pricing
- Everything is billed by the “minute”, even the database
- Horizontal auto-scaling
- Responsive support. EDIT 12/3/20 Still very responsive, and there’s often a developer on the other end who gets the problem right away and comes up with a solution quickly. That’s much appreciated.
- Pleasant, snappy interface (UX/DX)
- Easy control of
pm.max_childrenfrom the UI (theMAX_CONCURRENCYvariable) - Separate environments for the same application (prod/staging…), though not as easy as what Platform.sh offers, for example
- Simple, fairly complete monitoring rules for your scalers, across several channels (Slack, email…)
- EDIT 12/3/20 A more flexible environment than some PaaS providers when it comes to certain extensions: compatible with Blackfire, Datadog…
✅ VERDICT: SELECTED ✅
For me, Scalingo was THE pleasant surprise of this comparison. Its pricing is competitive for the market, with no compromise on performance. The main features you’d expect from a PaaS are there, and they work well!
Read part V
- Part 5. PaaS comparison: Platform.sh
Disclaimer: the Scalingo links use a referral program tied to my personal account. If the other PaaS providers tested here had offered the same kind of referral program, I would have used it for their links too (for future POCs or small side projects).