Hacker News new | ask | show | jobs
by janalsncm 1102 days ago
I’m more interested in the tech behind these products. I have a dozen or so “apps” which amount to a python script or localhost site, but deploying them online has been a complete pain in the ass. I will spend ~8 hours perfecting a python script only to spend the next weekend figuring out how to deploy it behind a url. It’s extremely frustrating.

Maybe it’s because I’m not an AWS expert anymore but frankly I don’t want to be. I don’t care. I want to spend my time figuring out the business logic of the app, not tuning obscure IAM configurations so that one part of my app can talk to another.

What I want: take my flask app or node app and my frontend files and run it from a temp url. Include some hosted db. If everything looks good, sell me a domain name. Bonus points if this can be done from terminal like surge.sh can for frontends. And let me cap my monthly spend.

I noticed that one of the apps uses Netlify, are there better options or is that generally considered the best?

7 comments

I've been impressed by render so far (using them at work, no other affiliation) https://render.com/

Pretty straightforward infra-as-code -- this spec is basically all the documentation you need https://render.com/docs/blueprint-spec

I also felt this way about hosting simple projects on AWS. I tried https://fly.io and I think the experience there is exactly what you’re looking for. Super simple to deploy anything that is dockerized and setting up domains/ssl is the easiest I have experienced from any hosting provider.
I don't think it's that hard to a learn a little bit of AWS. What my "default" is

1. Host the complete React/Vue/static site of choice on netlify

2. Host the backend on AWS. I used to use ECS+Fargate, which means you just create a docker container, open some ports, and git push, but now it's even easier with AWS AppRunner. If you didn't want to touch AWS (it gets hairy fast), I would use something like PlanetScale or CockroachDB which have generous free tiers. From there you have a github action to push your container to your AWS ECR and AppRunner automatically redeploys your app. The only other platform that I think comes close to "I have my code just host it, and make sure it's redundant" is Fly.io

> I don't think it's that hard to a learn a little bit of AWS.

It's a lot more complicated than anything reasonable about deploying a webapp. Any shared hosting solution or deployment platform (think fly/shuttle) will be cheaper and easier to reason about. Even selfhosting on a rented VM or dedicated server and configuring auto-updates and maintenance windows will be much easier.

By going to netlify/AWS you are now tying the destiny of your app to two megacorps, doubling the risk of downtime (and cloud uptime is certainly not as good as dedicated) and other bugs.

Have you used AppRunner? I'm not talking about using AWS RDS, EC2 setting up IAM profiles or anything. AppRunner is fairly new and it's, IMO, simpler than Fly.io for webapps. Likewise, I don't think renting a VM or dedicated server is an option if you just want to deploy your app - if you don't want to think about deployment, networking, SSL provisioning, or failover and just your business logic, the appeal of Fly.io, netlify and Apprunner is just having an endpoint where you can 'git push' and having those platforms take care of everything.
I usually stay on the same stack

- frontend is ReactJs/ Typescript - Auto deployed on Netlify - backend in Express/Nodejs / Typescript - Deployed on Google Cloud Run - AI is usually in python running on Compute Engine VMs - Database auth is Supabase

I master these tools and more importantly, know their limitations. This way I can spin up a new project in days without surprises

CapRover app deployment on Digital Ocean is very cost effective.

It’s easy to deploy on a droplet using the DO scripts, and the droplets can be as cheap as you want them to be with the ability to easily scale up.

If you outgrown the biggest droplet size… congratulations! You made it!

DigitalOcean’s load balancer handles +10k requests per second, +10k simultaneous connections, +250 SSL connections per second for every $12. The ceiling is pretty high.
I love python, but that's the reason I eventually decided to build my services in php instead.

Hosting is dirt cheap, fixed cost, and it's just an rsync away from being deployed.

Vercel is the best option by far for everything you asked for. Only node.js though. Managed DB can use Planetscale or Supabase.