[vc_row][vc_column][vc_column_text]
IDC estima que el 60% de empresas en todo el mundo están migrando aplicaciones existentes a la nube. Con la promesa de una mayor flexibilidad, una reducción de los gastos generales y una reducción de los gastos generales, es una decisión lógica. Pero en lugar de simplemente realizar un «cambio de plataforma», muchas empresas utilizan el período de migración como una oportunidad para modernizar la arquitectura de sus aplicaciones.
Además, en una encuesta de NGINX, más del 70% de las organizaciones afirman que están adoptando o explorando microservicios para las nuevas arquitecturas y con buena razón. Romper una aplicación monolítica en microservicios manejables permite a los equipos de desarrollo responder rápidamente a un conjunto de requisitos empresariales en constante evolución, elegir las tecnologías adecuadas para cada tarea y proporcionar soporte para una variedad de plataformas incluidas web, móvil y aplicaciones nativas.
Sin embargo, la adopción de microservicios como parte de la migración a la nube, no siempre es fácil. A continuación presentamos 3 desafíos comunes que presentan las empresas y soluciones para mitigar los riesgos.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Desafío 1: Identificación de lo que debe migrarse a Microservicios
Antes de que pueda comenzar a dividir la aplicación en microservicios individuales, primero debe comprender el alcance completo y la arquitectura. Esto puede resultar un desafío ya que muchas veces la visión general de la aplicación se basa en el «conocimiento tribal» o improvisado a partir de una colección de herramientas dispares. A veces, una vista más holística puede estar disponible, pero se basa en información obsoleta que no refleja la arquitectura actual de la aplicación.
Debe encontrar una solución que lo ayude a descubrir y asignar cada componente, dependencia y llamada de terceros de su aplicación. Esta solución debería ayudarlo a comprender la relación de estas piezas y cómo cada uno afecta el comportamiento de la aplicación y la experiencia del usuario. Con esta información, tendrá una idea clara de lo que necesita migrar y podrá tomar una decisión más informadas sobre la arquitectura de microservicios.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Desafío 2: garantizar que los microservicios cumplan o superen el rendimiento previo de la migración.
Para garantizar que su aplicación se ejecuta sin problemas después de la migración y que la experiencia del usuario no se vio afectada negativamente, necesita una forma de comparar las métricas de rendimiento de antes y después de la migración. Esto puede ser extremadamente difícil ya que la arquitectura de estos dos entornos puede verse drásticamente diferente. Para complicar aún más las cosas, las herramientas de monitorización proporcionadas por los proveedores de alojamiento individuales da una idea de solo una pequeña parte de toda la arquitectura y no tiene forma de crear un conjunto más completo de datos.
Para combatir estos problemas y establecer una línea base consistente para medir el desempeño y experiencia usuario, deberá capturar las interacciones claves del usuario (a menudo denominados transacciones comerciales), antes de comenzar su misión. Es probable que las transacciones comerciales sigan siendo las mismas a través de la migración, mientras que otras métricas pueden cambiar a medida que toman diferentes rutas de código y se implementan en diferentes infraestructuras. Armado con datos de referencia sobre las transacciones comerciales, puede comparar fácilmente el rendimiento de sus entornos previos y posteriores a la migración y garantizar que no afecte a su experiencia de usuarios ni a su rendimiento general.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Desafío 3: Monitoreo del nuevo entorno de microservicios
Con aplicaciones monolíticas grandes que ejecutan una única base de código en algunas piezas de hardware, dos o tres herramientas podrían proporcionar una supervisión completa y directa del rendimiento de la aplicación y la infraestructura. Sin embargo, con la introducción de microservicios y la posibilidad de que cada servicio implemente su propia solución para la tecnología elegida, base de datos y el proveedor del alojamiento, un solo servicio puede requerir ahora una mayor cantidad de herramientas de monitoreo que toda la aplicación. Y el monitoreo de microservicios presenta desafíos específicos: a menudo son de corta duración, lo que significa que el monitoreo durante un período más largo puede ser más complicado; y puede haber más vías a través de las cuales se llega al servicio, lo que podría exponer problemas como la contención de hilos.
Finalmente, aunque los equipos de desarrollo anteriormente no requerían una solución de monitoreo que tomara en cuenta la infraestructura, el cambio a DevOps y la dependencia de las tecnologías nativas de la nube significa que este factor ya no se puede ignorar.
El objetivo luego se convierte en encontrar una plataforma de monitoreo unificada que admita todos sus entornos, independientemente del idioma o la tecnología. Esta solución debe cotejar las métricas de su aplicación e infraestructura en una sola fuente de verdad, y permitir la correlación de esas métricas con la experiencia del usuario.
Este artículo esta basado en Top 3 Challenges of Adopting Microservices[/vc_column_text][/vc_column][/vc_row]