3 ms·
Author here. I wrote this in 2020 and while my thoughts haven't quite changed since, I acknowledge that all architectures have their advantages and disadvantage
by KronisLV 4y ago
Author here. I wrote this in 2020 and while my thoughts haven't quite changed since, I acknowledge that all architectures have their advantages and disadvantages.
For example, I mentioned GitLab Omnibus, which I still think is a good way of getting up and running, but when a single package includes multiple different components (a PostgreSQL instance, Redis, some other software), then updates can become a bit of a challenge, if there are issues with that abstraction: https://blog.kronis.dev/everything%20is%20broken/gitlab-updates-are-broken https://blog.kronis.dev/everything%20is%20broken/gitlab-upda... (disclaimer: the "Everything is Broken" articles aren't always entirely serious)
Though that's more about different types of software, rather than various code modules in your back end. There, I still think that going with microservices first is likely to have issues with complexity for many teams and perhaps that most successful projects that use microservices grew into that architecture gradually, with plenty of lessons learnt along the way.
Since, I've actually heard someone use the term "singleton app" to describe an application that cannot be scaled horizontally (e.g. all user sessions in app memory, or using app memory instead of DB or external key-value store for business processes), which is probably the real thing to avoid whenever possible - in contrast, monoliths and modular monoliths should both be more scalable, while remaining relatively simple, at least while they're not too large.
- thesnide 4y agoIt is always important to learn History. As it enables to understand the world as it is. That's the best advice I'd give to my younger self. Some well-known huge companies had problems with scaling. And gradually came to microservices, inventing them along the way. Everyone else simply uses that invention without knowing the History that they went through. So, they are usually missing many important trade-offs that were made. Shortcuts and bliss are usually nice, but they always come with a price. Like all those pesky leaky abstractions. Nitpick: I dislike when there is no indication of the year something was written in. As it fully helps with the context. History is made of dates, as the sequencing is very important to understanding it.
- KronisLV 4y ago> Nitpick: I dislike when there is no indication of the year something was written in. As it fully helps with the context. History is made of dates, as the sequencing is very important to understanding it. Noted, thank you for the feedback! The publish dates show up in the article list, but not in the view of an individual article. Might need to mess around with the Grav theme (it's a nice flat-file oriented CMS otherwise), or maybe sometime get around to writing my own static site generator, like all of the cool bloggers do.
- thesnide 4y ago> writing my own static site generator Had the exact same idea, but I ended up with going mainstream and just use jekyll. I don't have enough time for content, so I cannot justify it for the form. Even if it is fun. Also, if/when you'll migrate, be sure to migrate your URL nicely as https://www.w3.org/Provider/Style/URI.html https://www.w3.org/Provider/Style/URI.html