Microservicios: la libertad de los desarrolladores y sus consecuencias

Seguramente has escuchado las razones por las cuales los "developers 10X" han abandonado los monolitos en favor de los microservicios. ¡Más fácil de entender y gestionar! ¡Mayor flexibilidad a través de componentes independientes! ¡Escalar! Etc. En su camino para inyectar prudencia en la transición de arquitecturas monolíticas a microservicios ("Los microservicios son, en esencia, una creencia religiosa que debemos abordar con escepticismo"), el consultor de la industria, Michael DeHaan, señaló una razón muy poderosa para los microservicios que no tiene nada que ver con el mérito técnico: los microservicios re-introducen la humanidad en el desarrollo de software.

Permíteme explicarlo.

Elige tu aventura

En realidad, dejemos que DeHaan lo explique: "[L]os microservicios existen principalmente porque los equipos quieren tomar sus propias decisiones, no les gusta la revisión de código ni los 'arquitectos' que los controlan y, en menor medida, quieren usar diferentes y más nuevos lenguajes". En otras palabras, desean expresar su creatividad con la menor cantidad de restricciones posibles.

Como se mencionó, los microservicios permiten que una empresa divida una aplicación en componentes independientes. Diferentes equipos pueden utilizar sus herramientas y lenguajes de elección. Es un paraíso de libertad, como ha dicho el analista de Gartner, Raj Bala: los microservicios te permiten "mezclar y combinar lenguajes de programación y frameworks como nunca antes".

¿Es esto algo importante? Absolutamente, señaló Sam Ramji, director de estrategia de Datastax: "La economía es psicología a gran escala. Incluso si [la cita de DeHaan anterior] fuera la única verdad, sería suficiente para construir una industria a su alrededor". ¿Por qué? Porque, enfatizó Damien Hocking, CTO de Madala Software, "el desarrollo sigue siendo una actividad centrada en los seres humanos".

En resumen, los microservicios brindan a los desarrolladores la oportunidad de expresarse utilizando sus enfoques de programación preferidos. Eso es algo importante.

El cierre gradual de la brecha salarial en los equipos de DevOps: informe 2021

No obstante, esta libertad para elegir como desarrollador no viene sin costos. Como DeHaan explicó en detalle:

"A medida que buscamos evitar la revisión de código, los cambios en un microservicio pueden requerir que cientos de equipos diferentes realicen un cambio correspondiente. La compartición de código entre lenguajes también se pierde por completo, ya que las funciones básicas deben reinventarse, a veces con lógica de negocio diferente de manera desafortunada! ... [Además, los] microservicios invierten ... cosas [como el seguimiento de pila completa], y nos dejan con comunicaciones ineficientes, menos detección de errores en desarrollo, formas más fáciles de introducir errores, una experiencia de depuración considerablemente peor que depende de buscar más a través de herramientas distribuidas de análisis de registros, sistemas que se bloquean con más frecuencia y requieren cada vez más software de gestión para implementar".

Y, sin embargo... el lado humano.

Tal vez DeHaan tenga razón. Tal vez, en nuestra prisa por adoptar los microservicios, "hemos complicado en exceso nuestras infraestructuras de TI, perdido eficiencia en nuestras implementaciones en la nube y convertido la depuración en un verdadero infierno". Tal vez. Y tal vez la nube haya conspirado para hacer posible todo este caos. Tal vez.

Pero volviendo al punto de Ramji, el "caos" supuestamente creado por los microservicios vale la pena si otorga libertad a los desarrolladores. Podemos argumentar que las cosas deberían ser diferentes, pero durante décadas hemos permitido que los desarrolladores actúen por sí mismos y no sean controlados (excepto por esas consecuencias no deseadas que DeHaan menciona) a través del software de código abierto, la nube y más. No se puede negar que los microservicios crean muchos problemas en su camino hacia la autonomía del desarrollador, como he señalado.

Pero hay una razón por la que siguen siendo populares, a pesar de esos problemas. La libertad del desarrollador es una droga poderosa. Las mejores organizaciones descubrirán cómo maximizar esa libertad al tiempo que imponen la suficiente estructura para minimizar algunos de los problemas que los microservicios pueden introducir.

¡Domina Python y despega en tu carrera de programación con este entrenamiento!

Divulgación: Trabajo para MongoDB, pero las opiniones expresadas aquí son mías.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Microservicios: la libertad de los desarrolladores y sus consecuencias , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.