Header Ads Widget

Ticker

6/recent/ticker-posts

Las advertencias comerciales de los microservicios

 


En el espacio de la API, es casi omnipresente unir el concepto de la API moderna con el microservicio . Los consejos abundan, y los fanáticos afirman que la arquitectura de microservicios es la mejor aplicación posible de nuestro espíritu de codificación y nuestra conceptualización de diseño. Desafortunadamente, en algunos casos, la adopción de una arquitectura de microservicio puede no ser una opción empresarial eficaz.

Los microservicios se concibieron para permitir una respuesta rápida y una organización ágil . Implementados en ciertas situaciones, en realidad pueden tener el efecto inverso. No existe un enfoque milagroso, y aconsejar a un desarrollador que adopte microservicios sin dudarlo puede causar más daño que bien.

Hoy vamos a hablar sobre la naturaleza de los microservicios en la industria API actual. Examinaremos algunas teorías sobre cómo opera la industria actual y las realidades económicas en las mismas. Este artículo es un complemento de esta impresionante presentación de Uwe Friedrichsen en la Cumbre de la Plataforma de las APIs nórdicas 2018 ; muchos de estos conceptos son discutibles, pero representan una vista alternativa de los microservicios que deben considerarse en el contexto del espacio API moderno.

Vea a Uwe Friedrichsen en la Cumbre de Plataformas 2018 de las API nórdicas:

El problema: las realidades del mercado

“La oferta es mucho más alta en la mayoría de los mercados que la demanda, lo que crea una situación muy diferente [de los modelos tradicionales de oferta y demanda]. Ya no sabes cómo se va a vender este producto, lo que te da un alto grado de incertidumbre ”

A menudo agrupamos SaaS en el contexto de la economía industrial tradicional Normalmente, enmarcamos la idea en torno a la oferta y la demanda , en las que la demanda de soluciones eficaces es el principal impulsor. Por supuesto, esto da como resultado una situación en la que el mercado global dicta la solución API y las empresas deben moverse rápidamente, respondiendo a las demandas y requisitos en constante cambio para seguir siendo competitivos frente a empresas más pequeñas, más ágiles y más rápidas.

Quizás sea más fácil pensar en la economía moderna fuera del alcance de las tendencias generalizadas y más hacia los impulsores específicos que subyacen a este proceso. En esta era postindustrial, es la adaptabilidad de la organización, la flexibilidad y la velocidad lo que define el éxito.

Realidades de TI en el contexto económico

“La TI se ha convertido en el sistema nervioso empresarial. Todo el ADN empresarial está codificado en TI. Ya no podemos pensar en TI y negocios como separados. Se afectan entre sí muy de cerca ".

El problema es que, en términos de economía y organización empresarial, la necesidad de un movimiento rápido no encaja con la complejidad de las soluciones de TI y los requisitos comerciales que las respaldan. Para tener soluciones ágiles, potentes, eficientes y completas, sus estructuras comerciales subyacentes, y los recursos de TI que representan, se vuelven cada vez más complejas y difíciles de manejar. En cierto sentido, cuanto más se desarrolla la industria, mayor es este costo subyacente de TI y, por lo tanto, el costo comercial se vuelve.

Friedrichsen destaca esto en su presentación y presenta un concepto simple, pero poderoso: nos esforzamos por controlar nuestra TI de hoy basándonos en los conceptos comerciales que desarrollamos hace casi 50 años . Esto provoca una amplia gama de problemas, pequeños y grandes, que los microservicios, en muchos casos, solo perpetúan.

Otras opiniones: ¿Debería comenzar con un monolito o microservicios?

Los microservicios como cuestión organizativa

“Si realmente quieres ir rápido y lo piensas desde un punto de vista organizacional, terminarás con equipos autónomos multifuncionales con todas las habilidades que expones al mercado. El problema es que también tienen activos de TI allí. [En consecuencia] tienen que coordinarse todo el tiempo entre ellos si quieren tocar algo; esto los vuelve lentos, esta coordinación cruzada. Los bloques de construcción de TI no deberían causar límites al equipo, y esa es básicamente toda la historia de los microservicios, eso es el 95% ".

Esta creciente complejidad es en realidad el principal problema que nos ocupa. Para moverse rápido y ofrecer estas poderosas soluciones, debe tener equipos multifuncionales . Sin embargo, para tener estos equipos, terminas teniendo activos de TI expuestos en una gran superficie, y cualquier cambio en el código subyacente tiene un activo de TI resultante que necesita ser movido o manipulado. Esta coordinación hace que los equipos sean más lentos, ¡que es lo que estábamos tratando de evitar en primer lugar!

El problema es que los microservicios requieren inherentemente esta distribución de activos; ese es el objetivo de los microservicios, tener cada servicio acordonado, en su propio universo, con un respaldo completo detrás de él. Esta es una preocupación principal en términos de planificación organizacional y, en última instancia, según Friedrichsen, se convierte en una preocupación en términos de planificación y desarrollo empresarial.

Las expectativas impulsan la interacción

