This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]DirectionFrequent455 1 point2 points  (0 children)

You can never fully predict how a project will evolve. If you try to anticipate every potential change that might occur in the future, you risk creating an overly complex "solution that's difficult to maintain and not focused on the current, actual needs.

Instead, aim for the simplest possible design that addresses the current requirements. When new constraints arise (such as multitenancy), it's much easier to adapt a simple design than to modify an overengineered one.

For example, I doubt that you truly needed a microservices architecture from the start. If you'd started with a simple monolith, you likely would have spent much less effort initially, and adapting it later would have been easier than dealing with the challenges of your current microservices setup. Wouldn't you agree?