Microservicios y APIs: una unión necesaria

Las arquitecturas de microservicios están ganando protagonismo en empresas de todos los tamaños, pues son una de las formas más populares de diseñar aplicaciones de software. Los microservicios ofrecen una gran agilidad empresarial, lo que permite modificar y desarrollar nuevas aplicaciones más rápido en un enfoque tradicional de desarrollo monolítico. Empresas como Netflix, Google y Amazon, entre otras, ya han adoptado con éxito esta arquitectura, por lo que muchas otras han emulado el modelo.

Para la mayoría de empresas, la adopción y la transición a las arquitecturas de microservicios será un proceso evolutivo en el que las aplicaciones basadas en microservicios coexistirán e interactuarán con las tradicionales. Los microservicios tendrán que convivir con las aplicaciones tradicionales y los sistemas y procesos empresariales existentes, así como con los requisitos operativos y de cumplimiento actuales.

Por ello, las ventajas que ofrecen los microservicios vienen acompañadas de ciertas concesiones como la dispersión del servicio, una mayor complejidad y el riesgo de trabajo redundante. Las organizaciones necesitan aunar los microservicios y las API para implementar la arquitectura de forma eficaz.

El reto para muchas de ellas es aprender a combinar la arquitectura de microservicios con los muchos otros patrones de arquitectura que ya se han desplegado en la organización. El uso de APIs es una forma de gestionar la velocidad y flexibilidad que proporcionan los microservicios, y además mantiene a raya el nivel de complejidad. Una estrategia de API facilita la gestión de los microservicios y les permite coexistir con los sistemas heredados existentes, evitando su aislamiento de los sistemas esenciales. Combinar una arquitectura de microservicios con una estrategia de API holística es una manera contrastada de obtener las ventajas de los microservicios al tiempo que se limitan sus desventajas.

Cómo trabajan juntos los microservicios y las API

Hubo una época en que las API eran interfaces de código de programación de bajo nivel, pero ahora se han convertido en productos en sí mismas al adherirse a estándares como REST, lo que hace que resulten sencillas para los desarrolladores y presenten una disciplina más sólida para la gestión y la gobernanza. Los proveedores de API ahora compiten entre ellos por la atención de los desarrolladores y ha surgido toda una economía de APIs en torno al intercambio de valor entre usuarios y proveedores de APIs.

El cambio en las finalidades de las API también ha supuesto un cambio en sus requisitos técnicos. Las API necesitan ahora portales sofisticados para que los desarrolladores puedan descubrirlas y experimentar con ellas, así como mecanismos para registrarlas, pagarlas y regular su uso. Asimismo, debido a que las API se exponen de manera externa, necesitan las sólidas funciones de seguridad que proporciona un API Gateway. Todas estas características se engloban en la gestión de las API, una función que proporciona control, visibilidad y gobernanza para estos activos empresariales, cada vez más valiosos.

Este protagonismo de las API para consumo externo (y el valor que generan) plantea una pregunta: ¿hay alguna forma de conseguir el mismo valor con las API expuestas internamente? Ahora que las tecnologías de gestión de APIs han madurado, es posible la detección y el autoservicio de fuentes de datos, servicios y aplicaciones. De este modo, un mayor número de equipos de toda la empresa puede desarrollar software de forma controlada y visible, incrementando la productividad del equipo de TI y generando una economía de APIs interna.

Con una arquitectura de microservicios, el valor de una economía de APIs interna es aún mayor, porque a medida que los microservicios van creando más puntos de conexión, más difícil resulta controlar la conectividad. E intentar crear integraciones de punto a punto entre todos estos puntos de conexión es una receta para el desastre. En un entorno altamente distribuido como una arquitectura de microservicios, es esencial desarrollar una estrategia de APIs.

Una de las estrategias utilizadas por muchas empresas para exponer todos los servicios, ya sean basados en microservicios, monolíticos, locales o radicados en la nube, es la conectividad API-led. Este enfoque API-led de la integración es una forma holística y deliberada de usar distintos tipos de API reutilizables y hechas a medida, con objeto de exponer diversos servicios para su composición y recomposición a fin de crear funciones fácilmente modificables. Puedes obtener más información sobre la conectividad API-led.

A medida que se afianza la adopción de los microservicios, especialmente en las organizaciones consolidadas con una pila de TI heredada, el problema de integrar todos estos servicios y obtener valor de ellos es cada vez más acuciante. Es por ello que implementar una estrategia de integración API-led es tan importante para la eficacia de los microservicios en la mayoría de empresas.

Las API no solo salvan la brecha entre los microservicios y los sistemas tradicionales, también facilitan la tarea de crear y gestionar microservicios. Gracias a una estrategia de APIs, las empresas pueden exponer la funcionalidad de los microservicios en forma de productos, lo que puede generar valor empresarial tanto interno como externo.

Los productos de APIs estandarizados también ayudan a sufragar el considerable coste asociado a crear integraciones de punto a punto entre los sistemas heredados y las aplicaciones SaaS. Esta ventaja permite a las organizaciones conectar y desconectar fácilmente los microservicios según los requisitos empresariales, sin necesidad de cantidades ingentes de código personalizado. Las API otorgan las ventajas de los mecanismos estandarizados en tareas de gestión y supervisión de tráfico, registro, auditoría y seguridad de forma estandarizada en toda la empresa, a la par que se conserva la agilidad que demanda el negocio.

Estas API bien gestionadas también hacen posible la reutilización y detección de los microservicios. A medida que los equipos crean microservicios para las necesidades de un amplio grupo de personas, las interfaces de APIs posibilitan su detección. De esta manera, es posible ofrecer estos microservicios a un público más amplio, ya sea de manera interna o externa, y gestionarlos como función reutilizable.

Cómo MuleSoft ayuda a las empresas a implementar microservicios y APIs

Para facilitar la coexistencia de los microservicios y las API, resulta necesario desplegar una plataforma unificada capaz de integrar, gestionar y proporcionar visibilidad de cualquier integración de microservicios o sistemas heredados en la empresa, independientemente de su ubicación de despliegue, lo que permite la reutilización y el descubrimiento. Gestionar los microservicios con Anypoint Platform transforma la complejidad en un grupo de activos gestionables que pueden componerse y recomponerse según los requisitos empresariales.

Eso es justamente lo que consigue Anypoint Platform, una plataforma de conectividad unificada, mediante la conectividad API-led. Anypoint Platform permite la detección y reutilización de activos de TI, proporcionando a los equipos de línea de negocio, o de TI en un sentido más amplio, acceso autogestionado a los activos reutilizables. Gracias a esta característica, los equipos pueden entregar sus proyectos de integración de forma rápida y segura con la gobernanza de la TI central.

Empresas como Spotify están usando APIs y microservicios en su afán por optimizar los procesos empresariales y mejorar su agilidad y capacidad de respuesta. Este enfoque se ha aplicado en organizaciones tan diversas como Unilever, flydubai y bancos de importancia mundial. Unilever, concretamente, ha creado más de 80 microservicios para conectar aplicaciones de comercio electrónico con sistemas heredados repartidos por todo el mundo. Al combinar la infraestructura de microservicios con un enfoque de conectividad API-led, esta empresa de bienes de consumo masivo ha podido reducir el tiempo de desarrollo y desplegar las aplicaciones entre 3 y 4 veces más rápido.