¿Por qué Edge Computing es un excelente caso de uso sobre microservicios y aplicaciones componibles?

Edge computing lleva los microservicios y aplicaciones componibles al próximo nivel. Descubre por qué es la mejor opción para crear aplicaciones modernas.

Vivian Seixas - Technical Researcher
¿Por qué Edge Computing es un excelente caso de uso sobre microservicios y aplicaciones componibles?

Si trabajas en tecnología, probablemente habrás oído hablar de los microservicios y las aplicaciones componibles (composable applications), así como de su importancia para el desarrollo de software y la transformación digital en el mundo hiperconectado actual.

Además, el crecimiento en el uso de arquitecturas componibles y PBC (Packaged Business Capabilities, capacidades comerciales empaquetadas) para crear aplicaciones ​​—se prevé que un 30 % de los comercios electrónicos usarán PBC para mejorar sus experiencias con aplicaciones para 20241​​— ha hecho que estos conceptos estén siendo utilizados ahora más que nunca.

Edge Computing: caso de uso para microservicios y aplicaciones componibles

Muchas preguntas pueden surgir sobre la importancia de los microservicios y las aplicaciones componibles para aplicaciones de edge computing.

Debido a que los datos se procesan en el edge, edge computing permite que la infraestructura se haga más ágil y centrada en los negocios. Además, mejora la eficiencia en la distribución de ingresos y recursos, al simplificar y reducir los costos de gestión de la infraestructura de TI.

Una de las formas de habilitar la eficiencia de esta tecnología es a través de la arquitectura construida con microservicios y aplicaciones componibles. O en otras palabras, es posible construir verdaderas plataformas modulares plug-and-play donde diferentes módulos puedan reconfigurarse y ensamblarse rápidamente para crear nuevas aplicaciones en arquitecturas de edge.

Ya que hablamos de la eficiencia de la arquitectura componible con microservicios y aplicaciones componibles en el edge, vamos a conocer mejor estas tecnologías y cómo se comparan con la arquitectura monolítica heredada.

Comparación de los microservicios y las aplicaciones componibles con la arquitectura monolítica heredada

Tanto los microservicios como las aplicaciones compuestas tienen el mismo objetivo: utilizar un enfoque modular en lugar de uno monolítico para crear aplicaciones.

Por otro lado, si pensamos en las definiciones de estos términos, podemos identificar toda una serie dediferencias.

Pero antes de hablar de eso y de cómo estas tecnologías son más modernas que las aplicaciones monolíticas, profundicemos en nuestra reflexión sobre los puntos donde convergen.

¿Cuáles son las similitudes entre los microservicios y las aplicaciones componibles?

Como dijimos, los microservicios y las aplicaciones componibles son ideas similares con el objetivo compartido de desarrollar sistemas de software escalables y modulares.

Además, estos dos enfoques también comparten beneficios.

El primero es que tanto las aplicaciones componibles como los microservicios brindan una mayor flexibilidad a la infraestructura de TI.

En la práctica, ¿cómo ayudan a los equipos de desarrollo?  Permitiendo crear nuevos recursos de desarrollo más rápido y de forma modular y reutilizable.

Además mejoran el “hands-on” de los equipos de tecnología, al hacer que el desarrollo de software sea más ágil, adaptable y escalable, de modo que también son elementos clave para el modelo comercial de agilidad empresarial.

Permiten también la creación de nuevas funcionalidades de forma independiente, un gran avance para las empresas digitales en relación con la modernización de sus aplicaciones y arquitecturas monolíticas heredadas.

Y ahora llegamos a otro punto que suele ser objeto de dudas: ¿en qué se diferencian los microservicios y las aplicaciones componibles de las aplicaciones monolíticas?

Veámoslo a continuación.

¿Cuál es la diferencia entre aplicaciones monolíticas y microservicios?

A diferencia de la arquitectura monolítica, los microservicios constan de muchos componentes independientes y cada uno de los cuales realiza una sola tarea, como por ejemplo cobros o envíos. En lugar de presentar acoplamientos rígidos, los microservicios están espaciados e interactúan entre sí a través de las API.

Imagen con la diferencia entre arquitecturas monolíticas y de microservicios

Diferencia entre arquitecturas monolíticas y de microservicios
 

Consulta el artículo Aplicaciones monolíticas versus microservicios si quieres profundizar en el tema.

¿Cuál es la diferencia entre aplicaciones monolíticas y componibles?

Las aplicaciones componibles difieren de las monolíticas en que las segundas se crean e implementan como unidades individuales, con poca delimitación entre sus componentes y procesos fuertemente acoplados.

Es decir, si ocurre algún problema con una aplicación monolítica, todo su proceso se ve afectado. Ya con una aplicación componible, esto no sucede.

Imagen con la diferencia entre aplicaciones monolíticas y componibles

Diferencia entre aplicaciones monolíticas y componibles
 

Todo esto nos llevará también al tema de las PBC (Packaged Business Capabilities, capacidades comerciales empaquetadas) y los componentes reutilizables (building blocks) si buscamos una explicación más detallada sobre las aplicaciones componibles.

Para saber más, echa un vistazo al artículo Aplicaciones componibles: qué son y por qué son necesarias.

En este sentido, al contrario de lo que sucede en una aplicación monolítica, tanto los microservicios como las aplicaciones componibles se dividen en partes más pequeñas.

Diferencias entre microservicios y aplicaciones componibles

