Qué son los microservicios y para qué sirven
Las aplicaciones tradicionales tienen una arquitectura monolítica, en la que tenemos la interfaz de usuario, la capa de negocio, la capa de base de datos y la persistencia. En la arquitectura por microservicios lo que se hace es separar esas capas en diferentes servicios, y en lugar de tener una página web en un solo servicio, la tendríamos dividida en varios servicios diferentes.
Los micro servicios sirven para poder desarrollar software de gran calidad y gran robustez de una manera más rápida y eficiente, ya que de esta manera se consiguen ciclos de desarrollo más cortos.
Ventajas de usar microservicios
Las ventajas más importantes que se obtiene a la hora de utilizar microservicios son:
- Se consiguen aplicaciones listas para comercializarse más rápidamente, debido a este ciclo de desarrollo más corto.
- Tenemos una gran capacidad escalabilidad, ya que cada microservicio puede escalar por su cuenta y no hay que escalarlos todos al mismo tiempo.
- Se obtiene bastante resiliencia, debido a que si se cae un servicio no tiene por qué caerse los demás.
- Mayor facilidad de implementación, porque una vez esté todo configurado es bastante fácil de implementar.
- Tiene bastante accesibilidad para los desarrolladores.
- Se tienen aplicaciones más abiertas porque permiten el uso de un mayor número de APIs.
Desventajas de usar microservicios
El uso de microservicios también presenta algunos inconvenientes, como son los siguientes:
- El inconveniente principal es el diseño, ya que antes de ponernos a programar tenemos que tener un buen diseño, ya que de lo contrario nos costará mucho desarrollar microservicios.
- Es necesario automatizar nuestras pruebas y tener bastante cobertura de tests.
- El despliegue tenemos que hacerlo de manera automatizada también, si no será muy compleja.
- La implementación hay que hacerla también de la misma forma.
- En el caso del registro, lo que se necesita es que tenga un registro de sitios a los que ha accedido el microservicio, los eventos que recibido y que ha emitido, para poder tener un historial de buscar cada paso por el que ha pasado el microservicio.
- Con la monitorización ocurre lo mismo, para ver el estado del microservicio y la capacidad que tiene o no.