Getty Images/iStockphoto
Guía para crear una estrategia de pruebas de migración a la nube
Siga estas directrices para ayudar a elaborar una estrategia para las pruebas de migración a la nube, desde las pruebas clave que deben realizarse, hasta los desafíos comunes y las mejores prácticas, y por qué todo involucra seguridad.
Trasladar una aplicación a la nube puede ser un reto único. Los usuarios no interactúan directamente con los servidores u otros componentes subyacentes de la infraestructura de TI local, pero en la nube todo el mundo ve y trabaja con una aplicación. Por ello, las pruebas de las aplicaciones son una parte fundamental de cualquier migración a la nube.
Un marco formalizado puede ayudar a los equipos de TI a crear una estrategia de pruebas de migración a la nube y garantizar que una aplicación funciona como debería en la nube. Repasemos algunas de las principales áreas en las que hay que centrarse, las mejores prácticas que hay que seguir y los problemas que hay que prever y resolver.
¿Por qué son importantes las pruebas de migración a la nube?
Las pruebas de migración a la nube ayudan a los equipos de TI a asegurarse de que la aplicación sigue funcionando como debería después de trasladarse a la nube, y también a garantizar una mejor experiencia de usuario. Para ello, deben medir el rendimiento de la aplicación en ambos lados de la ecuación: cómo se ejecuta en las instalaciones y cómo funciona una vez que está en la nube.
Las métricas de las pruebas de migración a la nube ayudan a identificar y cuantificar cualquier problema; de lo contrario, las comparaciones basadas en suposiciones agotan el tiempo y los recursos del personal de TI. Las métricas clave incluyen los tiempos de inicio de las aplicaciones y los tiempos de respuesta, el rendimiento durante los picos de demanda y las horas libres, y la usabilidad en varias plataformas (computadoras de escritorio, conexiones remotas y dispositivos móviles).
Además, los proveedores de la nube pueden emitir actualizaciones que podrían causar problemas de rendimiento a su aplicación. Valide esto a través de sus métricas de prueba, y trabaje con su proveedor de la nube para averiguar qué sucedió y qué ajustes corregirán esos problemas.
Por último, las pruebas de migración a la nube revelan dónde pueden los equipos de TI ajustar el rendimiento o la UX para justificar el mantener esa aplicación en la nube.
En qué se diferencian las pruebas de migración a la nube de las pruebas de aplicaciones tradicionales
La principal diferencia entre las pruebas de aplicaciones en las instalaciones y las aplicaciones que se trasladan a la nube es que hay que tener en cuenta la escalabilidad de la nube y las integraciones y dependencias adicionales. Algunas de esas integraciones pueden ser difíciles de identificar y comprender. Su marco de pruebas en la nube puede diferir de un marco para probar algo que está en las instalaciones, y algunas herramientas pueden ser diferentes, como para las pruebas de carga o las pruebas de penetración.
Tenga en cuenta, sin embargo, que los objetivos finales reales para las pruebas no deben cambiar de las instalaciones a la nube. Si los objetivos o las guías son diferentes, ya no se está probando en igualdad de condiciones. Utilice muchos de los mismos pasos y herramientas para proporcionar una imagen clara de sus esfuerzos para migrar su aplicación a la nube: los cambios en el marco de pruebas o metodologías pueden sesgar los resultados.
Tipos de pruebas para una migración a la nube
El objetivo de las pruebas de migración a la nube no es probar todas las características y funciones posibles, sino que se necesita una sección transversal sólida de pruebas y métricas para garantizar que la aplicación funcione como se espera. Hay varios tipos de pruebas que son especialmente importantes para una migración a la nube:
- Validación funcional. Confirma que la compilación cumple los requisitos de funcionalidad de los componentes y servicios, en ambos lados del esfuerzo de migración a la nube. Cualquier cosa que falte tiende a saltar rápidamente.
- Rendimiento. Abarca varias métricas para medir el rendimiento de una aplicación en condiciones reales: capacidad para manejar volúmenes de datos, cargas de capacidad y uso de la CPU y la memoria.
- Integración. Es probable que su aplicación se vincule con otros servicios y aplicaciones para compartir datos, en la nube y en las instalaciones (y posiblemente en ambas). Los equipos de TI deben verificar que estas conexiones siguen funcionando en la nube. Esto puede ser complicado si los servicios dependientes están en una nube diferente o permanecen en las instalaciones.
Otros aspectos a probar: Si su aplicación tiene un portal dedicado o requiere ajustes de la interfaz para funcionar en dispositivos móviles, pruébela en las plataformas Android y Apple. Esto es tan cierto para una aplicación migrada a la nube como para una que se ejecuta en las instalaciones. Puede que no sea posible probar todos los tipos de dispositivos posibles, así que trabaje con su base de usuarios para determinar la mejor representación de la plataforma móvil.
Además, pruebe tanto en redes celulares como en redes Wi-Fi, porque las diferentes velocidades de datos afectan al comportamiento de la aplicación. Hágalo fuera de la red Wi-Fi de su empresa: la parte interna de su red puede acceder a los servicios de forma diferente a una red Wi-Fi externa, lo que podría hacer que la aplicación funcione de forma diferente o no funcione en absoluto.
Por último, compruebe la capacidad de impresión: sí, la gente sigue imprimiendo, y para algunos es una función laboral fundamental. No subestime este problema técnico potencialmente desafiante. La impresión desde una aplicación basada en la nube a una impresora local se enfrenta a retos de seguridad y de red que no tiene en las instalaciones.
Consideraciones de seguridad para las pruebas de migración a la nube
Antes de empezar a trasladar una aplicación de las instalaciones a la nube, se debe realizar una auditoría de seguridad de la aplicación y ajustar los privilegios de los usuarios finales. Lo último que se desea es introducir cambios adicionales que enturbien o compliquen la comprensión de cómo funciona una aplicación y sus interdependencias.
Sus pruebas de migración a la nube deben incluir una validación de seguridad que confirme tres factores clave:
- ¿Quién tiene acceso a la aplicación? Comience con las cuentas y las características/funciones a las que los usuarios accederían. Añadir más variables no ayudará ni acelerará las pruebas, así que, como movimiento lateral, el acceso de los usuarios finales debe reflejar el que tenían con la aplicación en las instalaciones, ni más ni menos.
- ¿Cómo ha garantizado el menor privilegio posible? A medida que sus datos se mueven entre diferentes servicios en la nube, ¿qué medidas garantizarán el menor privilegio posible? Los proveedores de la nube ofrecen servicios e informes para ayudarle con esto; tómese el tiempo para aprender y utilizarlos.
- ¿Impactarán los cambios de seguridad en la aplicación? Vuelva a realizar siempre las pruebas de la aplicación después de realizar un cambio de seguridad, ya que estos cambios pueden afectar al rendimiento. Por ejemplo, ¿el cifrado de datos en vuelo y en reposo cambiará el tiempo de respuesta de la aplicación, o añadirá sobrecarga a los ciclos de la CPU? Esto puede ser un subconjunto de las pruebas completas, pero hay que revalidar a un nivel competente que la aplicación sigue funcionando como en la línea de base y que su cambio de seguridad no hará que la aplicación se desconecte.
Siete desafíos comunes en las pruebas de migración a la nube y las mejores prácticas para abordarlos
Las pruebas de aplicaciones son un reto, independientemente de lo bien que vayan las cosas. A pesar de toda la planificación y las pruebas, se encontrará con problemas. Nada es tan fácil como se espera, pero la mayoría de los problemas tienen solución.
Desafío 1: Cómo priorizar las métricas de las pruebas de aplicaciones
La UX y la seguridad de una aplicación son importantes para la aplicación en general, pero en última instancia la aplicación debe funcionar como se pretende. Una aplicación que carece de la funcionalidad principal, incluso si es absolutamente segura o maravillosamente racionalizada para los usuarios, no hace ningún bien a nadie.
La mejor práctica: Equilibre el diseño y la seguridad con la funcionalidad crítica. Tómese el tiempo y el esfuerzo necesarios para abordar todos los factores –funcionalidad, UX y seguridad– en las primeras fases del proceso de migración a la nube. No son aspectos separados en los que se pueda trabajar en diferentes etapas; están interconectados y hay que tratarlos como tales.
Desafío 2: No tome atajos solo para que la aplicación funcione
Es fundamental asegurarse de que la aplicación funciona correctamente en la nube, pero no hay que adoptar malos hábitos para conseguir objetivos a corto plazo. Los equipos de TI pueden reducir o eliminar los controles de seguridad para conseguir que una aplicación funcione en un nuevo entorno y olvidarse de restaurar esas salvaguardias después. Esto puede ahorrar tiempo al principio, pero crea más trabajo y más complicado después y dificulta las pruebas en general.
La mejor práctica: Planificar la seguridad desde el principio. A menudo surgen problemas de permisos de seguridad que pueden impedir la funcionalidad de una aplicación, pero resista la reacción instintiva de hacer cambios a gran escala para que las cosas funcionen de inmediato. Incluya en su plan de migración a la nube el tiempo necesario para resolver estos problemas.
Desafío 3: El departamento de TI no puede realizar por sí solo las pruebas de migración a la nube
Las migraciones a la nube son esfuerzos complejos que requieren muchas disciplinas para garantizar que una aplicación migrada funcione a escala y de forma segura. El departamento de TI tiene una gran responsabilidad y puede ayudar a liderar estos esfuerzos, pero no puede limitarse a hacer un esfuerzo y centrarse en la parte técnica sin la experiencia del departamento de desarrollo.
La mejor práctica: Formar un equipo de pruebas diverso. Forme un equipo multifuncional que proporcione apoyo a la aplicación e identifique posibles problemas. El equipo debe ser ágil y se necesitan expertos en contenido para garantizar que se examinan todos los aspectos. Aparque ciertos temas en las reuniones para no sobrecargar a todo el mundo con demasiada información, ya que algunos pueden aburrirse o no prestar atención a la jerga tecnológica que está fuera de sus conocimientos.
Desafío 4: Resistirse a las actualizaciones «fáciles» y a la ampliación del alcance
Activar el cifrado de una aplicación que está migrando a la nube puede parecer ideal y aparentemente sencillo. Pero tenga cuidado: Cualquier cambio puede afectar, sin saberlo, a muchos otros aspectos del funcionamiento de la aplicación, y aumentar tanto las preocupaciones técnicas como los costos. Este alcance o la proliferación de características en las pruebas de migración pueden expandirse rápidamente hasta niveles insostenibles.
La mejor práctica: Pruebe y examine las funciones adicionales. En primer lugar, intente ceñirse al plan original para la funcionalidad principal de la aplicación: la fase de pruebas no es el momento ni el lugar para ampliar las funciones. Si tiene que añadir nuevas características o funciones de menor importancia, obtenga la aprobación de todos y pruebe y examine esos cambios para comprender su impacto más amplio.
Desafío 5: Equilibrar la cadencia de las pruebas con las prioridades que compiten entre sí
Lo ideal sería realizar pruebas de seguridad continuas y, como mínimo, pruebas semanales para validar los datos y gestionar los registros de errores. Desgraciadamente, el dinero, el tiempo y los cambios en las prioridades de TI y de la dirección pueden anular esos planes. La nube cuesta dinero por cada segundo que está en uso. El personal requiere tiempo y dinero, y tras el lanzamiento de una aplicación la mayoría de los equipos de operaciones y desarrollo pasan a otros proyectos.
La mejor práctica: Planifique en torno a las principales actualizaciones, y presione para obtener más. El departamento de TI siempre encuentra la manera de ajustar lo que se necesita a lo que está disponible. Desglose las pruebas de migración a la nube en lo que la dirección quiere, necesita y espera. Establezca un marco de pruebas para realizar comprobaciones diarias y semanales en torno a los principales cambios en la aplicación o plataforma base. Presione para obtener una mayor regularidad si se dispone de más recursos.
Desafío 6: Las pruebas de UX son escasas
Algunos equipos de TI confían en un grupo regular de usuarios para las pruebas en las instalaciones, o en unos pocos que son expertos en el software específico. Sin embargo, cuando se traslada la aplicación a la nube, se necesita una imagen más completa de la misma. Eso significa recopilar datos sobre la UX general desde múltiples perspectivas, y no solo las técnicas.
La mejor práctica: Amplíe sus equipos de pruebas de usuarios. Coordine las pruebas de usuarios con un grupo bastante amplio de probadores con diferentes experiencias y funciones. Incluya a personas que conozcan la nube y a novatos. La mayoría de los usuarios finales no conocen ni se preocupan por la maquinaria interna de la nube, pero ven su aplicación y tienen ciertas expectativas de rendimiento. Y a veces pueden conocerla un poco mejor que tú.
Desafío 7: Las métricas de las pruebas pasan por alto los costos de la nube
En una migración en las instalaciones, normalmente se poseen todas las piezas que toca la aplicación. En una migración a la nube, incurrirá en costos por cada paso del proceso, servicio llamado y datos transferidos a una caché o de vuelta a las instalaciones. Hay integraciones y dependencias de otros servicios en la nube, algunas de las cuales pueden no ser obvias. Puede que incluso utilice nuevas herramientas de prueba basadas en la nube. Cuando llegue el momento de pagar la factura, puede ser un shock y obligarle a ajustar la aplicación o incluso a reevaluar la migración a la nube.
Mejor práctica: Las pruebas periódicas revelan las tendencias de los costos. La gestión de costos no es una preocupación central de las pruebas de migración a la nube, pero las pruebas revelan exactamente lo que hace una aplicación cuando se ejecuta en la nube. Por lo tanto, las pruebas frecuentes de migración a la nube pueden ayudar a una organización a conocer mejor las transferencias de datos, los patrones de uso y las dependencias clave. Esto significa que no habrá sorpresas cuando llegue la factura.