3 ms·
Architectures and scalability, although related, are two different conversations. You could build a monolith with an internal messaging queue, this obviously li
by kodah 6y ago
Architectures and scalability, although related, are two different conversations. You could build a monolith with an internal messaging queue, this obviously limits scaling possibilities horizontally but may be able to scale vertically. If you externalize the queue and use something like Rabbit, Redis, or NATS then you have more options but you also have more/new problems. Not all things need to scale, and not all things need to scale horizontally. There are ways of shifting out of monoliths too, but this gets trickier with some older, ill-defined codebases in my experience.
Microservices can be advantageous but I don't think I've ever cited speed, unless I was talking about deployments and build times (which are definitely part of the conversation since architecture affects the entire SDLC). Usually my strongest points about microservices are about maintainability from the team perspective, reliability (if done right), and earlier parts of the SDLC like testing and build times. The cons are that you are usually having to maintain (and test against) very strong external contracts, inner-service knowledge is strong due to a smaller codebase but often times developers have very little intra-service knowledge (they don't understand the big picture, which is important), and many times codesharing is tricky or just not possible.
- rightbyte 6y ago> scaling possibilities horizontally but may be able to scale vertically Let me guess. Vertically, bigger computer, horizontally, more computers? These cloud business speaks is getting to my head.
- chrisandchris 6y agoYes. But these terms are way older than any cloud-computing and go back many many years.
- threeseed 6y agoScaling vertically is problematic in the cloud where it’s very common to have instances and even entire regions come and go at any time. It’s one of the big reasons why horizontally architected applications have thrived in the cloud era.