Probably an unpopular opinion with everyone preferring to hand over money for convenience, but the advantage of learning to be able to do this yourself with nginx will bring a lifetime of self reliance/money saving.
Yes it will take time to learn it, but the ability to spin up a super cheap digital-ocean/linode/hetzner node is a valuable skill to have in your back pocket.
yep agreed. if you're comfortable with nginx and just want to test something quickly, this is many times better than downloading a framework, setting up, routing, etc.
The goal of the article was to do it for cheap. How expensive would your proposed architecture be? Auto-scalable nginx instances do not equate to cheap, especially when you're starting out.
I've set this up for myself 4 years ago and it just works, having a nginx instance online was really useful many times, eg. just recently I had to setup custom routing rules for services configured on AWS load balancer, just setup the same routing rules on my nginx and tunneled my local services - spent 10 minutes to get a working environment for debugging on local machine - with ngrok I would need to setup a local reverse proxy and tunnel that, small time saver but there have been a lot of instances like this, where I'm like - oh let me just throw this on my garbage server to transfer, let's host it there for a demo, let me install code server there for a workshop, etc. It was there, running on my domain, I know how it's setup - much better value proposition than ngrok for the same price.
I also set it up for a team I worked with - took me 2 hours to get it running again and then the rest of the day to document and add keys for people and explain how and why they should use it. This was a team of 9 people - so in one day I did 1080$ - cost of small instance - for the year. That's above my daily rate so worth it for the owner as well.
10$/dev/month is not a lot - but this is such a trivial service that you setup once and forget, also there's a lot of friction in getting things like this approved and pretty much everyone has a some discretionary cloud provider budget.
A technically-inclined person can beat them pretty easily (at least on the privacy/ethics front) by spending $5 on a Digital Ocean droplet and spinning up Nginx.
A few years ago I moved from a nailed down Apache "Webspace" to a self-hosted nginx server on a virtual debian instance for 3.50 Euros a month.
I had to learn a bit about Webserver configuration and best practises and have to adjust every now and then, but in hindsight I should have done that earlier. Before I constantly had to renew certificates manually (and the old hoster wanted not exactly little money for it) — now I can just use Let's Encrypt with automatic renewal.
Before I was limited to whatever my webhoster would allow to run (which was basically only PHP), now I can run whatever I want behind a nginx reverse proxy.
Nginx is a solid piece of software with a lot of people working on it.
I find it sad that people expect good services built on top of it to be free as well. Without an enterprise/paid offering how else do you suppose people fund nginx? Right now the state of open source funding is abysmal.
That's great that you have enough time and experience to consider all of this easy. As someone who works a bit higher up the stack, I rarely go as deep as configuring Nginx. This setup may take you a few minutes, but I usually end up spending an entire Saturday on stuff like this. Having done this for a few years, I would rather spend my free time on other things.
But once you set it up - you've set it up for everyone on your team - you just add subdomains and keys to each person - which can be done by a script (depends on your DNS might require 1 manual step but you need this with ngrok anyway).
So it's not 120$/year - it's 120$/year/developer.
And setting it up for yourself - I've found multiple instances where having a configurable nginx reverse proxy on a public server saved me a bunch of time, it's much more flexible than ngrok.
nginx has a huge headstart though, it's stable, it's fast, has lots of modules, etc.
I'm open to competition in the field, I'm not sure the competition will emerge as fast as people think (just like competition for other well-established software bricks in general).
I agree with you, but I think there’s an even more important point: spending your Saturday integrating nginx with certbot is quite frankly, an easy task - technically speaking. This is not even learning - this is your routine work task.
It’s always worth learning NGINX, as it is a truly powerful tools, but it’s often PITA to configure, and there are a lot of pitfalls if you use virtualhosts.
Yes it will take time to learn it, but the ability to spin up a super cheap digital-ocean/linode/hetzner node is a valuable skill to have in your back pocket.
reply