Live data from Hacker News

Goodbye Microservices: From 100s of problem children to 1 superstar

segment.com

431–440 of 782 posts

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#431
post #300

Earlier quoted context omitted.

Still doing jQuery with server side rendering, not bothering with React. Yep dinosaur here.

It's so nice to build something that works without JS in the first place and then just add some JS and CSS3 animations.

Absolutely, then eventually sprinkle some PWA or Web Components stuff.

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#432

Let me write a meta technology hype roadmap, so we can place these sorts of articles: * Old technology is deemed by people too troublesome or restrictive. * They come up with a new technology that has great long-term disadvantages, but is either easy to get started with short-term, or plays to people's ego about long-term prospects. * Everyone adopts this new technology and raves about how great it is now that they h…

I have been doing some tech advice jobs on the side to see what's going on in the world and it's really scary what I found. Only yesterday I was talking with the cto of a niche social networking company that has a handful of users and probably won't get much more who was telling me the tech they use; Node, Go, Rust, Mongo, Kafka, some graph db I forgot, Redis, Python, React, Graphql, Cassandra, Blockchain (for their…

It sounds like it was a playground for the engineers to subdue their boredom by trying new tech. It's really common in our industry.

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#433
> Once the code for all destinations lived in a single repo, they could be merged into a single service. With every destination living in one service, our developer productivity substantially improved. We no longer had to deploy 140+ services for a change to one of the shared libraries. One engineer can deploy the service in a matter of minutes.

... 140 tightly coupled services wasn't the problem then?

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#434
post #402

Earlier quoted context omitted.

A dependency injection framework where you use flags at the composition root to determine whether the “real” implementation class or the mock class is used based on the environment. IOrderService -> OrderService in production. IOrderService ->FakeOrderService when testing.

You will end up with something like OSGi. That can be the right choice, but is also a quite 'heavyweight' architecture. For a certain class of applications and organizational constraints, I also would prefer it. But it requires a much tighter alignment of implementation than microservices (e.g., you can't just release a new version of a component, you always have to release the whole application).

See the below response for more details. But that’s not how modern testing works (neither is my feature flag suggestion).

https://www.developerhandbook.com/unit-testing/writing-unit-...

It works similarly in almost every language.

For a certain class of applications and organizational constraints, I also would prefer it. But it requires a much tighter alignment of implementation than microservices (e.g., you can't just release a new version of a component, you always have to release the whole application).

Why is that an issue with modern CI/CD tools? It’s easier to just press a button and have your application go to all of your servers based on a deployment group.

With a monolith, with a statically typed language, refactoring becomes a whole lot easier. You can easily tell which classes are being used, do globally guaranteed safe renames, and when your refactoring breaks something, you know st compile time or with the correct tooling even before you compile.

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#435
post #300

Earlier quoted context omitted.

Still doing jQuery with server side rendering, not bothering with React. Yep dinosaur here.

It's so nice to build something that works without JS in the first place and then just add some JS and CSS3 animations.

>It's so nice to build something that works without JS in the first place and then just add some JS and CSS3 animations.

Yeah, but JS buys you a lot. There are certain things that you can accomplish with JS that you absolutely cannot accomplish without it.

OTOH, anything that you can accomplish with React, you can accomplish without React. I'm with the GP on that one.

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#436

I'm not sure what they've been left with is a monolith after all. I would say they just have a new service, which is the size of what they should have originally attempted before splitting. In particular, as to their original problem, the shared library seems to be the main source of pain and that isn't technically solved by a monolith, along with not following the basic rule of services "put together first, split la…

+1

Changing one "shared library" shouldn't mean deploying 140 services immediately.

They had one service to begin with forked for each destination. Of course that was a nightmare to maintain!

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#437

Earlier quoted context omitted.

> Old technology is deemed by people too troublesome or restrictive. "deemed" is the keyword here. Old tech is "deemed" bad, new one is "deemed" good. Without any numbers attached, just by way of hand-waving and propaganda. And it's all "deemed" Computer Science :)

Bob Martin said in one of his lectures that Software Engineering is the only field where people can't even agree on one thing.

Well, it's pretty hard to agree with him specifically.

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#438

Earlier quoted context omitted.

I have been doing some tech advice jobs on the side to see what's going on in the world and it's really scary what I found. Only yesterday I was talking with the cto of a niche social networking company that has a handful of users and probably won't get much more who was telling me the tech they use; Node, Go, Rust, Mongo, Kafka, some graph db I forgot, Redis, Python, React, Graphql, Cassandra, Blockchain (for their…

Resume driven development. I've worked for a similar small company with barely any users/data but the tech choices were driven by how useful is the tech for their future job prospects and not the current or future needs of an organization.

Maybe if companies gave sufficient raises and promotions, and actually tried to retain talent, then we wouldn't have this culture where people keep having to switch jobs, and therefore always be looking out for what will get them the next gig.

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#439
post #380

Earlier quoted context omitted.

Bob Martin said in one of his lectures that Software Engineering is the only field where people can't even agree on one thing.

Once we got into a big discussion at c2.com about "proving nested blocks were objectively better than go-to's". Being most agreed nested blocks are usually "better", it seemed like it would be an easy task. Not! Too much depends on human psychology/physiology, which both varies between people, and is poorly understood. We couldn't even agree on a definition of nested blocks, being hybrid structures were presented as…

> proving nested blocks were objectively better than go-to's

Dijkstra spent many, many pages on that. And it's still not a clear cut "this one is always better" case, as there are some obvious exceptions.

Re: Goodbye Microservices: From 100s of problem children to 1 superstar

#440

Earlier quoted context omitted.

> Now that everyone forgot why the new technology was bad, we're free to begin the cycle again. We can very easily break the cycle by training a deep learning TensorFlow brain in the cloud, that will be fed the daily mouse gestures and key presses of all developers in the world. It's an awesome new technology that can solve any problem. Pretty soon the global brain will start to see patterns emerging, for example whe…

sounds like an awesome idea! Anyone who wants to do a startup around this I have an awesome idea about how to implement this using blockchain and a serverless tech stack :D

and let's name it HaaS - Hype as a Service.
Post reply on HN