The problems I always find are:
- slow builds - CI platforms not caching docker images - black box - hard to understand or debug when something goes wrong - unreliable - crashes or times out for no reason - hard to debug deploy configuration without making many git commits and doing entire redeploys
If I run an EC2 box, and rsync my code to it, and I can deploy in 5 seconds. Every automated solution I find takes minutes of spinning things up. I wonder if there is a PaaS service that can be this fast?
But curious to know how people are deploying their Node.js backends in 2020.
Things do get a bit complex if you try to make your home made solution more robust. But on the other hand if you manage to do it then you have a solution you can deploy to any standard cloud server.
Here is a good writeup of such a home made solution to give you an idea of what that might look like:
https://dev.to/justincy/blue-green-node-js-deploys-with-ngin...
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/creat...
Your logging is `tail`, your deploy is `rsync`, your rollback is `git revert` or SSH-ing in and checking out a commit.
Not really enterprise-grade but by then you'll have time and people to do it right.