You probably know this whole class of queries "What backend architecture should I...?" which always results in the same boring answer:
"it depends".๐
There are tons of great resources online, and the problem is how to read them all in multiple tabs simultaneously. ๐
My dear friend Tomasz Antas, CTO of Altalogy, is curating "The ultimate comparison of web app backend architectures" in a form a long blog post with lots of charts, infographics, insights and advices.
I'm posting a sneak peek here for two reasons:
1) If there's anything you would change in the illustration below, I'd love to know now
1) Tomasz got fewer followers than me, so I'm posting on his behalf ๐
Let me know if such an infographic is clear and informative to you. Thanks! ๐
Top comments (5)
Yes, it's clear and informative, but incorrect. Monolith is not an architecture, so mentioning its scalability is meaningless.
P.S. and choice of technologies somewhat opinionated.
Hi Sergiy, thanks for your reply!
I agree that the choice of technologies is opinionated, but it's impossible to list all of them, so the goal has been to mention a few popular ones to give one an overview.
By "saying Monolith is not an architecture," do you mean that monolith is when there's no architecture at all? ๐ Maybe we should rename it into "approach" then? :)
Take a look at this post. It was inspired by your article, BTW.
Architecture always exists, so there is no point to say "no architecture at all".
That's a really interesting insight - "packaging option". I think we'll reciprocate your inspiration and mention your thoughts in the final draft as well.
However, it would be quite of a challenging task as the whole internet is already flooded with the term "monolithic architecture' :)
Unfortunately yes, this term is widely used. I guess it coined up to describe traditional synchronous architectures like PHP+MySQL/Spring+Hybernate/etc. But now it used to describe every architecture which does not require multiple deployable artifacts and huge DevOps team.