Earlier quoted context omitted.
Also, those complicated architectures are often quite unreliable anyway - just in ways that don't show in metrics. Slack comes to mind: not only its functionality is poor compared to eg IRC, but it fails in hilarious ways, eg showing duplicated messages, or not showing them at all. Another example is YouTube - the iOS app gets confused when displaying an ad, which results in starting the playback at a wrong time offs…
Slack comically uses gigabytes of RAM and plenty of CPU time in the client side.
In defense of simple architectures
21–30 of 196 posts
Re: In defense of simple architectures
#22Earlier quoted context omitted.
Also, those complicated architectures are often quite unreliable anyway - just in ways that don't show in metrics. Slack comes to mind: not only its functionality is poor compared to eg IRC, but it fails in hilarious ways, eg showing duplicated messages, or not showing them at all. Another example is YouTube - the iOS app gets confused when displaying an ad, which results in starting the playback at a wrong time offs…
Slack comically uses gigabytes of RAM and plenty of CPU time in the client side.
Re: In defense of simple architectures
#23Just boils down to not optimising until you need to. Start with a 3 tier web app (unless your requirements lead you to another solution), then start with read replicas, load balancing, sharding, redis/RabbitMQ etc
Realistically almost every web app can start as a one-tier web app that uses SQLite as a data store and serves mostly HTML.
Re: In defense of simple architectures
#24I 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…
Re: In defense of simple architectures
#25Earlier quoted context omitted.
Trap or integrated win-win? We use one of these "aggressively simple" architectures too. At this point, I would quit my job instantaneously if I had to even look at k8s or whatever the cool kids are using these days.
Man, kubernetes is so much easier than the smattering of crap that you have to jungle together before it. Puppet and co? No thanks. Terraform? It's fine, but only a part of a CI/CD picture. If you think the alternatives are better, I really have to wonder how much of the trenches crap that people in your org deal with regularly that you're insulated from. That, or you're a release-quarterly kinda company?
Not a yaml document in sight.
Re: In defense of simple architectures
#26What do people use instead of Graphene? Strawberry?
Re: In defense of simple architectures
#27The engineering message should be: keep your architecture as simple as possible. And here are some ways (to follow) on how to find that minimal and complete size 2 outfit foundation in your size 10 hoarder-track-suite-eye-sore.
Do we really need to be preached at with a warmed over redo of `X' cut it for me as a kid so I really don't know why all the kids think their new fangled Y is better? No we don't.
If you have stateless share nothing events your architecture should be simple. Should or could you have stateless share nothing even if that's not what you have today? That's where we need to be weighing in.
Summary: less old guy whining/showing-off and more education. Thanks. From the Breakfast club kids.
Re: In defense of simple architectures
#28Earlier quoted context omitted.
How could you say that Slack has poor functionality compared to IRC?
When you type something into IRC that message shows up in the log and every online users client pretty reliably. Furthermore the high degree of diversity among clients provides a pretty extreme amount of client side functionality that Slack completely lacks (scripting is a huge one.)
Slack has much better history because you don't need to have been online when messages are sent to log them. Slack is absolutely more reliable in this regard.
IRC is easy to script because the protocol is so simple. But you leave so much on the table for that cost.
Obviously if your use case is text only that you don't care about being persistent and you lean heavily on scripting to get things done then IRC will do the trick. Otherwise it's such a crutch to do anything besides beyond that.
Re: In defense of simple architectures
#29Re: In defense of simple architectures
#30Earlier quoted context omitted.
How could you say that Slack has poor functionality compared to IRC?
When you type something into IRC that message shows up in the log and every online users client pretty reliably. Furthermore the high degree of diversity among clients provides a pretty extreme amount of client side functionality that Slack completely lacks (scripting is a huge one.)