¿Qué son los microservicios?

Hoy vamos a intentar responder a ¿qué son los microservicios? ¿cómo funcionan? Y lo más importante, ¿para qué sirven?

 

Hay dos tipos de personas, las que saben perfectamente qué son los microservicios y las que nunca han oído hablar sobre ellos, pero deberían. Hoy este post vamos a intentar dar respuesta a estas preguntas.

 

¿Qué son los microservicios?

 

Su propio nombre lo explica, los microservicios son “pequeños” servicios que se comunican para conformar una infraestructura completa. Cada uno de estos “pequeños” servicios funciona de forma independiente pero se complementa a la perfección con el resto para ofrecer una solución sólida.

Los microservicios son una forma de estructurar el desarrollo del software de manera que resulte mucho más sencillo escalar e incorporar nuevas características a las aplicaciones. Este sistema además permite que el desarrollo sea más ágil y rápido, por lo que podemos innovar e incorporar cambios de una forma mucho más sencilla.

En otras palabras, podríamos decir que los microservicios son una caja llena de Legos, que nos permiten montar diferentes figuras añadiendo y quitando bloques. Esta libertad de movimiento y creatividad poco tiene que ver con la que nos dan los muñecos de plástico, con los que poco se puede hacer, más allá de cambiarles la ropa. Esto sería lo que ocurre con las infraestructuras opuestas a los microservicios: las arquitecturas monolíticas, las cuales usan una base de código única para sus servicios o funcionalidades.

 

¿Para qué sirven los microservicios?

 

Los microservicios nos dan flexibilidad y una mayor capacidad para hacer y revertir cambios. Cada uno de los servicios que componen una estructura de microservicios cuenta con un desarrollo individual e independiente, lo que permite volcar todos los esfuerzos en un solo servicio: se desarrolla para ese servicio, se prueba ese servicio y en caso de que no funcione volvemos atrás, pero sin tener que implicar al resto de servicios. Así somos más rápidos y los costes por realizar cambios son menores.

 

Algunas características que nos ofrecen los microservicios:

 

– Libertad a la hora de desarrollar: no todos los bloques funcionan ni se comportan igual, y el hecho de que sean independientes nos permite jugar con diferentes herramientas a la hora de desarrollar o realizar cambios. Podemos ser más precisos y usar las soluciones más adecuadas.

– Rapidez a la hora de implementar cambios: si cambiamos la pieza y no encaja solo tenemos que retirarla, hacerle unos cambios y volver a probar suerte. Si sigue sin funcionar podemos buscar otra. Trabajar con servicios independientes nos permite ser más ágiles cuando hacemos pruebas y cambios, solo tenemos que centrar la atención en una pequeña parte del todo.

– Flexibilidad y mayor capacidad de adaptación: si necesitamos más funciones las desarrollamos y las integramos, de nuevo de manera independiente. Cuando dependemos de una arquitectura monolítica todo debe estar integrado con el desarrollo principal, lo que dificulta crear nuevas funcionalidades. Con los microservicios nos olvidamos de estos problemas.

– Mayor fortaleza y estabilidad: las arquitecturas monolíticas son más inestables debido a que un solo fallo en cualquier parte puede hacer caer la aplicación. En el caso de los microservicios, puede haber un problema pero solo afectará al “pequeño” servicio en el que se encuentre localizado sin afectar al resto de los servicios. Esto nos permite localizar los fallos más fácilmente, trabajar sobre ellos y arreglarlos sin tener que tocar los demás bloques.

 

Por lo tanto, ¿para qué sirven los microservicios? Para desarrollar aplicaciones con mayor libertad, rapidez, flexibilidad y estabilidad.

 

¿Cómo funcionan los microservicios?

 

Como ya hemos explicado, la infraestructura de los microservicios se compone de diferentes servicios independientes que se complementan y adaptan para ofrecer una aplicación o servicio único y completo.

¿Un ejemplo de microservicio? No es difícil encontrar ejemplos, solo tienes que desbloquear el móvil y ahí lo tienes: Netflix y Amazon son algunos de los servicios que funcionan con este tipo de infraestructuras.

 

– Netflix. ¿Cuánta gente puede conectarse a ver el estreno de una serie un viernes por la noche? Imposible visualizar una cifra que se aproxime a la realidad. Son muchas las solicitudes que recibe la plataforma para ver contenido en streaming. Pero el peso de este tráfico lo soporta haciendo llamamientos a diferentes servidores que le permiten retransmitir con una mayor estabilidad.

– Amazon. Cuenta con una infraestructura de microservicios que le permite funcionar con fluidez, pero además presta ofrece su propio servicio de microservicios a través del cual ofrece soluciones a otros clientes con el objetivo de gestionar sus bases de datos o la información en la nube.

 

Si te ha picado el gusanillo de los microservicios y quieres seguir aprendiendo más sobre ellos no te pierdas nuestro Máster de Microservicios.

 

 

¡Pídenos información!

 

No Comments

Comments are closed.