Live data from Hacker News

In defense of simple architectures

danluu.com

101–110 of 196 posts

Re: In defense of simple architectures

#101

Earlier quoted context omitted.

I wonder who he stole that joke from.

I would assume bruised_blood, but I can't [easily] find the original, so I posted that.

No, sure. That’s fair enough.

My point simply being that iamdevloper is a notorious joke thief and is especially unsporting about it when it’s pointed out.

Re: In defense of simple architectures

#102
post #9

I think the biggest problem for most developers is not understanding what one computer can actually do and how reliable they are in practice. Additionally, understanding of how tolerant 99% of businesses are to real-world problems that could hypothetically arise can help one not frustrate over insane edge case circumstances. I suspect a non-zero number of us have spent time thinking about how we could provide determi…

Some people don't even realise how much traffic a simple web app with server side rendering (decently written), hosted on an average dedicated server can hold... They dont need cloud, autoscaling, microservices, kafka, event driven architectures, etc. We've lost our way in the masked marketing the cloud providers are creating to help us solve problems we will never encounter, unless we are building the next Netflix o…

If you want to get an idea of where things are at right now, this is a good place to start looking:

https://www.techempower.com/benchmarks

If you just need plaintext services, something like ~7 million requests per second is feasible at the moment.

By being clever with threading primitives, you can preserve that HTTP framework performance down through your business logic and persistence layers too.

Re: In defense of simple architectures

#103
post #34

There are some web apps still in production that I wrote almost a decade ago in Node+Express in the simplest, dumbest style imaginable. The only dependencies are Express and some third-party API connectors. The database is an append-only file of JSON objects separated by newlines. When the app restarts, it reads the file and rebuilds its memory image. All data is in RAM. I figured these toys would be replaced pretty…

I often rewrite in my free time what I do at work without dependencies and I'm often amazed at how far and faster you can move.

Re: In defense of simple architectures

#104
post #74

Earlier quoted context omitted.

Pretty far!

How far was exactly? Like tps for reads and writes with what specs? I’ve been looking for real world performance.

50k-100k reads per second was pretty doable on mysql even back in 2014-2015 era.

You can get a 60TB NVMe instance with 96 cores these days - https://aws.amazon.com/ec2/instance-types/i3en/. Relational databases just scream on the dang things.

> 2 million random IOPS at 4 KB block sizes and up to 16 GB/s of sequential disk throughput

Re: In defense of simple architectures

#105
post #33

I think especially for small teams starting out, complex architecture can be a huge trap. Our architecture is extremely simple and boring - it would probably be more-or-less recognizable to someone from 2010 - a single Rails MVC app, 95+% server-rendered HTML, really only a smattering of Javascript (some past devs did some stuff with Redshift for certain data that was a bad call - we're in the process of ripping that…

That doesn't sound like it's really any simpler than a json API server (written in node, python, go, or anything else), and a SPA. Maybe the lesson is "build with what you know if you want to go fast".

In my experience, adding SPAness doubles the complexity of your application. Now you're maintaining and synchronizing the same state in two places and adding extra code in a different language (if you're not using JS on the backend).

Re: In defense of simple architectures

#107
post #54

Earlier quoted context omitted.

I have a dumb question ... In almost all performance areas -- gaming, PCs, autos, etc -- there are usually whole publications dedicated to performing benchmarks and publishing those results. Are there any publications or sites which implement a few basic applications against various new-this-season "full stacks" or whatnot, and document performance numbers and limit-thresholds on different hardware? Likewise, there m…

TechEmpower has benchmarks for different web stacks: https://www.techempower.com/benchmarks/

Unfortunately TE is highly gamified, and the benchmarks (like most benchmarks!) don't really represent real-world workloads.

Re: In defense of simple architectures

#110
I don't know how the author can claim that they run a "simple" architecture.

From their job pages:

Our stack :

    backend: Python 3 (+ mypy)
    API layer: GraphQL
    android frontend: Kotlin/Jetpack
    iOS frontend: Swift/SwiftUI
    web frontend: TypeScript/React
    database: Postgres
    infrastructure: GCP / Terraform
    orchestration: Kubernetes
That is not simple by any stretch of the imagination.
Post reply on HN