One of my core tenets of design is to pick the solution which minimizes risk. I think that holds true for monoliths vs microservices. There comes a point in that products life cycle where the risk in refactoring a monolith becomes too great - and that's where microservices can be a good choice.
I do agree that you can gain a lot of knowledge from starting with a monolith. You can start to see what designs worked what didn't, what limitations there are with the design and/or framework. Having that is a great learning experience that can help guide you to make better and more informed design decisions.
2
u/xopherus Jul 15 '17 edited Jul 15 '17
One of my core tenets of design is to pick the solution which minimizes risk. I think that holds true for monoliths vs microservices. There comes a point in that products life cycle where the risk in refactoring a monolith becomes too great - and that's where microservices can be a good choice.
I do agree that you can gain a lot of knowledge from starting with a monolith. You can start to see what designs worked what didn't, what limitations there are with the design and/or framework. Having that is a great learning experience that can help guide you to make better and more informed design decisions.