3 ms·
What exactly will the webapp do? What kind of auth do you need? IMO if you have no production web app experience and you're a solo dev, you shouldn't be rollin
by solardev 2y ago
What exactly will the webapp do? What kind of auth do you need?
IMO if you have no production web app experience and you're a solo dev, you shouldn't be rolling your own. There are many footguns along the way, security and performance issues, deliberate attacks, bots, etc. It can become a full-time job just keeping the website up and running. That's fine if your goal is to learn, but if you just want to launch something ASAP, well, we've had two decades of Web productizations and you can pretty much one-click deploy a website these days.
I'd look into more ready-built solutions like Vercel/Netlify, AWS Amplify, Google Firebase (or maybe App Engine), Shopify, etc. There's probably some vendor that offers what you want for very cheap (but it's not clear to me what you want... more details would help).
True, you won't learn as much this way as rolling your own from the ground up, but I don't think your startup's production website should also be your personal learning project... maybe first get it up and running on a vendor supported service, then slowly replace each piece of it (like one system or API route at a time, or whatever) as you gain knowledge?
Otherwise if you DIY it and you have no mentor and no fallback, if and when something breaks, you'll have to debug it while production is down and your customers are screaming at you. That's no fun.
You can also hire someone with more experience and have them architect and deploy the initial system, then you can co-learn and help maintain and iterate it afterward.
I don't think it's a good idea to just YOLO this for a production commercial site. Too many things can and will go wrong.
- zwnow 2y ago"I'd look into more ready-built solutions like Vercel/Netlify, AWS Amplify, Google Firebase (or maybe App Engine), Shopify, etc. There's probably some vendor that offers what you want for very cheap (but it's not clear to me what you want... more details would help)." That's unfortuneately the issue I have. I want to learn how to actually deploy and manage a site, not how to throw some files to some vendor and let them lift it. I mean, I will have to use some kind of vendor to do it, as I wont use the project to learn. It also wont be a site with tons of traffic, so people won't scream at me if it's down for 5 minutes. To me it just feels wrong to give away management and maintanance tasks to some vendor. It just racks up bills.
- solardev 2y agoIf you want to experiment on your own, you can easily spin up a simple LEMP stack with MAMP or XAMPP in a few clicks, and then configure each service to your liking. I don't think there is any business value in maintaining a site that way for a small biz (I think "you don't know what you don't know" applies here, and there are a lot of issues you'll have to solve along the way that you might not have considered upfront). There's certainly educational value. But can't you do that on your own and learn in a lower-risk environment with a side project, instead of making your company's production website reliant on it? If you really don't want to do that, sure, you can still roll your own and either just deploy the whole thing as-is (uploading files and mirroring DBs, etc.) or containerizing it with Docker. For making a reproducible LEMP stack that can be easily transferred to another host, also consider the free tool Lando: https://lando.dev/ https://lando.dev/ It is a CLI wrapper around Docker, specifically for making it easier to deploy containerized LEMP stacks reproducibly.
- meiraleal 2y agoManaging a webserver is such a simple but time consuming effort that you will soon see that using a PaaS is better. But it is worth knowing what they do to serve your website. I definitely don't miss managing apaches and nginxes.