¿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.

4 etapas para lograr una transformación digital exitosa

Exploramos ¿Cómo empezar tu transformación digital si fallar en el intento?, es cuestión de paciencia y respetar las etapas del proceso.

Libérate del caos de las hojas de cálculo y los correos electrónicos con automatización

Abordamos los peligros de gestionar el trabajo con hojas de cálculo y correos electrónicos y algunos desafíos al iniciar la automatización.

ServiceOps: simplifica la complejidad y acelera la innovación con BMC Helix

Conoce ServiceOps, la fusión de la gestión de servicios y operaciones, es un enfoque que está ganando terreno entre los negocios disruptivos.

Impulsar la innovación en la era de la IA con Connected Digital Ops

Connected Digital Ops es un nueva metodología que combina diferentes enfoques para aprovechar la IA en la gestión de operaciones

Elimina el Shadow IT e impulsa el cumplimiento y la seguridad

Shadow IT implica el uso de aplicaciones no autorizadas, que puede implicar enormes riesgos de seguridad y cumplimiento, aprende a mitigarlos

Desafíos de la gestión de activos tecnológicos y cómo superarlos

Un mal seguimiento y gestión de activos de TI, desde hardware y software o recursos virtuales pueden afectar la eficiencia operativa y riesgos

Enfoque AIOps para proveedores de servicios de comunicación

La inteligencia artificial para operaciones de TI – AIOps ayuda a los proveedores de servicios de comunicación a eliminar tareas manuales.

¿Comprar soluciones o desarrollarlas?, el dilema de Low-Code

Las soluciones low-code y no-code surgen cómo respuesta al dilema de las empresas que inician su viaje a la transformación digital ¿Comprar?

Principios básicos de ServiceOps y su impacto en el negocio

Analizamos ¿Qué es exactamente ServiceOps y por qué se está convirtiendo en una palabra de moda entre las organizaciones con visión de futuro?

Qué es IT Backlog y cómo está afectando las operaciones de TI

En el mercado altamente digitalizado de hoy, retrasar el desarrollo de aplicaciones es cotoso y el IT Backlog es el principal problema.