Com ja hem comentat en un article anterior, els microserveis són un nou model d’arquitectura on separem les diferents funcionalitats d’un producte en espais més compartimentats que s’autoabasteixen i mantenen connectats.
Aquest model substitueix allò que es coneix com l’arquitectura “monolítica”, on tota l’operativitat del projecte descansa en el mateix codi o sistema.
Ambdues metodologies de disseny tenen avantatges i desavantatges, fortaleses i debilitats que hem d’avaluar segons el context en què s’utilitzi.
En el cas dels microserveis, si bé és una arquitectura útil en un nombre elevat d’ocasions, la majoria dels projectes d’arquitectura informàtica solen necessitar una aplicació monolítica o una SOA com a base.
Per què? Normalment els nostres clients voldran que els usuaris es connectin tots a un mateix sistema, aplicació o xarxa. Serveix per unificar mètodes, projectes i la comunicació, i molts estan acostumats a tenir-ho tot en un mateix lloc. Això no vol dir que sempre sigui la decisió correcta.
¿Por qué? Normalmente nuestros clientes querrán que sus usuarios se conecten todos a un mismo sistema, aplicación o red. Sirve para unificar métodos, proyectos y la comunicación, y muchos están acostumbrados a tener todo en un mismo lugar. Esto no quiere decir que siempre sea la decisión correcta.
Podem discernir entre els beneficis i els desavantatges dels microserveis:
Com ja hem dit algun cop, cada empresa i cada client és un món. Tots tenen necessitats diferents que requeriran un procés de disseny i estratègia.
Per sort, molts clients també volen característiques molt semblants si busquen el mateix servei o pertanyen al mateix sector. Després de tot, si funciona a la competència, per què no t’ha de funcionar a tu?
És molt útil crear una guia orientativa, tant per als teus programadors com per als teus clients, on expliquis les necessitats més comunes de cada tipus de projecte i les vinculin a un dels dos sistemes de treball per poder prendre la millor decisió des del principi i facilitar el procés al teu client.
Per exemple, els ERPs i CRMs solen ser aplicacions monolítiques pel seu ús des de sistemes molt concrets (ordinadors de treball), mentre que els microserveis s’estan emprant més per a aplicacions amb diversos tipus de dispositius al cap i un nombre ampli de connexions ( IoT, web, mòbil, …).
Amb aquests elements a la mà, hauríem de ser capaços de recomanar als nostres clients si una arquitectura de microserveis s’adequa o no a les seves necessitats. És molt arriscat basar tota la programació dels nostres clients en una sola tècnica. Especialment quan aquesta no s’adequa a tots els casos que hi ha als diferents sectors de treball.