Hacker News new | past | comments | ask | show | jobs | submit login

So do you have any practical examples from actually implementing anything or is this just all theory?



There were several articles regarding microservices recently, for example: https://www.infoq.com/news/2020/04/microservices-back-again/

Also, this "simple is better" theory has been proven to be true again and again in a vast range of disciplines and use cases.


Because it’s an anecdote on the internet it must be true.

I can give you just an opposite anecdote - and from personal experience - not from what I found on the internet.

We have a lot of microservices that are used by our relatively low volume website, but also used by our sporadic large batch jobs that ingest files from our clients and our APIs are sold to our large B2B clients for their high traffic websites and mobile apps.

When we get a new client wanting to use one of our microservices, usage can spike noticeably. We have deployed our APIs to both Lambda for our batch jobs so we can “scale down to 0” and scale up like crazy but latency is not a concern and we host them individually on Fargate (Serverless Docker). Would you suggest that it would be architecturally better to have a monolith where we couldn’t scale and release changes granularly per API?


You constructed a straw man and then attacked it. There are some places where an architecture as you described makes a lot of sense and is probably the best solution. However, it does not change the reality that this type of architecture is often brittle and hard to debug because the experience needed to actually operate it is not present within the company that adopts it. Similarly the lego-block nature of these cloud components leads to further quickly glomming on of additional pieces without understanding the overall impact those pieces will have on the existing system.

I've seen it time and time again. Anecdotal of course, but we're all just shooting off anecdotes on HN anyways.


So I constructed a straw man when the original post was a very hand wavy It is known that the more moving parts a system has, the more likely it is for one of them to fail, thus for the entire system to malfunction.

But how pray tail did I “construct a strawman with a one word reply” - “details?”

And then when I asked for personal experience a random article on the internet was found. At least I was able to speak from personal experience. I can also go into great detail about best practices as far as deployments, logging, security, troubleshooting, testing (functional and scaling) and tracing without citing random articles....




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: