Maybe someone experienced can give me a hand with understanding what’s a better solution for me.
I’m currently working on a Telegram Bot which has a web interface consisting of frontend part as Vue framework app and the backend part as Express app.
I found out that buying Hobby dyno on Heroku you can deploy only one app there what doesn’t look good to me because I would need to buy three dynos for each app since Bot is an app itself and mixing it with express would be a mess.
I’m thinking what if I buy space on Digital Ocean. Can it solve my problem with at least these three-part app?
I’ve never had such experience before so your help would be very appreciated.
2
Answers
Provided that you have Docker images for your tasks you can easily deploy them to Digital Ocean’s separate droplets.
That will cost you around 3 * $5 = $15 / monthly + $1 / month per droplet for backups.
Here is the flavor of how to deploy Docker containers to Digital Ocean’s droplets.
The only downside is that you will needed Dockerized containers to setup infrastructure for yourself, and know how to do it.
My advice to you is if you have a lot to do and learn, stick with Heroku for a while. Once that get done you can go to setting up Linux/based VPS. There is a lot to learn and some situations can make you (as me previously) insane for some time.
Hope that helped.
With Heroku you need to setup a Web Dyno for each of your application which requires HTTP connectivity, however you can create each application in the Free Tier at no-cost.
Your 3 components architecture can run for free (apps sleep after 30 min of inactivity).
Do you have Docker images? Then deploy them in the Heroku Container Registry. You can develop/deploy/test without cost then (when production-ready) decide to move to other hosting or purchase the Hobby tier ($7 per Dyno).
Heroku Developer experience is top: Docker registry or GitHub integration, logs viewer, secrets via env variables. You focus on development and let Heroku worry about the platform.