Should I Adopt?
Today, organizations considering adopting microservices should make this decision based on three criteria:
Organizational support for accelerating the customer feedback loop. Fundamentally, the business needs to agree that getting customer and market feedback faster is a key priority.
Your organization’s current and anticipated capabilities for adopting new technologies and approaches. Successful adoption of a microservices architecture requires a commitment to learning and adopting new technologies. Organizations that tend to be more conservative in learning and adopting new technology choices may not be ready for microservices today.
The size of your development organization. The benefits of microservices compound with the size of the development team. The larger the development team, the greater the benefits of a microservice architecture.
Should small development organizations shy away from microservices?
Not necessarily. Even small development teams (~5 engineers) can benefit from the incrementally adopting microservices patterns. A common example is the deployment of a standalone microservice for search (e.g., Elastic Search), which enables a developer to iterate and release improved search features without requiring changes to the main application. Moreover, this design pattern allows the search microservice to be reused elsewhere.