Ahora que entendemos mejor los microservicios y las aplicaciones componibles, retomemos la pregunta inicial: ¿hay alguna diferencia entre ellos? Desde un punto de vista conceptual, sí.

Los microservicios se basan en un enfoque arquitectónico para la construcción de sistemas de software. Se trata de una colección de pequeños servicios independientes que se comunican entre sí a través de API. 

Cada microservicio está diseñado para ejecutar una función de negocios específica y puede ser desarrollado, implementado y escalado independientemente de otros servicios. Por lo tanto, los microservicios a menudo se utilizan para crear aplicaciones grandes y complejas compuestas por muchas partes más pequeñas e interconectadas.

Por otro lado, las aplicaciones componibles son sistemas de software construidos utilizando una colección de componentes débilmente acoplados que pueden ser ensamblados y desmontados para crear diferentes aplicaciones. Estos componentes pueden ser microservicios, pero también otros tipos de componentes modulares, como funciones, bibliotecas o módulos.

En cierto modo, los microservicios ayudan a crear aplicaciones componibles, pero no es necesario que esto sea siempre así. Por ejemplo, si piensas en las aplicaciones componibles, puedes imaginar: “Voy a construir una aplicación que tiene diez tipos diferentes de servicios. Una opción es escribir todos los servicios desde cero, pero no quiero hacerlo. Quiero componerla porque alguien más escribió una aplicación que funciona como parte de la mía. Entonces, básicamente, junto todas estas partes como un bloque de Lego y creo una aplicación que puede ser combinable”.

Por lo tanto, la principal diferencia parece ser una cuestión conceptual y teórica, ya que los microservicios son un enfoque arquitectónico específico para la construcción de sistemas de software, mientras que las aplicaciones componibles son un concepto más amplio que abarca varios enfoques para la creación de sistemas de software modulares y escalables.

En resumen: los microservicios son un tipo de componente que se puede utilizar en aplicaciones combinables y una aplicación componible se puede crear también utilizando microservicios, así como otros tipos de componentes.

¿Cuál es el papel de los microservicios y las aplicaciones componibles en la arquitectura MACH?

Hablar de microservicios y aplicaciones componibles nos lleva a pensar en otro tema: la arquitectura MACH.

MACH es la abreviación de cuatro tecnologías:

Basada en microservicios: se opone a la arquitectura monolítica heredada, donde todos los componentes se fusionan en una sola base de código.

API-first: permite que el software se comunique con otras soluciones a través de API.

Cloud-native SaaS: construida inicialmente en la cloud, aprovecha el potencial de cloud computing, incluyendo almacenamiento, escalabilidad ilimitada y actualizaciones automáticas.

Headless (sin encabezados): basada en la separación de las capas front-end y back-end, permite actualizaciones rápidas y libertad en el diseño de la interfaz de usuario.

En este sentido, no podemos ignorar que, a medida que las empresas globales consideran cada vez más cambiar de una tecnología monolítica a una componible de última generación que promueva una mayor agilidad en los negocios, los microservicios y las aplicaciones componibles juegan un papel significativo en la arquitectura MACH y en el desarrollo de una tecnología más moderna.

MACH es un tema importante a tratar, pero lo exploraremos más a fondo en otra publicación.

¿Por qué edge computing es más adecuado para MACH?

Edge computing se ha convertido en una parte esencial del acrónimo MACH, ya que muchas empresas han reconocido sus beneficios en comparación con la cloud.

Con edge computing, las empresas pueden mejorar la seguridad, reducir la latencia y aumentar la escalabilidad, estos son algunos de los motivos por los que esta tecnología es ideal para crear aplicaciones.

Una plataforma de edge computing como la de Azion brinda la capacidad de procesar datos de forma rápida, ya que aprovecha el almacenamiento local, disminuye la latencia y proporciona mayor privacidad en comparación con la cloud. Esto significa que las aplicaciones pueden desarrollarse rápidamente sin los retrasos o costos asociados a una solución basada en cloud.

El edge elimina la necesidad de una integración cara y compleja con la cloud, lo que permite una implementación más rápida y costos más bajos de mantenimiento. Además, proporciona una forma segura de almacenar datos confidenciales, ya que los datos permanecen en la red local y no en la cloud.

También combina unidades de pequeña escala de recursos informáticos de varias fuentes, lo que permite la rápida creación de nuevos servicios y configuraciones mientras se acomoda la demanda de usuarios a gran escala.

Cuando se conocen los beneficios que brinda el edge, las empresas pueden aprovecharlos para llevar su arquitectura MACH al siguiente nivel.

Conclusión

Tanto los microservicios como las aplicaciones componibles son componentes reutilizables necesarios para que edge computing impulse nuevos modelos de negocio. Además, se encuentran básicamente en el mismo universo de la composición de aplicaciones rápida y fácil para sistemas de software modulares y escalables, además de minimizar costos y optimizar la eficiencia cuando se trata de aumentar la agilidad empresarial y la resiliencia.

En resumen, la flexibilidad, el tiempo de creación de valor y el tiempo de comercialización que ofrecen los microservicios y las aplicaciones componibles son imprescindibles para la transformación digital.

Con respecto a la diferencia entre microservicios y aplicaciones componibles, ¿qué piensas? ¿Existe una distinción entre estas tecnologías?

Deja tu opinión en la sección de comentarios.

Referencia

1 Composable Commerce Must Be Adopted for the Future of Applications (Gartner)

Suscríbete a nuestro boletín informativo