“Las expectativas de los clientes, bueno, tienen que ser excelentes. Adáptese a sus necesidades, sea rápido, siempre esté ahí ... Bríndeme una experiencia genial o me iré ".

Todo esto se reduce a un solo punto destacado: sin una experiencia de usuario adecuada impulsada por una experiencia positiva y la interacción del cliente, su API fallará. Para hacer esto sin hinchazón, los microservicios acordonan recursos y funciones. Al hacer esto, usted, a su vez, hace que sea más difícil crecer a medida que aumenta la complejidad, lo que al final puede resultar en un desarrollo más lento y una experiencia peor.

Entonces, ¿cuál es la solución?

¿Qué debemos hacer ahora con los microservicios?

Friedrichsen sugiere que redefinamos qué son exactamente los microservicios. En lugar de ver los microservicios como una solución de facto, quizás deberíamos enmarcarlos como un trampolín . Friedrichsen afirma:

“Los microservicios son un paso de transición. Los usamos para acelerar, para apoyar esta autonomía organizativa. Pero tienen un precio, y el precio es alto. Son realmente difíciles de dominar. Se distribuyen de forma predeterminada y los sistemas distribuidos son difíciles. Necesitamos mucho más soporte para ejecutarlos correctamente y muchas más herramientas. Aún no hemos resuelto ningún problema comercial; necesitamos todo eso para que funcione en alguna parte ".

Hay alguna razón para creer esto y, en muchas situaciones, el hecho de que el sistema esté distribuido puede, de hecho, ser más problemático que cualquier otra organización. Esta complejidad, una fractura sin fin de la estructura organizacional, puede resultar en lentitud y una mala experiencia del usuario.

Sin embargo, más que nada, este concepto se basa en la idea de sobrecarga intelectual . Lo que promete un desarrollo más rápido y menos estrés de producción resulta en lo inverso y hace que la carga sobre la organización y los desarrolladores aumente sin una recompensa resultante.

Otras opiniones: ¿Debería comenzar con un monolito o microservicios?

Reducir la sobrecarga intelectual

“¿Cómo podemos reducir la sobrecarga intelectual? Propongo sin servidor. Son los servicios administrados los que marcan la diferencia ".

Una respuesta a este problema es alejarse de los microservicios y, en cambio, adoptar el siguiente proceso lógico: el entorno sin servidor . Sin servidor hay muchas cosas a su favor y, en muchos casos, estos beneficios resuelven muchos de los aspectos negativos del enfoque de microservicios.

En primer lugar, la tecnología sin servidor esencialmente aprovecha la infraestructura como un servicio administrado. Al desacoplar sus activos de TI de su base de código subyacente, reduce la complejidad de administrar estos recursos y elimina la pesadilla de TI de la ecuación. Esto le permite ser un microservicio sin depender realmente de los activos de TI subyacentes como recurso empresarial y, por lo tanto, elimina muchas de las limitaciones discutidas.

De hecho, esta descarga de recursos no se limita al ámbito de la TI: muchos de los servicios empresariales y las herramientas de desarrollo y producción pueden trasladarse a un entorno sin servidor. Los microservicios restantes se pueden ejecutar con estos recursos alquilados, lo que aumenta los ingresos al tiempo que disminuye el costo y mejora la velocidad al tiempo que disminuye el peso de los recursos.

Más sobre la teoría de los microservicios: creación de un backend para frontend (BFF) para sus microservicios

Advertencias

“¿Es todo perfecto en el mundo sin servidor? No claro que no. ¿Puede mejorar? Sí, es una tecnología bastante joven, pero se desarrollará con el tiempo. Se vuelve cada vez más maduro ".

Sin servidor es poderoso, pero no es la solución para acabar con todos los problemas. De hecho, aunque los puntos de Friedrichsen son destacados y están bien investigados, hay algunos casos (como una organización pequeña) en los que la tecnología sin servidor puede no ser apropiada. Dicho esto, existen los problemas fundamentales con los microservicios, y si le afectan o no realmente se reduce al tamaño de su organización y la complejidad de su grupo de recursos de TI.

En consecuencia, incluso si no adopta la tecnología sin servidor, debe encontrar alguna solución. Esto puede tomar cualquier variedad de formas, pero en última instancia, sin servidor es quizás la más fácil de estas soluciones, tanto en términos de implementación como de mantenimiento.

Conclusión

En última instancia, ya sea que la tecnología sin servidor sea la respuesta para usted o no, muchas de las preocupaciones comerciales aclaradas aquí están justificadas. Serverless es una solución tecnológica fácil, potente y en crecimiento que aún requiere cierto desarrollo. Estos problemas deben considerarse seriamente para cualquier oferta de microservicio dentro de la contextualización empresarial y el sentido común que la subyace.

¿Qué opinas sobre la tecnología sin servidor? ¿Es una solución tan fuerte como sugiere Friedrichsen? ¿Están justificados los problemas comerciales? ¡Háganos saber a continuación!


Publicar un comentario

0 Comentarios