Cómo facilitar la transición a la arquitectura de microservicios

Mucho se ha dicho sobre los beneficios de pasar de infraestructuras obsoletas y aplicaciones monolíticas a arquitecturas de microservicios. Los beneficios de los microservicios son ciertamente muy atractivos para la mayoría de las empresas, donde el mantenimiento de la relevancia y la entrega continua de software van de la mano. Muchas aplicaciones monolíticas de por vida están repletas de funciones, lo que provoca una complejidad innecesaria en el código de la aplicación e incluso puede causar una mala experiencia de usuario con actualizaciones que pueden salir mal.

Mucha gente tiende a olvidar que un salto rápido de una infraestructura antigua a algo moderno es un desafío. Esto no es algo que se pueda hacer de la noche a la mañana, y se requerirá una cantidad significativa de cambios para implementar. Cambiar a microservicios no resolverá todos los problemas que enfrenta la empresa. Será necesario considerar costos, capacitación, desarrollo de aplicaciones de acuerdo a la nueva infraestructura, etc. La infraestructura híbrida viene al rescate aquí porque puede ofrecer lo mejor de ambos mundos sin mucho sacrificio.

El CEO de Docker, Ben Golub, calificó la creencia de que la herencia y la infraestructura de microservicios deberían funcionar por separado como un "error de TI bimodal". En Dockercon 16, señaló que “a medida que las personas adoptan Docker, ya no es fácil para las nuevas generaciones de microservicios de última generación. Si bien está claro que las principales opciones de uso se encuentran en dichas áreas, uno de los usos más comunes de Docker es la migración de aplicaciones heredadas a microservicios. Y una opción de uso no menos común: contener aplicaciones obsoletas.

Cuando se impulsa el cambio, te vuelves flexible. En el caso de la transición a microservicios, la infraestructura híbrida es muy práctica. Muchas empresas tienen sus propios servidores que han invertido mucho y que todavía se pueden utilizar. Tomar las aplicaciones monolíticas habituales y empaquetarlas en un contenedor hace que la transición sea mucho más fluida que crear aplicaciones completamente nuevas para microservicios.

La ventaja más obvia de los contenedores es que eliminan los problemas de compatibilidad y hacen que las aplicaciones sean portátiles. Otra ventaja es que las aplicaciones monolíticas se pueden dividir en un conjunto de servicios que se empaquetan en contenedores separados que forman el todo. De esta manera, cada servicio puede diseñarse individualmente y escalarse según la demanda, y hace que las actualizaciones sean más eficientes. Así, si la demanda de una determinada aplicación es baja o si ya es una simple aplicación monolítica sin muchas funcionalidades, puede permanecer en infraestructuras obsoletas sin tener que asumir el coste de la migración.

Índice

Gestión del cambio

Como se mencionó anteriormente, el cambio debe ser administrado. Mantener una arquitectura híbrida no está exento de problemas. La gestión de cambios le permitirá actualizar su infraestructura de forma exhaustiva y gradual. Si se comete un error, será más fácil corregirlo si es más pequeño. Si su equipo se acostumbra gradualmente a la nueva infraestructura, los errores cometidos más adelante no serán tan devastadores.

Gestión del cambio

Junto con la gestión del cambio, se deben adoptar ciertas prácticas para mantener las cosas bajo control y hacer que las cosas funcionen sin problemas. Veamos cómo puedes lograr este objetivo.

Tener una visión clara

Con acceso a ambas infraestructuras, es importante que los miembros de su equipo sepan lo que está pasando. DevOps fomenta el trabajo en equipo y un entorno colaborativo, y esto se vuelve aún más relevante cuando utiliza una infraestructura híbrida. Asegúrese de que todos estén sincronizados y reciban la información correcta sobre los proyectos en los que están trabajando; de lo contrario, habrá una sobrecarga de información.

El uso de una solución de monitoreo puede permitirle ver bien el funcionamiento de su infraestructura sin contribuir al caos. De esta manera, puede ver qué aplicación debe escalarse en cualquier momento según la demanda y saber en qué trabajar.

hazlo familiar

Asegúrese de que los miembros del equipo estén bien capacitados en la tecnología nueva y desconocida que se está introduciendo. No es necesario darse prisa con la introducción de microservicios. Una vez que se asegure de que todos los miembros del equipo estén en sintonía, los microservicios se pueden implementar en etapas y combinarse con la infraestructura heredada. Por lo tanto, todos no tienen miedo de todas las nuevas interfaces y códigos y sabrán qué hacer si ocurre un incidente.

Sé ágil pero lento

Una vez que se establece el control, la entrega continua puede ser mucho más fluida en una infraestructura híbrida. Puede ser difícil para su equipo entender el concepto de agilidad al principio, porque al usar microservicios todo puede ser más rápido en comparación con los programas monolíticos. Por eso es importante la introducción de microservicios. Se pueden diseñar múltiples aplicaciones o múltiples funciones simultáneamente para que funcionen como un microservicio en el que practicar. Esto puede ayudar a los miembros de su equipo a comprender cómo ser más ágiles y entregar el código más rápido que antes. Un aspecto importante de una transición sin problemas es un plan o plan que consta de objetivos y pasos para la transición a una infraestructura híbrida. Para que todos tengan una idea de lo que está tratando de lograr.

Las herramientas que pueden ayudar con la maniobrabilidad son aquellas que automatizan la entrega de código nuevo. Esto ayudará a que el diseño del transportador sea suave y libre. Por lo general, estas herramientas contienen un tablero que también le dará una idea del progreso del desarrollo, lo que puede ser muy útil en general.

Buena red de seguridad

La agilidad es excelente cuando se trata de mantenerse por delante de la competencia y ayudar a que sus programas sigan siendo relevantes. Pero si no tiene cuidado, puede haber problemas con la confiabilidad. Por eso es tan importante asegurarse de que la cultura DevOps sea sólida en su entorno de trabajo. Los desarrolladores y los grupos de trabajo deben trabajar juntos en todo momento. No se deben permitir puntos ciegos. Las operaciones necesitan saber qué planean los desarrolladores para saber para qué es la nueva actualización, herramienta o aplicación. Permitirles en la etapa de desarrollo no solo les permitirá resolver los problemas de confiabilidad en una etapa anterior, sino que también los hará menos temerosos del cambio debido a las preocupaciones sobre la estabilidad.

Administracion de incidentes

Implementar una herramienta de gestión de incidentes también es una buena idea. Esto hace que todo el equipo suspire de alivio, ya que puede sentirse como una especie de red defensiva. Si algo se rompe, eso sucederá, los miembros del equipo pueden recibir una notificación en su ordenador o dispositivo móvil, y esto se puede solucionar rápidamente, sin importar dónde se encuentren las personas en cualquier momento.

Definitivamente una gran idea: pasar a una infraestructura híbrida. Proporciona lo mejor de ambos mundos: la maniobrabilidad de los microservicios y la familiaridad con los programas monolíticos. Después de un uso cuidadoso de la práctica, puede tener una infraestructura flexible que le permitirá dar un paso grande y significativo hacia el futuro sin saltar al vacío.


Artículos de interés

Subir

Si continuas utilizando este sitio aceptas el uso de cookies. Más información