I don't think I did a good job explaining, so here it goes. The problem with PaaS is the testing environment is entirely on that provider, so is the live and debugging environments and for me it adds a lot of extra work to make applications work as you intended if you are running local when building and not running a second development version.
A major downside is cost, PaaS solutions for the kind of work I do with large scale is WAY more expensive then running a few servers or DigitalOcean droplets for a lot less. Looking at Heroku to move my single largest application would cost me around $1700 a month, and at this time on DigitalOcean droplets it only costs $70 a month.
I also run a lot of custom solutions like a custom firewall thats database connected so when one server finds a IP to block it will report to the others so they can also block. (today it's added over 200 IP's alone) I run a web hosting company so websites get constant attacks but we never have problems with brute force logins because even with NO Wordpress plugins our system monitors logs for failed login attempts (302 returns to the login page wp-login.php in the logs is equal to a failed login) so we can do a lot more.