Même s'il y a beaucoup à dire sur la construction de systèmes basés sur des architectures microservices, l'approche moderne n’est pas nécessairement la bonne solution pour chaque entreprise ou chaque projet. La mise en place de microservices peut demander plus d’effort, en particulier pour les petits programmes informatiques qui, de toute façon, ne peuvent gérer que de quelques tâches. De plus, la création de services, mais aussi la maintenance, le développement ultérieur et la surveillance prennent beaucoup de temps. Il convient d'examiner soigneusement les résultats des microservices, en particulier lors de la surveillance des processus : d'une part, les microservices individuels sont très faciles à analyser et à mesurer. En raison de la masse des microservices, cette tâche s'accroît considérablement.
Si l'on considère ses avantages au niveau du workflow, il apparaît clairement que cela n'a pas de sens pour tous les projets, notamment lorsqu’ils sont à court terme. L'un des avantages de travailler avec les microservices est l'indépendance des équipes individuelles. Par exemple : vous voulez éviter qu'une équipe ne doive attendre les résultats de quelqu'un d'autre pour avancer. Cependant, si toute l'équipe de développement ne se compose que de quelques personnes, cette séparation des services n'a guère de sens. De plus, si vous suivez la loi de Conway, une petite équipe qui n'est pas divisée peut accomplir beaucoup de choses et peut quand même obtenir un résultat différent.
Des changements majeurs s'imposent pour les équipes plus importantes : les postes qui contrôlent le développement de manière centralisée sont de plus en plus supprimés et les équipes de développement s'organisent d’elles-mêmes. Une telle restructuration est à la fois longue et coûteuse. Ce facteur doit également être pris en compte en cas de modification éventuelle du système.
Certains partisans des architectures microservices recommandent une stratégie monolithique. Il est logique d'aborder un projet de programmation dans un style monolithique et d'en exploiter les avantages dans les premiers temps. Ce n'est que lorsque le projet a pris une ampleur suffisante que vous pouvez passer à une architecture microservices. L'architecture orientée services (SOA), constitue une bonne étape intermédiaire car elle se situe entre les deux systèmes. Ici aussi, la procédure est modulable. Les services individuels sont destinés à représenter les processus de gestion.