Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ok, here is a quick tutorial:

Step 1:

Copy Peter Levels stack:

https://www.nocsdegree.com/pieter-levels-learn-coding/

If he serves hundreds of thousands of monthly users and makes a million a month with a single VPS, you certainly won't have scaling issues when you start out or just have tens of thousands of users.

Step 2:

If you really scale beyond that, resist the urge to bloat your stack. Think long and hard about every piece you add to it. Really understand each piece you add to it. Don't fall into the trap of paid services. Don't fall into the trap of "best practices".



Haha, the man is clearly a beast of a product designer and executor. I don't think I would succeed with the same tools.

Honestly, spending $200/mo is insignificant to me. And I'm pretty happy to answer the question of "Why can this guy build this thing on a single VPS and you can't?" with "Well, because he's better than me".

I can be up in 15 mins on Heroku with a Rails+React web app. And in an hour have a thing. Or for a static no-login thing, faster with Netlify.

But it doesn't matter. Because I never made a product as nice as the one he made. If the outcome is I'm -$200/mo that is irrelevant to me. If the outcome is I'm +$50k/mo that is very relevant. So I'm going to optimize for how I can do the latter.


I don’t know how many times I have seen “best practices” used as excuse to avoid thinking. Usually by people who don’t even have the problem that the supposed “best practices” is meant to solve.


While this article has steps in the right direction, it's a lot of "use this thing". I operate a simple Flask/PostgreSQL webapp for CS Education through the luxury of my university. If/When I graduate from my program, what are the aspects I can do to minimize my costs for hosting the app? Of course I'll look for best approaches but why does that need to be forbidden knowledge known to a select few?

Its an aside, but the mentality of "let them figure it out" is a major issue in education. Foundational knowledge should be easy to acquire so I can worry about higher level thinking issues. Literally spending hours trying to figure out how to set things up through hours of Googling doesn't really help that, nor does it promote the "figuring it out" people think it does - its just stumbling upon the right set of commands that let me move past this particular hurdle.

From the devops perspective, what about telling someone how to set up their own server to do/minimize X is so taxing?


I run a cheap website and here is what I do

- cloudflare free tier for caching, DNS, page rules, etc

- run everything on one VPS(digital ocean, linode, etc) pick cheapest that has specs you need

- any non-trivial storage (media, big files) move to Backblaze B2 it's cheap (you can use free tier cloudflare workers to redirect to B2 for free bandwidth due to Bandwitdth Alliance)

- free static page from Netifly (I can redirect to this with cloudflare in case my VPS falls over or something to provide info/links)

- If I want to look at logs or something I rsync it my local machine (if I cared I could set up a process to push logs/backup etc to private B2 bucket)

You may not need exact same setup, I am optimizing for caching and cheap storage because my site stores/serves lots of media files.


>Literally spending hours trying to figure out how to set things up through hours of Googling doesn't really help that, nor does it promote the "figuring it out" people think it does - its just stumbling upon the right set of commands that let me move past this particular hurdle.

That's basically all of software development for your entire career. Never not had a day or a week not like that.


That is true and I recognize the purpose of being a proficient Googler; however my concerns stem out of the idea that learning many of those skills are not taught at all or expected to be learned in situ through programming assignments.

Here are examples of what I mean:

- An undergraduate Networking/Security course may not provide practice on appropriately salting passwords. It is merely discussed as part of some larger conceptual model. Students are browbeaten in earlier courses to not simply copy/paste code they find on the internet

- Debugging practice has to come from the student's own generated code, but if they made a mistake, they already are showing they do not fully grasp the material. There have been efforts to explicitly train debugging [1] but they are still in early stages of researching their benefits.

[1] The Code Mangler - https://dl.acm.org/doi/pdf/10.1145/3017680.3017704


Yeah there should be debugging classes, googling classes, and how to orient yourself in a massive, existing codebase classes.


I don't think they need to be explicit courses, since that means making credits and charging students more. Rather, my research is about providing exercises specifically targeting those lower level skills. Since many of them are only a fraction of the "programming problem", they are do not require the expected hours and can be completed quickly. My hypothesis is that doing these types of problems will help reduce the time on task for coding.


If I have a "million a month" business (which is coming from rich recruitijg fees on a trivial website, not amazing tech), no way am I sweating $171/mo in server bills.


> PHP (He doesn't use any frameworks like Laravel)

I wouldn't want to read (or write) that code, but thanks for the article.


Well, aren't you special. How about staying on topic and not dropping in this, what, developer virtue signaling?


> staying on topic

A major subtopic of this thread is "different situations call for different setups."

Saying "I won't work with PHP" is like saying "Gluten will make me shit my brains out." It is not virtue signalling.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: