SCROLL
TO EXPLORE

Los microservicios en el corazón de la digitalización

Felipe SilbersteinAugust 22, 2022

Las arquitecturas modulares nos permiten desarrollar aplicaciones fáciles de escalar y conformadas con los mejores componentes en su clase.

Optimizan la innovación digital y aceleran el tiempo de comercialización, bien sea de la plataforma en su totalidad o de las características que vamos adicionando a lo largo del tiempo.

Los microservicios, conectados mediante llamadas API, son el componente más importante en en el enfoque de esta arquitectura. De ahí que nosotros y desarrolladores en todo el mundo los consideremos el corazón de la transformación digital de la economía y las empresas a nivel global. Vale la pena conocer las tendencias del momento al respecto y cómo aportan a la digitalización

Los microservicios en el corazón de la digitalización
spare-parts
spare-parts

Tendencias de desarrollo en microservicios

La arquitectura modular es muy popular entre desarrolladores. En 2021 fue usada por el 37 % de las organizaciones encuestadas en todo el mundo, según un informe del Statista. Al ser uno de sus elementos fundamentales veremos las tendencias que impulsan y fortalecen el desarrollo basado en esta tecnología:

Kubernetes (también conocida como kube o k8s)

Plataforma de código abierto y extensible para gestionar y orquestar clústeres de aplicaciones y contenedores, elemento fundamental para crear el entorno apropiado para ejecutar el microservicio o aplicación y mantenerlo aislado de los demás.

Se ha convertido en un estándar de desarrollo modular porque nos permite administrar y distribuir eficientemente cualquier cantidad de contenedores, así como implementar reparaciones automáticas en los mismos, equilibrar cargas de tráfico en la red y migrar de un entorno y desplegarlo en otro con mayor facilidad.

Operaciones de Inteligencia Artificial (AIOP)

Se refiere al uso de IA y Machine Learning para desarrollar herramientas de automatización de flujos de trabajo de los equipos de operaciones de TI. Por ejemplo, en el contexto de los microservicios, la nube y la contenedorización distribuida, podemos utilizarla para automatizar la identificación de brechas de seguridad y cambios en las estructuras de datos.

DevOps (development & operations)

Conjunto de principios, prácticas y herramientas de desarrollo de software que impulsa la colaboración, comunicación e integración entre equipos de desarrollo, operaciones de TI, seguridad e ingeniería de la calidad. El objetivo es promover la evolución continua y la creación de software de mayor calidad y confiabilidad.

En el ámbito de los microservicios, lo empleamos para implementar y probar los componentes funcionales y no funcionales en todas las fases del proyecto, aportando agilidad al desarrollo y despliegue continuo de software. Además, facilita una gestión de incidentes y de servicios de TI rápida, oportuna y eficiente, independientemente del nivel de complejidad de la arquitectura y la cantidad de entornos en que se encuentre desplegada.

Serverless

Significa arquitectura sin servidor. Nos permite ejecutar aplicaciones sin necesidad de aprovisionar y administrar infraestructura de servidores, ya que esta es realizada por el proveedor de nube. En cierta forma es una plataforma de funciones como servicio, muy pertinente en el desarrollo ágil y perfecto complemento de los microservicios a la hora crear un entorno ideal para el desarrollo y entrega cloud/native.

Malla de Servicios (Service Mesh) para la seguridad de contenedores

Se trata de una capa de infraestructura dedicada para comunicar servicios o microservicios entre sí, utilizando un proxy. Es decir, opera como una malla que conecta los microservicios, además de facilitar la vigilancia, escalabilidad y alta disponibilidad sin necesidad de hacerlo en cada uno de los componentes de la aplicación.

Los microservicios en el corazón de la digitalización 2

¿Cómo los microservicios aceleran la construcción de arquitectura digital modular?

La arquitectura modular permite crear plataformas complejas e integrar funcionalidades a partir de módulos pequeños bien definidos. Por ejemplo, los microservicios, elementos autocontenidos que se comunican mediante APIs y usualmente son empaquetados en contendedores.

La aislación entre los diferentes componentes de la aplicación, con el objetivo de que cada uno de ellos opere como una aplicación en sí misma, permite escalar de forma independiente, incluso mediante procesos de orquestación y automatización. Veamos un caso de éxito:

Emirates NBD Group, migración de arquitectura monolítica a una modular

En 2017, el grupo bancario Emirates NBD Group, líder en Oriente Medio, África del Norte y Turquía (MENAT), vio cómo su capacidad TI resultaba insuficiente para satisfacer la creciente demanda de productos y servicios digitales innovadores. Entonces se plantearon la pregunta, ¿cómo podemos mejorar?, e hicieron un diagnóstico.

