4 ms·
I believe it still runs on one box. Xeon E5-3567 (3.5Ghz). Stack is FREEBSD with nginx as front-end. From a quick look at M5 hosting price, cost is probably $5
by nabaraz 4y ago
I believe it still runs on one box. Xeon E5-3567 (3.5Ghz). Stack is FREEBSD with nginx as front-end.
From a quick look at M5 hosting price, cost is probably $500-$1000/month (6M requests).
- sph 4y agoI wonder how much it would cost to run if it were designed and run with 2022 modern best practices of Kubernetes, Helm, Node + React, on a fleet of cattle servers hosted on AWS, paired with expensive add-on services because running PostgreSQL is too hard. The cynic in me says it would cost at least 10x that, require a full time team of 5 devops, and we'd suffer at the very least the same amount of outages, if not worse.
- gchokov 4y agoThat comment exactly.
- japanman425 4y agoI just and an aneurysm
- xuki 4y agoI lol-ed at this. A few years ago, someone said it runs as a single process on 1 core and use no database, everything is written to filesystem.
- andai 4y agoTwo years ago I emailed HN to ask why favoriting posts is rate limited. Got the reply, "HN's main software runs on a single core." They also said they are working on an overhaul of Arc and HN, which will massively improve performance.
- hackernewds 4y agoThey gave you false info https://news.ycombinator.com/item?id=34171328 https://news.ycombinator.com/item?id=34171328
- neysofu 4y agoIs that supposed to be a good thing?
- xuki 4y agoIn my opinion, yes. It's simple to run, simple to back up, simple to migrate to a new server, upgrade path is straightforward (find the fastest single core CPU).
- makapuf 4y agoIf it provides the correct features and runs correctly, simpler is better. To me, simpler to run, understand, backup, deploy, recover goes in the right direction.
- sph 4y agoWould it make your experience as a user better if the data was stored in a schema-less distributed database instead of saved to file? Would you browse it more often? If you had to pay for it, would you pay more money? Because at the end of the day, none of those decisions matter, and sometimes the crappy, inelegant solution is cheaper and more understandable to the ones running it for almost two decades.
- neysofu 4y agoOh, I'm not debating the impact such a decision has on users, but rather on development experience and ops. > schema-less distributed database instead of saved to file I was actually going to suggest SQLite.
- mrighele 4y agoHN started as a project to experiment [1] with the Arc Language [2], so it doesn't surprise me that it used static files as a storage. I wondering what is the stack these days though. [1] http://paulgraham.com/hackernews.html http://paulgraham.com/hackernews.html [2] http://arclanguage.org http://arclanguage.org
- moffkalast 4y agoThat is what I'd expect it to still be tbh, if the responsiveness is anything to go by.
- davidwritesbugs 4y agoI think your cynicism is probably true to the mark. Everything is f*king over engineered now.
- honest-teorema 4y agoThen why do you refer them as "best practice", can we use "common practice" instead?
- DrBazza 4y agoThere's a Dilbert (rather than an xkcd for that). When everything is described by a superlative, really, it's just 'average'. Sites like Trip Advisor or Amazon, or anything with a rating system. The "average" person nearly always puts 4 or 5 stars for average products or establishments.
- hackernewds 4y agoThe actual ratings matter less than the relative percentile. that being said, Amazon ratings (or most other similarly dependent site's) are not a simple straight average.
- em500 4y agoI heard that on Uber and AirBnB, 4 (out of 5) stars is understood as bad. When I worked at a large non-American internet company, I know there were some internal discussions on how to deal with different cultural interpretations of numerical ratings (still unresolved AFAIK).
- dspillett 4y agoIn some circles of our buzz-word fuelled world what is considered “best practise” amongst risk-averse management is “what everyone else is already doing”. Anything else is too different: if it is such a good idea not to over-engineer, why is everyone else over-engineering?
- throwaway14356 4y agoWith that pattern I always go with: I should be asking you that question.
- sh4rks 4y agoHow does one find the best tools for the job? I want to build something that is performant and maintainable, but I also don't want an over-engineered mess.
- the_gipsy 4y agoBut look how big the team is! Must be pretty important.
- Tams80 4y agoNot complex enough. Reckon you could easily fit in a few more steps there.
- wiseowise 4y agoNative mobile apps come to mind.
- moffkalast 4y agoNeeds more Redis, and clearly RabbitMQ would be best to pass the incoming comments to K8s.
- yuppie_scum 4y agoBest practices align with scale. Technologists rush to implement the shiny shiny stuff you mentioned, but in most cases simplicity is the best solution until there is an actual scale problem to address. That said, I bet at HN scale, it could be cloud-hosted pretty cheaply with ECS/Cloudfront. Maybe even just in S3 with a small RDS instance. Or in cloudflare as was discussed.
- wiseowise 4y ago“Best” practices.
- shanebellone 4y agoIt's curious how "best practices" would cost ~10x and require 5 devops. HN is crazy simple. Even $500/m sounds a bit high imo.
- ejb999 4y agoNever underestimate the tendency of many SWE's to make things more complicated than they need to be.
- shanebellone 4y agoMinimalist design obfuscates the maximalist manifesto.
- therealdrag0 4y agoNever underestimate the ability for a company to chase customers which turns into feature requests which turns into complexity which turns into revenue which turns into profit and nice salaries.
- sofixa 4y agoCrazy simple and thus misses a few rather basic features - like proper scaling (the icons for upvote/downvote and buttons for actions are too big for mobile, and also too small on big screens), and some basic late 2000s AJAX to avoid page reloads for basic actions such as adding/deleting a comment.
- hackernewds 4y agoNot to mention the site and policies would de-evolve into reddit with admins
- pifm_guy 4y agoBuuut... The Aws+kubernetes approach is very scalable. If overnight, HN became the new Facebook, the single server model wouldn't work, and the business opportunity would be lost. However, the kubernetes model probably would scale (probably with a few hiccups still, but doable), and HN would suddenly be a 100x business. That is why business leaders pick the more expensive 'best practice' setup.
- amelius 4y agoI like it that HN has a built-in protection against an eternal September :)
- bl0rg 4y agoNo. Bored engineers pick it because it’s more fun to build complex systems being able to handle a wider array of scenarios.
- kosinus 4y agoI don't believe business opportunities are lost that quickly. Sure if you're down for 2 months, yes. But use a solid dbms and web framework and you can transition to multiple servers quite easily, in the order of hours. Doesn't even have to be k8s, but call in an expert the next day if you have to.
- sph 4y agoReading your comment and the answers, I have a hard time telling if you're being ironic or serious here. I'm going to be charitable and assume yours is some very sharp wit that flew over the heads of some that replied to you :) Indeed it is a terrible idea to optimise any piece of software that's put online in the rare occurrence it becomes the next Facebook. No, it will not happen overnight. No, you can run on an autoscalable k8s on AWS setup and it will still break, you will have to completely re-architecture and write a lengthy "what went wrong" post-mortem anyway. I feel the "premature optimisation is the root of all evil" mantra is not yet being taught in DevOps school.
- imiric 4y ago> If overnight, HN became the new Facebook Begone, Satan! > That is why business leaders pick the more expensive 'best practice' setup. Realistically, how many companies reach the scale of FB? If successful, they'll reach a few thousand concurrent users, which can be serviced by the monolith model, and even scaled traditionally. HN is a testament of how well this model can work. Building an entire infrastructure around the 1e-9% chance it will have to service a FAANG-level scale of traffic is the definition of premature optimization. Instead, setting up and maintaining this HA infrastructure is a huge resource sink, which at an early stage of a startup can make or break the project. It's insane that this model of building for burstable scale where everything is a microservice has become so prevalent in the industry. Cargo culting whatever tech is produced by FAANGs is doing immeasurable harm. These are not best practices. EDIT: Ah, if you were being sarcastic... Touché.
- dalbasal 4y agoOOH, I'm cheering along with everyone else at this comment. OTOH, I wish there was a reference book or something that takes this to a usable level. Everyone who works on software knows that similar tasks can be completed by a 6 workers, a 6 figure budget or 600 and an 8 figure budget. A similar feature costs 6 hours, or 6,000 hours... in dissimilar circumstances. Some reasons for this are probably unavoidable. Deploying a moderation feature on Twitter is just different to deploying on a 10,000 user app. Some reasons are complex, and mysterious. Overall though, it is very difficult to fathom "Why." How can efficiency possibly vary by so much?! Should we even believe our eyes? Maybe it doesn't vary by that much? I think one reason this is a nasty problem is that there are so many unrelated ways to answer it. They all yield different insights, and the different insights barely intersect... neither negating or supporting one another. You could treat this as an engineering issue. How is HN's stack, code and such engineered. That'll give you an answer. You could go one step before engineering: how do decisions/specs work? For HN, the same few head(s) decide what the site do, how to code it, moderate it, host it, etc. It doesn't change often, or much. A "minor feature" like christmas colours is probably conceived of, specced, approved, coded, released and operated by the same person. You don't suddenly discover that one of the steps is hard. An engineer doesn't have to explain to an idea person why X is harder than Y or why A creates more technical debt than B. They don't need to negotiate, compromise, or communicate in a least common denominator language. This sort of management/organisational explanation doesn't negate the engineering explanation, but it does trivialize it. When I'm in "organisational brain" mode, I think of engineering decisions (eg. writing everything to the file system) as derivative. Those decisions happen because of organisational reality. This isn't strictly true, but it probably applies in most RL situations. A bank isn't going to engineer like this. Neither is a startup team of 50 newly hired ninjas. It's tempting to forget about engineering at this point... but that's obviously wrong. Meanwhile, you can probably answer these questions 10 more ways. The team of 50 newly hired ninjas can be explained by funding. It's just what happens when VCs pour large sums into incubator startups en masse, in a tight labour market. We can go a step further: Maybe the VC stuff is derivative of monetary policies and macroeconomics... It's not untrue. You might prefer a cultural explanation. IIRC, pg like this kind of explanation. Academic culture, FOSS, or government consulting cultures will get you to different code, stack, financial structures, etc. Hiring a LISP team will get you fundamentally different software than hiring a Java team. Much more different than legibly explainable by the differences between Java and LISP. It's technically possible to do the LISP thing in Java or vise versa. It won't happen though. It just goes on and on, gets hairier and nastier as you go. I find that the deeper I go, the more I touch base with the aggravating starting point: the cost/efficiency of software varies by several order of magnitude: far more than reasonable.
- mintaka5 4y agoas the internet was intended
- EugeneOZ 4y ago6M requests per month can be served by a $20 VPS.
- deleted 4y ago[deleted]
- RedShift1 4y agoCan't find that processor model, probably wrong number?
- moffkalast 4y agoI don't think they rent an instance, it's more likely a physical machine over at YC since they had that time based simultaneous SSD failure thing recently that likely wouldn't have happened in a datacenter. So more than the power it takes to run it I doubt it's much of a monthly expense.
- 867-5309 4y ago>Xeon E5-3567 that processor does not exist
- nabaraz 4y agoSorry, typo. Processor is E5-2637. Source: https://news.ycombinator.com/item?id=16076041 https://news.ycombinator.com/item?id=16076041