What are the benefits of using Platform.sh instead?
The main advantage of using a PaaS like Platform.sh over a lower-level IaaS like AWS comes down to making more things “not your problem”.
By building directly on AWS, you have to worry about things like:
- Keeping your kernel and underlying libraries and tools up to date.
- Tracking necessary security updates in your toolchain.
- Creating and managing test environments.
- Managing access control to various environments.
- Monitoring, including having someone awake at 3 am, just in case.
- Timing your build pipeline and deploy process to minimize downtime.
Most (but not all) of the work involved in all of those goes away when using a PaaS like Platform.sh. You trade away fine-grained control over every aspect of your system, including the boring parts that do not offer you any competitive advantage, in return for being able to focus on the parts of your system that do offer you a competitive advantage: Your code, your data, your business workflow.
It is essentially the same argument as why to use an IaaS like AWS rather than owning your own hardware: You trade away some flexibility in return for not having to think about power redundancy, physical hard disk failures, Ethernet cables getting tripped on, etc. All of that is necessary, but none of it is a competitive advantage. So you make it “someone else’s problem” to do well.
There are cases where using your own hardware, or your own systems management, is beneficial. However, those are few and far between and becoming fewer and farther between every year. For most users today, managing their own AWS instances, like managing their on hardware, is mostly just extra work, not extra value.