Cloud Deploy: Heroku vs AWS & DevOps

jesking

New member
Hey y’all! I am working on development of an application and getting to the point where I want to be able to share it with my friends & family to get some early testing in. My front-end is built in React Native Web & back-end in django.

I’m comfortable on the programming front, but have never dealt with deploying an app myself with this complexity. I am curious to hear everyone’s thoughts on the following:
- AWS v Heroku
- Hire a DevOps Contractor to get me started?

From reading, looks like AWS is obviously the higher powered more customizable option, while Heroku could get me up faster with less flexibility. Any thoughts on this? How about pricing between the two?

I’m also curious on people’s thoughts for hiring a DevOps contractor to get me started and hosted. Do we think this is needed? How complex is it to deploy a React + Django app to the cloud? Any experiences there?

Thanks y’all!

EDIT: After the comment from @woonkle, I tried out Render. Wanted to say it was awesome. Incredibly easy. Manages staging environments + tear downs for PRs, automatically deploys to prod after merging to main, incredibly easy to set up with environment variables and connect my Django to React. Highly highly recommend if you’ve never worked with DevOps and want to get live fast.
 
@613jono 100%; I’m working on a (cli-first) solution to commoditize good, opinionated, AWS deployments: monitoring, VPN, VPC/networking, etc.

Even if you go with Heroku now, you can turn-over any number of community stones (e.g. YC’s startup school) and get $5-10k in AWS credits. When that happens, it’s nice to be able to quickly move to AWS and not blink an eye at the complexities.

https://kwux.com if anyone is interested; the goal is to give you the generated terraform code that is licensed at low cost.
 
@jesking If you are not comfortable with everything related to deployment, go with Heroku or Render (my choice these days).

Once you get 100 customers using your app every day, you can re-think this: “should I pay a bit more scaling up in Render/Heroku or should I pay a contractor to switch (and maintain for ever) to AWS?”
 
@doggobloops Checkout my edit — used Render and got live in NO time. Awesome experience. Loving this app. THANK YOU for the recc!

Only downside rn — very slow on free version. But so great for testing!
 
@jesking Heroku is simpler and more expensive, it is built on top of AWS.

AWS is doable and will simply be more time consuming up front.

IMO, do AWS and simply use the console to set up your application and do a lot of googling.
 
@deliaraz As a startup founder, your time should not be spent on ops. I say use Heroku and focus on acquisition over ops. Heroku is your ops team. You can always migrate away to save money once the business is established.
 
@deliaraz Heroku has had some serious security breaches recently, and is clearly not well-loved by salesforce (the owner).

I would suggest any of fly.io (I use this; it's great if a bit expensive, though unlikely to be a problem for small apps); elastic beanstalk from aws (I've had some problems using it w/ failed deploys leaving machines in an inconsistent state); nextjs (never used); vercel (never used); digital ocean app platform (link).
 
@jesking For the start you can go with github / gitlab actions, build an image, pull it and run it on your VPS. Many CI/CD tutorials out there :)

I wouldnt hire a devops contractor at your place, not worth it in your situation.
 
@jesking We have switched everything over to GCP and are now using cloudrun for most of our nodejs apis and workloads.

Static stuff is hosted on cloudstorage.

I'am supper happy with GCP so you might want to look into that as well.
 
@jesking My two cents: i'm working on a SaaS product too based on Python and Flask. I've chosen to deploy and control configuration via Ansible as i already knew it.
Based on this i would recommend to go with that setup. It's easy to learn and you can use it for any Cloud provider afaik.
 
@jesking heroku would be easier in the beginnning, but setting up a stack will give you more control. It should just be a one time setup and then you can just reuse it. For your own stack you would need to handle and manage

1. Easy deployments of your application, both backend and front end
  1. Deployment and management of your database + scheduled backups
  2. Uptime Monitoring, alerts, status pages
  3. Viewing logs and alerts
  4. Analytics
  5. SSL/TLS https certificate using letsencrypt
 
@jesking If you want the power, flexibility and cost efficiency of AWS yet you want a simple and developet-friendly experience similar to Heroku, you can also look at https://stacktape.com.

It provides the best of both worlds. I was in your situation multiple tiimes (which motivated me to create Stacktape - I'm a founder).

Stacktape basically removes all the complexity behind AWS and allows every developer to deploy production-grade apps to AWS with 0 AWS knosledge.
 
@jesking Since you are not too comfortable with Deployment i think you should use pipeops.io they heavily support Django and React plus it’s a no code tool i believe it’s the best for you they have a free plan too that allows you to deploy up to 3 projects and you will have to pay to deploy more check out their django guides below

Video:

Docs: https://docs.pipeops.io/frameworks/django
 
Back
Top