¿Qué son los microservicios?

¿Qué son los microservicios?

La arquitectura de microservicios ha sido un tema candente desde mediados de la última década y aparentemente todo el mundo busca hacer el cambio. Pero, ¿ha estado a la altura de las expectativas? En este blog explicaremos la diferencia entre un servicio monolítico y los microservicios y cuál es mejor para cada negocio.

Uber: refactorización de miles de microservicios

Uber es un gran nombre que se aleja de los microservicios, con Gergely Orosoz , quien en ese momento era gerente de ingeniería de la compañía, compartiendo las noticias en Twitter:

Kelsey Hightower: “Los monolitos son el futuro”

Si no son microservicios, ¿entonces qué? Kelsey Hightower escribe en changelog.com:

Los monolitos son el futuro porque el problema que la gente está tratando de resolver con microservicios realmente no se alinea con la realidad… y he hecho esto antes, pasé de microservicios a monolitos y viceversa“.

Sam Newman:  “deberían ser el último recurso”

El consultor de nube Sam Newman tiene su propia opinión sobre los microservicios. En su presentación sobre Patrones de descomposición de monolitos en QCon London 2020, dijo que el monolito no es el enemigo y los microservicios no deberían ser una opción predeterminada. En su libro, Monolith to Microservices , Newman aconsejó a las personas que se centraran en el resultado, no en la tecnología, y que siempre recordaran que el objetivo es la implementación independiente.

¿Qué está pasando con los microservicios?

¿Por qué tantos proyectos se han vuelto inmanejables con microservicios, a pesar de su promesa de simplicidad y flexibilidad? ¿Son mejores los monolitos, después de todo?

Los microservicios siempre se han posicionado como una solución para bases de código monolíticas. Pero, ¿los monolitos son necesariamente un problema? Según la definición de Wikipedia, una aplicación monolítica es autónoma e independiente de otras aplicaciones informáticas. Un monolito puede ser beneficioso si la velocidad es más importante que la arquitectura perfecta, que suele ser el caso de las nuevas empresas que trabajan con fondos limitados que necesitan comenzar a vender para sobrevivir.

En última instancia,  podrían hacer la vida más fácil para esas nuevas empresas, pero conllevan costos iniciales que requieren madurez para soportar. Para ser claros, los microservicios no “arreglan” monolitos. El problema real que los microservicios deberían resolver es la incapacidad de cumplir los objetivos comerciales porque un sistema no puede soportar un crecimiento exponencial o la empresa no puede soportar costos de cambio impredecibles.

El costo incontrolable del cambio no es propiedad de un monolito sino de una gran bola de barro.

Gran bola de barro

Una gran bola de barro es una jungla de código espagueti desordenadamente estructurado, extenso, con cinta adhesiva y alambre para empacar. Estos sistemas muestran signos inconfundibles de crecimiento descontrolado y reparaciones oportunas y repetidas. La información se comparte de manera desmedida entre elementos distantes del sistema, a menudo hasta el punto en que casi toda la información importante se vuelve global o duplicada.

¿Por qué microservicios?

Una buena arquitectura de microservicios es elegantemente simple, pero no es fácil, rápida o accidental. En la actualidad, existen muchos ejemplos de microservicios excelentes, maduros y a gran escala, incluidos Twitter, Amazon, Spotify y LinkedIn, pero hay una razón por la que todos comenzaron como aplicaciones monolíticas y luego evolucionaron. Nunca permitas que la búsqueda de la perfección técnica se interponga en el camino del éxito empresarial. Una arquitectura pragmática significa que las opciones tecnológicas deben satisfacer las necesidades comerciales, no al revés.

También te puede interesar: 4 modelos de software Procure to Pay

Construimos sistemas, no conjuntos de servicios

En BMC, utilizamos una arquitectura basada en microservicios para optimizar el diseño de un sistema, no el diseño de servicios individuales. Los microservicios no pueden, y nunca estarán, completamente desacoplados ni completamente independientes. No se puede construir un sistema con componentes independientes.

Entonces, ¿cuál es la respuesta? ¿Microservicios, Miniservicios 0 Macroservicios? Hablaremos de eso en nuestra próxima entrega, mientras tanto te invitamos a conocer las soluciones de gestión de servicios que tenemos disponibles como BMC Helix Remedyforce es una herramienta de gestión de servicios de TI que se adapta fácilmente a las necesidades de las empresas medianas. Basado en la nube de Salesforce, le permite combinar perfectamente la gestión de operaciones de TI (ITOM) y las capacidades cognitivas para garantizar que el negocio sea eficiente, seguro y cumpla con las normas. Contacta a nuestros expertos y solicita una demostración personalizada para encontrar una solución que se adapte a las necesidades de su negocio.

Consulta la información original en inglés.

¿Cómo alcanzar la transformación digital con Low-Code?

Low-Code puede ser una herramienta que te ayude a no fallar en tu intento por alcanzar la transformación digital en tu empresa

Fases y mejores prácticas para la gestión de proyectos de software

En este artículo analizamos la gestión de proyectos de software incluidas cuatro fases para ayudar a tu empresa a escalar sus proyectos.

Implementa tu solución de IA Generativa con éxito

La IA generativa es una de las tecnologías emergentes más interesantes en la actualidad y podría revolucionar muchas industrias.

Primeros pasos para la automatización de servicios empresariales sin dolor

Exploramos cuál es la necesidad de automatización de servicios, cuáles son los desafíos, y cómo podemos hacerlo de manera efectiva sin dolor.

Innovaciones en la IA Generativa de BMC HelixGPT

Conoce las nuevas innovaciones de BMC HelixGPT la nueva herramienta de Inteligencia Artificial Generativa de BMC

Conoce los beneficios del nuevo BMC Helix IT Operation Management

Conoce la nueva versión de BMC Helix IT Operation Management ha mejorada sus capacidades de descubrimiento y visibilidad en el entrono de TI.

Paso a paso para lograr una digitalización exitosa

Para 87% de los CIO’s la digitalización es prioridad. Pero, el éxito de las iniciativas de transformación radica en la etapa de madurez.

Orquestación de flujos de trabajo y aplicaciones en el mercado minorista

Los grandes minoristas aprovechan el poder de la orquestación del flujos de trabajo de datos y aplicaciones para optimizar sus suministros.

Capacidades de DevOps habilitadas por Jobs-as-Code

Analizamos Jobs-as-Code como un enfoque de DevOps que ayuda a definir, programar, administrar y monitorear flujos de trabajo en producción.

Obtén visibilidad profunda del entorno de TI con el nuevo BMC Helix ITOM

BMC Helix Operations Management está repleto de nuevas innovaciones que brindan visibilidad incomparable en tiempo real del entorno de TI.