Live data from Hacker News

Monoliths are not dinosaurs

allthingsdistributed.com

61–70 of 243 posts

Re: Monoliths are not dinosaurs

#61

You know, I'm pretty sure you could build a PHP monolith in 2023 without a framework and it would do what it needed to do.

Questions for every 100 dynamic websites. How many can truly outgrow PHP + sqlite + jquery ?

I get your point on PHP and jquery, but why sqlite over Postgres or MySQL? Is sqlite just easier to get set up?

Re: Monoliths are not dinosaurs

#62
post #51

Earlier quoted context omitted.

Their point on hiring the best engineers was specifically about not following the hype, and allowing engineers to engineer. Also, they never claimed technical superiority of microservices, quote: > For example, a startup with five engineers may choose a monolithic architecture because it is easier to deploy and doesn’t require their small team to learn multiple programming languages.

> Their point on hiring the best engineers was specifically about not following the hype, and allowing engineers to engineer. That’s weird. Any time I’ve seen anyone let their engineers engineer, those engineers have immediately started following the hype.

I have many times seen management hire what they thought were "the best engineers" and let them completely loose for months or years straight to eventually deliver... nothing.

Literally nothing. Or at least nothing that actually works in any way.

Re: Monoliths are not dinosaurs

#63

Earlier quoted context omitted.

Questions for every 100 dynamic websites. How many can truly outgrow PHP + sqlite + jquery ?

I get your point on PHP and jquery, but why sqlite over Postgres or MySQL? Is sqlite just easier to get set up?

Also entirely self-contained and doesn't require a separate daemon

Re: Monoliths are not dinosaurs

#64
post #41

Software would be 50% better if every developer understood Tesler's Law: "Complexity can neither be created nor destroyed, only moved somewhere else." The drive to simplify is virtuous, but often people are blind to the complexity that it adds. Okay, so your microservices are each very simple, but that made the interactions and resource provisioning very complex. What was the net gain? The correct solution depends on…

Given your last sentence incidental complexity can be created and destroyed (and is more difficult to destroy than create). The quote would probably be more accurate as: > "ESSENTIAL Complexity can neither be created nor destroyed, only moved somewhere else."

Yes :)

That is the more precise adaptation of Kelsers Law.

Obviously you can always add also superfluous complexity :)

Re: Monoliths are not dinosaurs

#65
post #45
post #32

Earlier quoted context omitted.

There is no going back. The industry has seen a 5X raise in money and people. It's only natural that a job that used to take 2 now takes 10 people because of those facts. And I agree. We've traded safety and a few other things that could have been ironed out in exchange of massive gridlocks, headaches and colossal facepalms. Performance is only on par if you consider the hardware improvements, it's crazy.

If you can have a monolith for $500/month with a team of 2, or a distributed system for $50,000/month with a team of 50, what manager in their right mind would choose the former. Zero prestige in that.

Not just managers, but the senior engineers too. You can aggregate all the inter-service communication and say that you’re managing 1000 QPS service mesh rather than a meager backend with 10 QPS.

Re: Monoliths are not dinosaurs

#66
post #55

Earlier quoted context omitted.

What do you mean "the type of strings"? In pretty much every programming language, String is one of the most fundamental types. There's no "different types of string". (yes, this is a joke, a bad one at that. badum tish)

When I worked at Google, they had their own string type in place of std::string for various reasons. Python has byte strings, Unicode strings, format strings, regular expression strings, and probably a few others! Rust has str and String, depending on ownership.

honestly the difference between basic types like String in different contexts in different languages and dbs is enough to give me ptsd lol

Re: Monoliths are not dinosaurs

#67
I think the first step toward sanity is to stop factoring services by team sizes - “we have 100 people so require 20 microservices”.

Instead, factor services along natural fault lines. These are areas in the solution that scale differently from other parts and can tolerate communicating over http or message queue.

It is fine to have lots of people work on a single service. We compose things using 3rd party libraries all the time. Just treat internal code a bit more like 3rd party libraries.

Re: Monoliths are not dinosaurs

#68
post #55

Earlier quoted context omitted.

A great player can make a Squire sound like a Studio Strat. Indeed. The type of strings make a difference too.

What do you mean "the type of strings"? In pretty much every programming language, String is one of the most fundamental types. There's no "different types of string". (yes, this is a joke, a bad one at that. badum tish)

there's String, string, std::string, and the satanic *char. Just like there's Slinky, Super Slinky, Extra Slinky, Heavy, and Pro. Nickel-wound (ref counted), steel wound (raw array), and classical nylon (a fucking pointer).

Re: Monoliths are not dinosaurs

#69
post #57
post #45

Earlier quoted context omitted.

If you can have a monolith for $500/month with a team of 2, or a distributed system for $50,000/month with a team of 50, what manager in their right mind would choose the former. Zero prestige in that.

What do you mean zero prestige in that? Do you know the difference in salary, importance and status in managing a team of 50 vs one of only two?

I think you misread GP. That was the point they were making.

Re: Monoliths are not dinosaurs

#70
post #45
post #32

Earlier quoted context omitted.

There is no going back. The industry has seen a 5X raise in money and people. It's only natural that a job that used to take 2 now takes 10 people because of those facts. And I agree. We've traded safety and a few other things that could have been ironed out in exchange of massive gridlocks, headaches and colossal facepalms. Performance is only on par if you consider the hardware improvements, it's crazy.

If you can have a monolith for $500/month with a team of 2, or a distributed system for $50,000/month with a team of 50, what manager in their right mind would choose the former. Zero prestige in that.

In the past and in other industries you'd choose the former because you'd get hit hard if your manager realized what you were doing. But in the easy-money FAANG world your manager is usually playing the same game, so they actually prefer that you go with the latter.
Post reply on HN