Thep Urai - Fotolia
Los casos de uso de microservicios más fuertes en la nube
A medida que los equipos de desarrollo recurren a la adopción de microservicios, ayuda hacer referencia a los mejores casos de uso. Aprenda los cuatro casos de uso de microservicios más importantes para su empresa.
La mayoría de los equipos de desarrollo empresariales terminarán usando microservicios alojados en la nube. La pregunta para la mayoría será por dónde empezar, porque escoger temprano a malos candidatos alentará o incluso desacreditará la adopción de microservicios. Los mejores casos de uso de microservicios se dividen en cuatro categorías, y cada empresa debe ver uno o más de estos para buscar sugerencias de candidatos de microservicios.
Desglose de casos de uso de microservicios
El primer caso de uso que debe revisarse es el uso de microservicios para facilitar la adopción de la nube. La mayoría de los equipos de desarrollo reconocen que las arquitecturas de aplicaciones para el uso óptimo de nubes públicas e híbridas son diferentes. Pocos están preparados para esbozar exactamente cuáles son esas diferencias y cómo el despliegue ordenado, las operaciones seguras y en cumplimiento, y la eficiencia completa del alojamiento pueden ser realizados. Los microservicios ofrecen un camino hacia un nuevo modelo de aplicación que se aloja fácilmente en el centro de datos, incluso en forma monolítica, y que se mueve fácilmente a una plataforma en la nube.
Los microservicios van más allá de la arquitectura orientada a servicios (SOA) en la definición de un modelo de servicio que es dinámico en términos de servicios vinculantes. Un microservicio es una unidad de funcionalidad diseñada (si se hace correctamente) para ser sin estado y escalable y, al mismo tiempo, para estar conectada en un sentido de carga combinada, un sentido estrechamente acoplado o un sentido de acoplamiento suelto. Puede integrar microservicios y componentes de la aplicación principal en una sola imagen de máquina, replicando los servicios y evitando los problemas de conexión e integración de componentes. Los mismos microservicios pueden ampliarse como servicios compartidos controlados utilizando un gestor de API que replica los mecanismos SOA para la seguridad y luego se exponen en forma RESTful donde la gobernabilidad lo permite. Ese rango de opciones es incomparable en el diseño de aplicaciones, y es una rampa perfecta para la computación de nube.
El segundo caso de uso de microservicios se centra en dar una mirada más centrada en el negocio a los objetivos clásicos SOA, a través de microservicios. Los microservicios, para ser eficientes, exigen que los arquitectos de aplicaciones se asocien más con los arquitectos empresariales para identificar las funciones empresariales reutilizables que pueden convertir en microservicios. Esa es una salida importante y valiosa del modelo SOA tradicional, en el cual los servicios se definieron principalmente sobre la base de consideraciones técnicas. Las empresas se han dado cuenta hace poco que es necesario evaluar los elementos de TI y la componentización con mayor base en los negocios, pero han estado confusas sobre cómo empezar.
Una buena estrategia de microservicios comienza identificando las funciones de negocios de las aplicaciones, y luego asignando funciones comunes o muy similares entre aplicaciones. Estas funciones se convierten en objetivos para la creación de microservicios, aunque es importante esperar que algunos tendrán que ser generalizados para maximizar la reutilización y algunos pueden asignarse a una serie de microservicios en lugar de a uno solo, basado en objetivos técnicos, como comportamiento sin estado y escalabilidad.
El caso de uso de microservicios número tres es utilizar microservicios para tomar ventaja de la elasticidad y escalabilidad de la nube. Las empresas saben que el principal beneficio de la nube realmente no es un costo de computación más bajo, sino más bien una operación más eficiente y eficaz, lo que proporciona mayor agilidad empresarial y calidad de experiencia de la aplicación. El problema es que no siempre está claro cómo aprovechar las características de la nube para obtener esos beneficios. Los microservicios son la mejor respuesta.
La elasticidad o la escalabilidad significa expandir o contratar recursos de aplicación para que coincidan con la carga de trabajo y respondan a los fallos. Esto significa estructurar las aplicaciones para que los componentes de "cuello de botella" de las aplicaciones puedan tener múltiples copias instanciadas, y las cargas de trabajo puedan ser balanceadas entre las copias. Los microservicios ilustran cómo crear componentes para facilitar este proceso, y los mismos administradores de API que se utilizan para aplicar prácticas de seguridad/gobierno a los microservicios también se pueden utilizar para el equilibrio de carga y la administración de instancias.
Este caso de uso también puede ser visto como una forma de trasladar las aplicaciones al despliegue basado en contenedores, un objetivo cada vez más importante para las empresas que buscan la computación de nube. Debido a que los microservicios son elementos funcionales relativamente pequeños, se prestan al modelo de contenedores de baja sobrecarga, y se ha realizado un trabajo significativo para demostrar el matrimonio óptimo de las dos tecnologías.
El último, y quizás el más sofisticado, de los casos de uso de microservicios es crear la empresa impulsada por eventos. El diseño de aplicaciones se basa desde hace mucho tiempo en la noción de una aplicación como una serie de componentes vinculados a través de un flujo de trabajo estático, generalmente soportado a través de un bus de mensajes/servicios. La visión de TI empresarial como un conjunto de respuestas a los eventos de negocios es un modelo alternativo con un mayor impacto potencial –tanto en TI como en el negocio en general– que la componentización o la computación en nube. Sin embargo, los procesos empresariales impulsados por eventos también son un profundo desvío del diseño tradicional y un reto para arquitectos y desarrolladores.
Encontrar un caso de uso que funcione
Los microservicios apoyan un enfoque impulsado por eventos de las TI de negocios más directamente que cualquier otro desarrollo tecnológico actual. Los microservicios de grano fino implementados como funciones sin estado pueden ser empujados hacia fuera, al trabajador, según se necesite, y esto abre un modelo totalmente nuevo de diseño de aplicaciones, donde los componentes de funcionalidad son empacados según sea necesario y empujados a un camino entre el punto de origen del trabajador y el repositorio de información donde se recogen los datos de la empresa.
La mayoría de las empresas encontrarán relevante alguna de estas áreas de caso de uso de microservicios, y muchas encontrarán que varios de ellos (tal vez incluso todos ellos) aplican. Cuando usted agrega eso al hecho de que los microservicios no abordan automáticamente estos puntos, queda claro que los casos de uso son una guía para aplicar los microservicios, pero no necesariamente una hoja de ruta. Lo más inteligente es mirar todos los puntos anteriores y priorizarlos en términos de importancia inmediata y a largo plazo. Luego, ordene las características de microservicios asociadas con cada uno de los puntos importantes, y decida qué capacidades específicas de microservicios son las más importantes.
Los microservicios están todavía en su infancia, y es fácil cometer un error con ellos, porque las mejores prácticas en cualquier área determinada todavía son inmaduras. Eso significa que, tan valiosos como serán los microservicios, y lo son hoy en día, siguen siendo una estrategia más riesgosa que algo respaldado por más usuarios durante un período más largo. Tómese su tiempo para evaluar los casos de uso, y desarrolle cuidadosamente su propia estrategia de microservicios para prevenir errores tempranos que resultarán difíciles de corregir.