La revisión arrojó como resultado una serie de diferentes tecnologías en uso, difíciles de integrar y desalineadas con las distintas ubicaciones del grupo bancario. Esto encarecía y ralentizaba las iniciativas de transformación digital y menos permitía innovar. Era imprescindible actualizar por completo la arquitectura TI y simplificar la integración entre plataformas.

La transformación no fue un replatforming abrupto, sino que partes del viejo sistema fueron reutilizados mediante el enfoque desacoplado, comunicando vía API la vieja plataforma con la nueva.

Las API fueron claves en el proceso porque permitieron modularizar todos sus recursos TI. Hoy están en el centro de su arquitectura y juegan un rol importante en la estrategia digital, basada en tres elementos fundamentales:

  • Sahab (nube): las aplicaciones operan en una plataforma de nube privada completamente automatizada.
  • Bawaba (puerta): se trata de la plataforma API para todo el grupo, que gestiona más de 800 microservicios y comunica todos sus canales, aplicaciones y plataforma de datos.
  • Manara (faro): se trata de la plataforma de datos empresariales que permite el intercambio de datos en tiempo real entre las aplicaciones que conforman la plataforma.
    • “Un factor de éxito fue el talento, tener a los ingenieros y jefes de proyecto correctos, es clave para escalar a un ecosistema impulsado por API. Esto requirió encontrar un balance entre la contratación de nuevos miembros y el perfeccionamiento de los existentes”. - Neeraj Makin de Emirates NBD Group.

      Finalmente, al adoptar la arquitectura modular con microservicios, el grupo bancario incrementó significativamente la eficacia y eficiencia de entrega de su equipo TI. Además, generó valor comercial porque ahora pueden integrar fácilmente diferentes capacidades para optimizar la experiencia digital del cliente y hacer presencia con sus productos y servicios en diversas ubicaciones.

Desmitificando algunos aspectos de los microservicios y la arquitectura modular

El auge de este enfoque para desarrollar software, así como los beneficios mencionados a lo largo del texto, han derivado en falsas creencias que vale la pena aclarar:

  • Los microservicios no están pensados para ser más económicos en comparación a una arquitectura monolítica.
  • Facilitan el desarrollo, pero incrementan la complejidad de la plataforma, por lo que requiere un mayor grado de madurez de la estrategia.
  • Su implementación requiere profesionales con habilidades y conocimientos especializados.
  • Aunque el ecosistema API y microservicios es bastante amplio, no todos los componentes son viables en un proyecto determinado. Es necesario tener la capacidad para identificarlos y priorizarlos en función de su valor comercial.
    • Los aprendizajes que obtuvimos de este análisis

      Para empezar, adoptar la arquitectura de microservicios es el primer paso en el desarrollo de un ecosistema Cloud Native, que representa el futuro de las aplicaciones: predicciones de Gartner señalan que, las plataformas nativas de la nube fueron la base del 40 % de las nuevas iniciativas digitales, pero en 2025 la cifra superará el 95 %.

      La moraleja que tomamos de la experiencia que tuvo Emirates NBD Group, es que el éxito requiere del equipo ideal. Parte del tiempo que les tomó ver resultados fue capacitar y contratar personal especializado, te contamos que eso no estrictamente necesario, ya que asesorarte es una gran opción.

      ¿Quieres conocer resultados de nuestro trabajo?

      Te contamos que llevábamos tiempo trabajando con Embonor, cuando nos plantearon un gran desafío, alcanzar el objetivo de habilitar una plataforma B2C de eCommerce, con una experiencia digital de primer nivel, así como la interconexión de los sistemas para impulsar también una plataforma B2B.

      En ese caso, con Contentful, logramos gestionar todos los elementos de marketing y sincronizar un creciente catálogo de productos con el resto de los sistemas, llevándolos de cara al cliente sin interrupciones en los distintos canales digitales. Todo esto para brindarles la libertad de entregar experiencias memorables al usuario.

      Mientras, la vinculación entre sistemas se hizo con llamados API, optimizando por completo la arquitectura digital de la plataforma. Esto no pasó desapercibido para MACH Alliance, que distinguió este caso como el mejor proyecto B2B 2022.

      En Reign, somos expertos en la creación de soluciones flexibles y modulares, lo que nos hace el partner tecnológico indicado para ejecutar la transformación de tu infraestructura TI e impulsar tu agenda digital, solo debes tomar la decisión y nosotros no hacemos cargo de ejecutarla.