PaaS Is Not Always The Best Solution
Platform as a Service businesses like Heroku, Render and Fly are good when you want to deploy something quickly, but can quickly become limiting the moment you want to do just a little more extra.
I deploy my apps on Render, and, case in point, I wanted to run cron jobs - regular scheduled actions for the uninitiated, but I couldn't.
In the Rails world, we have a popular gem that we use to run cron jobs - the whenever gem, which, at the time of this writing, had ~9k stars on Github.
You'd think a popular service like Render would support this out of the box, but guess what, they don't. And I only got to know that they don't after spending a lot of time trying to make it work, and only later stumbling upon this community discussion on their forum after someone else decided to ask them, probably after pulling out their hairs as well.
But let's not blame it on them, they said many other PaaS solutions don't support it as well. But at least, can they put this on their docs?
Case two: even before I figured they don't support the whenever gem out of the box, I was already on my way setting up my docker deployment to run whenever as a docker compose service.
Then I hit the wall again - Render doesn't support docker compose! Hah! As popular as docker compose is, it's sister docker is supported but not it? And where did I learn that they don't? On their forum as well. Not a mention in their docker documentation.
You can almost guess by this time I had given up searching for further solutions and just decided to give them my money by using their provided cron jobs service (which you have to pay for as a separate service).
I just can't wait to migrate to a plain old Ubuntu server, deploy with MRSK and avoid all these back and forth.
So as you choose where to deploy your services, have these things in mind.
I deploy my apps on Render, and, case in point, I wanted to run cron jobs - regular scheduled actions for the uninitiated, but I couldn't.
In the Rails world, we have a popular gem that we use to run cron jobs - the whenever gem, which, at the time of this writing, had ~9k stars on Github.
You'd think a popular service like Render would support this out of the box, but guess what, they don't. And I only got to know that they don't after spending a lot of time trying to make it work, and only later stumbling upon this community discussion on their forum after someone else decided to ask them, probably after pulling out their hairs as well.
But let's not blame it on them, they said many other PaaS solutions don't support it as well. But at least, can they put this on their docs?
Case two: even before I figured they don't support the whenever gem out of the box, I was already on my way setting up my docker deployment to run whenever as a docker compose service.
Then I hit the wall again - Render doesn't support docker compose! Hah! As popular as docker compose is, it's sister docker is supported but not it? And where did I learn that they don't? On their forum as well. Not a mention in their docker documentation.
You can almost guess by this time I had given up searching for further solutions and just decided to give them my money by using their provided cron jobs service (which you have to pay for as a separate service).
I just can't wait to migrate to a plain old Ubuntu server, deploy with MRSK and avoid all these back and forth.
So as you choose where to deploy your services, have these things in mind.