Getty Images/iStockphoto
Guía para crear una estrategia de pruebas de migración a la nube
Siga estas pautas para ayudar a diseñar una estrategia para las pruebas de migración a la nube, desde pruebas clave para ejecutar hasta desafíos comunes y mejores prácticas, y por qué todo involucra seguridad.
Mover una aplicación a la nube puede ser un desafío único. Los usuarios no interactúan directamente con servidores u otros componentes subyacentes de la infraestructura de TI local, pero en la nube todos ven y trabajan con una aplicación. Como resultado, las pruebas de aplicaciones son una parte fundamental de cualquier migración a la nube.
Un marco formalizado puede ayudar a los equipos de TI a desarrollar una estrategia de pruebas de migración a la nube y garantizar que una aplicación funcione como debería en la nube. Repasemos algunas de las áreas principales en las que centrarse, las mejores prácticas a seguir y los problemas que se deben anticipar 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 garantizar que la aplicación continúe funcionando como debería después de migrar a la nube y también a garantizar una mejor experiencia de usuario. Para hacer esto, deben medir el rendimiento de la aplicación en ambos lados de la ecuación: cómo se ejecutó 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 conjeturas agotan el tiempo y los recursos del personal de TI. Las métricas clave incluyen tiempos de inicio de aplicaciones y tiempos de respuesta, rendimiento durante horas pico de demanda y horas libres, y usabilidad en varias plataformas (computadoras de escritorio, conexiones remotas y dispositivos móviles).
Además, los proveedores de la nube pueden publicar actualizaciones que podrían causar problemas de rendimiento en su aplicación. Valide esto a través de sus métricas de prueba y trabaje con su proveedor de nube para descubrir qué sucedió y qué ajustes corregirán esos problemas.
Finalmente, las pruebas de migración a la nube revelan dónde los equipos de TI pueden ajustar el rendimiento o la UX para justificar 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 probar aplicaciones locales y aplicaciones que se trasladan a la nube es que hay que adaptarse a la escalabilidad de la nube y a 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 local, y algunas herramientas pueden ser diferentes, como las pruebas de carga o las pruebas de penetración.
Sin embargo, tenga en cuenta que los objetivos finales reales de las pruebas no deberían cambiar de las instalaciones a la nube. Diferentes objetivos o guías significan que ya no estás probando manzanas con manzanas. 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 prueba o las 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, pero necesita una sección transversal sólida de pruebas y métricas para garantizar que su aplicación funcione como se espera. Varios tipos diferentes de pruebas son especialmente importantes para una migración a la nube:
- Validación funcional. Confirme que la compilación cumple con los requisitos de funcionalidad de componentes y servicios, en ambos lados del esfuerzo de migración a la nube. Todo lo que falta tiende a saltar rápidamente.
- Actuación. Esto abarca varias métricas para medir el rendimiento de una aplicación en condiciones del mundo real: capacidad para manejar volúmenes de datos, cargas de capacidad, y uso de CPU y 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 ambos). Los equipos de TI deben verificar que estas conexiones sigan funcionando en la nube. Esto puede resultar complicado si los servicios dependientes están en una nube diferente o permanecen en las instalaciones.
Otros aspectos para probar: Si su aplicación tiene un portal dedicado o requiere ajustes en la interfaz para ejecutarse 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 localmente. Es posible que no sea factible 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 móviles como en redes Wi-Fi, porque las diferentes velocidades de datos afectan el comportamiento de la aplicación. Haga esto fuera de la red Wi-Fi de su empresa; el lado interno de su red puede acceder a los servicios de manera diferente a una red Wi-Fi externa, lo que podría hacer que la aplicación funcione de manera diferente o no funcione en absoluto.
Finalmente, pruebe la capacidad de impresión; sí, la gente todavía imprime, y para algunos es una función laboral crítica. No subestime este problema técnico potencialmente desafiante. La impresión desde una aplicación basada en la nube en una impresora local enfrenta desafíos de seguridad y de red que no existen en las instalaciones.
Consideraciones de seguridad para las pruebas de migración a la nube
Se debe realizar una auditoría de seguridad de la aplicación adecuada y ajustes en los privilegios del usuario final antes de comenzar a mover una aplicación desde las instalaciones a la nube. Lo último que desea es introducir cambios adicionales que confundan o compliquen su 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 accederían los usuarios. Agregar más variables no ayudará ni acelerará las pruebas, por lo que, como movimiento lateral, el acceso de los usuarios finales debería reflejar lo que tenían con la aplicación local, ni más ni menos.
- ¿Cómo se ha asegurado el menor privilegio posible? A medida que sus datos se mueven entre diferentes servicios en la nube, ¿qué pasos garantizarán el menor privilegio posible? Los proveedores de la nube ofrecen servicios e informes para ayudarle con esto; tómese el tiempo para aprenderlos y utilizarlos.
- ¿Los cambios de seguridad afectarán la aplicación? Siempre vuelva a ejecutar las pruebas de la aplicación después de realizar un cambio de seguridad, ya que estos cambios pueden afectar potencialmente el rendimiento. Por ejemplo, ¿el cifrado de datos en vuelo y en reposo cambiará el tiempo de respuesta de la aplicación o agregará una sobrecarga a los ciclos de la CPU? Esto puede ser un subconjunto de pruebas completas, pero debe volver a validar a un nivel competente que la aplicación aún funciona según lo establecido y que su cambio de seguridad no desconectará la aplicación.
Siete desafíos comunes en las pruebas de migración a la nube y mejores prácticas para abordarlos
Las pruebas de aplicaciones son un desafío, sin importar qué tan bien vayan las cosas. A pesar de toda su planificación y pruebas, encontrará problemas. Nada es tan sencillo como espera, pero la mayoría de los problemas tienen solución.
Desafío #1: Cómo priorizar las métricas de prueba 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 según lo previsto. Una aplicación que carece de funcionalidad básica, incluso si es absolutamente segura o maravillosamente optimizada para los usuarios, no sirve de nada a nadie.
Mejor práctica: Equilibre el diseño y la seguridad con la funcionalidad crítica. Tómese el tiempo y el esfuerzo para abordar todos los factores –funcionalidad, UX y seguridad– al principio del proceso de migración a la nube. Estos no son aspectos separados en los que pueda trabajar en diferentes etapas; están interconectados y debe tratarlos como tales.
Desafío #2: No tome atajos solo para que la aplicación se ejecute
Es fundamental garantizar que la aplicación funcione correctamente en la nube, pero no adopte malos hábitos para lograr objetivos a corto plazo. Los equipos de TI pueden reducir o eliminar controles de seguridad para que una aplicación funcione en un nuevo entorno y luego olvidarse de restaurar esas salvaguardas. Esto puede ahorrar tiempo inicialmente, pero genera más trabajo complicado más adelante y dificulta las pruebas en general.
Mejor práctica: Planifique 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 realizar cambios a gran escala para que todo funcione de inmediato. Dedique tiempo a su plan de migración a la nube para abordar estos problemas.
Desafío #3: TI por sí solo no puede realizar 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. TI tiene una gran responsabilidad y puede ayudar a liderar estos esfuerzos, pero no puede simplemente centrarse en el aspecto técnico sin la experiencia de desarrollo.
Mejor práctica: Forme un equipo de pruebas diverso. Forme un equipo multifuncional para brindar soporte a la aplicación e identificar posibles problemas. El equipo debe ser ágil y se necesitan expertos en contenido para garantizar que se estén analizando todos los aspectos. Estacione ciertos elementos en las reuniones para no sobrecargar a todos con demasiada información; algunos pueden aburrirse o desconectarse de la charla tecnológica que está fuera de su experiencia.
Desafío #4: Resistir las actualizaciones "fáciles" y la ampliación del alcance
Habilitar el cifrado para una aplicación que está migrando a la nube puede parecer ideal y engañosamente simple. Pero tenga cuidado: cualquier cambio, sin saberlo, puede afectar muchos otros aspectos del funcionamiento de la aplicación y aumentar tanto las preocupaciones técnicas como los costos. Este alcance o variación de funciones en sus pruebas de migración puede expandirse rápidamente a niveles insostenibles.
Mejor práctica: Pruebe y examine funciones adicionales. En primer lugar, intente ceñirse al plan original para la funcionalidad principal de la aplicación. La fase de prueba no es el momento ni el lugar para ampliar las funciones. Si debe agregar nuevas características o funciones menores, obtenga la aceptación de todos y pruebe y examine esos cambios para comprender sus impactos más amplios.
Desafío #5: Equilibrar la cadencia de las pruebas con las prioridades en competencia
Lo ideal sería realizar pruebas de seguridad continuas y al menos pruebas semanales para validar los datos y manejar los registros de errores. Desafortunadamente, el dinero, el tiempo y las prioridades cambiantes de TI y de gestión pueden anular esos planes. La nube cuesta dinero por cada segundo de uso. El personal requiere tiempo y dinero, y después del lanzamiento de una aplicación, la mayoría de los equipos de operaciones y desarrollo pasan a otros proyectos.
Mejor práctica: Planifique actualizaciones importantes y presione para obtener más. TI siempre encuentra maneras de adaptar lo que se necesita a lo que está disponible. Divida las pruebas de migración a la nube en lo que la gerencia quiere, necesita y espera. Configure un marco de prueba para verificaciones diarias y semanales sobre cambios importantes en la aplicación o plataforma base. Presione por una mayor regularidad si hay más recursos disponibles.
Desafío #6: Las pruebas de UX son limitadas
Algunos equipos de TI dependen de un grupo regular de usuarios para las pruebas locales, o de unos pocos que son expertos en el software específico. Sin embargo, cuando mueve su aplicación a la nube, necesita una imagen más completa de su aplicación. Eso significa recopilar datos sobre la UX general desde múltiples perspectivas, y no solo técnicas.
Mejor práctica: Amplíe sus equipos de prueba de usuarios. Coordine las pruebas de usuarios con un grupo bastante amplio de evaluadores de diferentes experiencias y roles. Incluya personas principiantes y conocedoras de la nube. 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 es posible que ellos lo sepan un poco mejor que usted.
Desafío #7: Las métricas de prueba pasan por alto las preocupaciones sobre los costos de la nube
En una migración local, por lo general, usted es propietario de todo lo 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 un caché o de regreso a las instalaciones. Existen integraciones y dependencias con otros servicios en la nube, algunas de las cuales pueden no ser obvias. Incluso puede utilizar nuevas herramientas de prueba basadas en la nube. Cuando llegue la factura, puede resultar una sorpresa y obligarlo a ajustar la aplicación o incluso reevaluar la migración a la nube.
Mejor práctica: Las pruebas periódicas revelan tendencias de 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 qué 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 tener una mejor idea de las transferencias de datos, los patrones de uso y las dependencias clave. Eso significa que no habrá sorpresas cuando llegue la factura.