4 ms·
Main points that I keep repeating to our team: - "performance is a feature" ... But any feature is something you have to choose versus other features. - Goo
by ChrisCinelli 12y ago
Main points that I keep repeating to our team:
- "performance is a feature" ... But any feature is something you have to choose versus other features.
- Good modularity is a vital part of a healthy code base, and modularity is usually a big help when replacing a system. Indeed one of the best things to do with an early version of a system is to explore what the best modular structure should be so that you can build on that knowledge for the replacement.
- Design a system for ten times its current needs, with the implication that if the needs exceed an order of magnitude then it's often better to throw away and replace from scratch
- Microservices imply distribution and asynchrony, which are both complexity boosters. I've already run into a couple of projects that took the microservice path without really needing to — seriously slowing down their feature pipeline as a result. So a monolith is often a good sacrificial architecture, with microservices introduced later to gradually pull it apart.
- resca79 12y agoMicroservices imply distribution and asynchrony, which are both complexity boosters. In many case you are right. While Starting with a microservice architecture maybe is a premature optimization, Microservice are a kind of pattern that fits well when the business logic will grow in complexity and in term of entities/actors number. At the some time Microservice give you a chance to scale inside the microservice itself without touch any other service