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.

Trasladar una aplicación a la nube presenta desafíos especiales. No hay garantía de que funcione como lo hacía en las instalaciones y de que todas sus funciones se mantengan de la misma manera. Además, la nube tiene sus propias características de escalabilidad, integración y seguridad que deben tenerse en cuenta. 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 prueba de migración a la nube y garantizar que una aplicación funcione como debería en la nube. Repasemos algunas de las principales áreas en las que debemos centrarnos, las prácticas recomendadas a seguir y los problemas que debemos anticipar y resolver.

¿Por qué es importante probar la 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 siga funcionando como debería después de migrar a la nube, y también a garantizar que la experiencia del usuario sea mejor. Para ello, 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 en la nube.

Las métricas de las pruebas de migración a la nube ayudan a identificar y cuantificar los problemas en lugar de depender de conjeturas. Las métricas clave incluyen los tiempos de inicio y de respuesta de las aplicaciones, el rendimiento durante los picos de demanda y fuera del horario laboral, y la facilidad de uso en varias plataformas, como computadoras de escritorio, conexiones remotas y dispositivos móviles.

Además, los proveedores de servicios en la nube emiten actualizaciones que pueden causar problemas de rendimiento en una aplicación. Utilice las métricas de prueba para validar los problemas y trabaje con su proveedor de servicios en la nube para averiguar qué sucedió y qué ajustes debe realizar para corregir los problemas.

Finalmente, las pruebas de migración a la nube pueden indicar a los equipos de TI dónde ajustar el rendimiento o la experiencia del usuario para justificar mantener la aplicación en la nube.

Beneficios comerciales de las pruebas de migración a la nube

Además de proporcionar a los usuarios una aplicación moderna y de buen rendimiento, un programa de pruebas sólido puede ofrecer otras ventajas a la empresa, entre las que se incluyen las siguientes:

  • Menor posibilidad de interrupciones del servicio.
  • Mayor satisfacción del cliente gracias a transiciones fluidas.
  • Menos estrés y desgaste en el personal.
  • Ahorro de costes netos después del gasto inicial de la prueba en sí.

Si bien la reducción de problemas es un beneficio real de las pruebas, a menudo es difícil cuantificarlo porque pueden surgir problemas sin pruebas adicionales. Sin embargo, las probabilidades son mejores con las pruebas.

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 han trasladado a la nube es que hay que tener en cuenta la escalabilidad de la nube y las integraciones y dependencias adicionales. Algunas de las integraciones pueden resultar difíciles de identificar y comprender. El marco de pruebas en la nube puede diferir del marco local y algunas herramientas pueden ser diferentes o no estar permitidas, como las pruebas de carga o las pruebas de penetración. Es importante consultar con el proveedor de la nube qué herramientas de prueba están permitidas.

Sin embargo, tenga en cuenta que los objetivos de las pruebas no deben cambiar entre las instalaciones locales y la nube. Tener objetivos diferentes significa que ya no se están probando cosas iguales, por lo que debe utilizar muchos de los mismos pasos y herramientas para obtener una idea clara de sus esfuerzos para migrar su aplicación a la nube. Los cambios en el marco de pruebas 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 sí es necesario contar con una muestra representativa 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. Esta prueba confirma que la compilación cumple con los requisitos de funcionalidad de los componentes y servicios en ambos lados del proceso de migración a la nube. Todo lo que falta suele aparecer rápidamente.
  • Rendimiento. Esta prueba abarca varias métricas para medir el rendimiento de una aplicación en condiciones reales, por ejemplo, la capacidad para manejar volúmenes de datos, cargas de capacidad y uso de CPU y memoria. También incluye la experiencia del cliente para garantizar un rendimiento mejor o al menos constante para los usuarios.
  • Integración. Es probable que su aplicación se conecte 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 sigan funcionando en la nube. Esto puede resultar complicado si los servicios dependientes se encuentran en una nube diferente o permanecen en las instalaciones. También debe comprender y documentar lo que sucede cuando un servicio deja de funcionar en cada ubicación para comprender el impacto que tendrá en los clientes.

Otros aspectos que probar

Si la aplicación tiene un portal dedicado o requiere ajustes de interfaz para funcionar en dispositivos móviles, pruébela tanto en plataformas Android como Apple. Es posible que no sea factible probar todos los tipos de dispositivos posibles, por lo que debe trabajar con su base de usuarios para determinar qué plataformas móviles satisfacen mejor sus necesidades.

Además, pruebe tanto en redes celulares como en redes Wi-Fi, ya que las diferentes velocidades de datos afectan el comportamiento de una 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 provocar que la aplicación funcione de manera diferente o que no funcione en absoluto.

Por último, realice una prueba de imprimibilidad. La gente todavía imprime y, para algunos, es una función laboral fundamental. No subestime este problema técnico potencialmente desafiante. Imprimir desde una aplicación basada en la nube a una impresora local puede generar desafíos de seguridad y de red que, por lo general, no existen en las instalaciones.

Consideraciones de seguridad para las pruebas de migración a la nube

Debe realizar una auditoría de seguridad de la aplicación adecuada y realizar ajustes en los privilegios de los usuarios antes de comenzar a trasladar una aplicación desde las instalaciones locales 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 dependencias.

Las pruebas de migración a la nube deben incluir una validación de seguridad que confirme los siguientes tres factores clave:

  1. ¿Quién tiene acceso a la aplicación? Comience con las cuentas, características y funciones a las que acceden los usuarios. Agregar más variables no ayuda ni acelera las pruebas. El acceso de los usuarios debe reflejar lo que tenían con la aplicación local, ni más ni menos.
  2. ¿Cómo ha garantizado el principio del mínimo privilegio? A medida que sus datos se trasladan entre diferentes servicios en la nube, ¿qué pasos garantizan el principio del mínimo privilegio? Los proveedores de servicios en la nube ofrecen servicios e informes para ayudar con esto; tómese el tiempo para aprenderlos, documentarlos y usarlos.
  3. ¿Los cambios de seguridad afectan la aplicación? Siempre vuelva a ejecutar las pruebas de la aplicación después de realizar un cambio de seguridad, ya que dichos cambios pueden afectar potencialmente el rendimiento. Por ejemplo, ¿el cifrado de datos en vuelo y en reposo cambia el tiempo de respuesta de la aplicación o agrega sobrecarga a los ciclos de CPU? Esto puede ser un subconjunto de las pruebas completas, pero debe volver a validar que la aplicación aún funcione como se indica en la línea base y que el cambio de seguridad no la 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 siempre suponen un desafío y, a pesar de toda la planificación y las pruebas, surgirán problemas. Sin embargo, la mayoría de los problemas se pueden solucionar. A continuación, se indican los problemas que es probable que surjan y las formas de abordarlos.

Desafío 1: Priorizar las métricas de pruebas de aplicaciones

La experiencia del usuario 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 espera. Una aplicación que carece de funcionalidades básicas, incluso si es absolutamente segura o está perfectamente optimizada para los usuarios, no beneficia a nadie.

Práctica recomendada: Equilibrar el diseño y la seguridad con la funcionalidad crítica

Tómese el tiempo necesario para abordar todos los factores –funcionalidad, experiencia del usuario y seguridad– al comienzo del proceso de migración a la nube. No son aspectos separados en los que pueda trabajar en diferentes etapas. Están interconectados y debe tratarlos como tales.

Desafío 2: Recortar gastos solo para que la aplicación funcione

Es fundamental asegurarse de 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 los controles de seguridad para que una aplicación funcione en un nuevo entorno y olvidarse de restaurar esas medidas de seguridad después. Eso puede ahorrar tiempo al principio, pero genera más trabajo más adelante y dificulta las pruebas en general.

Práctica recomendada: 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 impulsiva de realizar cambios a gran escala para que todo funcione de inmediato. Invierta tiempo en su plan de migración a la nube para abordar estos problemas.

Desafío 3: Dejar las pruebas completamente en manos del departamento de TI

Las migraciones a la nube son iniciativas complejas que requieren muchas disciplinas para garantizar que una aplicación migrada funcione de forma segura y a gran escala. El departamento de TI tiene una gran responsabilidad y puede ayudar a liderar estas iniciativas, pero no se puede simplemente hacer un trabajo descontrolado y centrarse en el aspecto técnico sin la experiencia de un equipo de desarrollo.

Práctica recomendada: Formar un equipo de pruebas diverso

Cree un equipo interdisciplinario para brindar soporte a la aplicación e identificar posibles problemas. El equipo debe ser ágil y necesita expertos en la materia para garantizar que se tengan en cuenta todos los aspectos. Reserve ciertos temas en las reuniones para no sobrecargar a todos con demasiada información. Algunos asistentes pueden aburrirse y dejar de prestar atención a la jerga técnica que está fuera de su especialidad.

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 puede afectar sin que lo sepamos muchos otros aspectos del funcionamiento de la aplicación y aumentar los problemas y los costos técnicos. Este tipo de aumento del alcance o de las características en las pruebas de migración puede crecer rápidamente hasta niveles insostenibles.

Práctica recomendada: probar y verificar funciones adicionales

En primer lugar, trate de 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 la expansión de funciones. Si debe agregar nuevas funciones o características menores, obtenga la aceptación de todos y pruebe y examine los cambios para comprender sus impactos más amplios. Sea capaz de decir que no a los elementos. Puede parecer fácil en concepto, pero puede ser bastante difícil de decir para algunas personas, especialmente para los gerentes.

Desafío 5: Equilibrar la cadencia de las pruebas con las prioridades en competencia

Lo ideal es que realice pruebas de seguridad continuas y, al menos, pruebas semanales para validar los datos y gestionar los registros de errores. Lamentablemente, el dinero, el tiempo y las prioridades cambiantes de TI y la administración pueden invalidar esos planes. La nube cuesta dinero por cada segundo que está en 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.

Práctica recomendada: planificar en función de las actualizaciones importantes y presionar para que haya más

El departamento de TI siempre encuentra formas de adaptar lo que se requiere a lo que está disponible. Divida las pruebas de migración a la nube en lo que la gerencia desea, necesita y espera. Establezca un marco de pruebas para verificaciones diarias y semanales en torno a los cambios importantes en la aplicación o plataforma base. Insista en que se realicen con mayor regularidad si hay más recursos disponibles.

Desafío 6: Limitar las pruebas de UX

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 se traslada una aplicación a la nube, se necesita una visión más completa de ella. Eso significa recopilar datos sobre la experiencia de usuario general desde múltiples perspectivas y no solo técnicas.

Práctica recomendada: ampliar los equipos de pruebas de usuarios

Coordine las pruebas de usuario con un amplio grupo de evaluadores con diferentes experiencias y roles. Incluya personas con conocimientos sobre la nube, pero también principiantes. La mayoría de los usuarios no conocen ni les interesa la maquinaria interna de la nube, pero ven la aplicación y tienen ciertas expectativas de rendimiento. Y, a veces, pueden conocerla un poco mejor que usted.

Desafío 7: Probar métricas que pasan por alto las preocupaciones sobre los costos de la nube

En una migración local, normalmente, se es el propietario de todas las piezas que toca la aplicación. En una migración a la nube, se incurre en costos por cada paso del proceso, cada servicio llamado y cada transferencia de datos a una memoria caché o de regreso a las instalaciones locales. Existen integraciones y dependencias con otros servicios en la nube, algunas de las cuales pueden no ser obvias. Es posible que esté usando herramientas de prueba basadas en la nube. Cuando llegue la factura, puede ser un shock y obligarle a ajustar la aplicación o incluso reevaluar la migración a la nube.

Práctica recomendada: realizar pruebas periódicas para revelar 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 lo que hace una aplicación cuando se ejecuta en la nube. Por lo tanto, las pruebas de migración a la nube frecuentes 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.

Creación de una estrategia de prueba de migración a la nube

Cuando se trata de listas de verificación y procedimientos paso a paso, las personas suelen centrarse en las cosas que quieren y pasan por alto las que no les gustan, o suponen que seguir los pasos es fácil. Este enfoque nunca termina bien, por lo que es importante comprender el impacto y los desafíos de los siguientes pasos:

  1. Evalúe. Es fácil pasar por alto este aspecto diciendo que es tan simple como tomar la infraestructura en la que se ejecuta una aplicación y colocarla en la nube. Los recursos locales, como discos duros grandes y CPU enormes, son bastante baratos en un centro de datos local. Esa matemática cambia en la nube porque paga por mes por todo, por lo que debe tener en claro lo que necesita, no lo que ya tienes.
  2. Mapee. ​​Se necesita una regla de firewall simple para deshabilitar una pila de aplicaciones completa o un solo recurso compartido de datos que no esté configurado correctamente. Es fundamental recordar que todo se comunica entre sí y saber dónde se necesitan recursos adicionales para garantizar que el mapa sea preciso.
  3. Seleccione. Recuerde que no todo está pensado para la nube. Sea honesto acerca de si una aplicación no es la adecuada o si es demasiado costosa para migrarla. Y, cuando se trata de elegir la nube correcta, todo debe estar sobre la mesa. No asuma que tiene la respuesta correcta.
  4. Desarrolle. Elabore un plan y cúmplalo. Esto ayuda a mantener al equipo concentrado y evita que el proyecto se desvíe. Celebrar los hitos cuando se alcanzan y asegurarse de que los usuarios y los gerentes estén al tanto del progreso. Mantenga la transparencia.
  5. Cree. Este es el paso que la gente suele querer saltar, pero no se debe hacer nada hasta que se completen los primeros pasos. Esto se debe a que, cuando se salta a la parte divertida, a menudo se termina rehaciendo porque se descubre que se pasó por alto algo que se habría identificado en la planificación.
  6. Replique. No destruya lo que ya funciona y no introduzca cambios no planificados en la aplicación solo porque tiene la oportunidad de hacerlo, ya que aún no está en línea.
  7. Pruebe. Asegúrese de que una amplia gama de usuarios y dispositivos participen en la prueba de la aplicación. A menudo, es el usuario ocasional el que encuentra un problema común, no el usuario avanzado que simplemente soluciona el problema o ni siquiera se da cuenta de que existe un problema.
  8. Verifique. Técnicamente, este es el paso más fácil porque ha estado haciendo las tareas de seguridad todo el tiempo y puede decir que ya está hecho. Si espera hasta el final para reforzar la seguridad, debe volver a verificar que la aplicación todavía funciona.
Revise esta lista de verificación para coordinar los esfuerzos de migración a la nube, desde mapear las integraciones y dependencias de una aplicación hasta identificar brechas de seguridad y probar la funcionalidad y la experiencia del usuario.

Riesgos clave de la migración a la nube sin pruebas

Las pruebas son una tarea difícil en el mejor de los casos y, en el costoso mundo de las TI, a menudo pierden terreno ante la suerte o la ambición. Esto suele ocurrir cuando la dirección considera las TI como un centro de costos y no como un activo. Desde el punto de vista de la dirección, la nube es una gran caja que no pueden ver ni entender y que se supone que debe funcionar tan bien como lo hace para ofrecer música y entretenimiento a sus teléfonos inteligentes.

Esta falta de comprensión es lo que los gerentes de proyectos de TI deben contrarrestar comunicando a las partes interesadas la gravedad de lo que podría suceder sin buenas pruebas de migración a la nube.

Los beneficios y riesgos se pueden resumir de la siguiente manera: los resultados de las pruebas exitosas son los siguientes:

  • Personal seguro de sí mismo. Ver una prueba exitosa genera confianza en las herramientas, la capacitación y los plazos, todos elementos clave para una migración exitosa.
  • Ahorro de costos. Invertir en pruebas por adelantado puede ahorrar una cantidad incalculable de dinero en el proceso final.
  • Interrupciones del servicio minimizadas. Las interrupciones del servicio planificadas son aquellas que los usuarios comprenden, pueden planificar y con las que pueden trabajar. Son las imprevistas las que molestan a la gente.

Por el contrario, una prueba de migración a la nube deficiente o inexistente puede provocar lo siguiente:

  • Interrupciones del servicio. Sentir la ira de los usuarios quejándose con la administración no soluciona el problema más rápido y es un riesgo particular en el caso de interrupciones no planificadas.
  • Es necesario recurrir a consultores. Cuando surgen problemas que no se pueden resolver de inmediato, la dirección exige soluciones lo antes posible. Contratar consultores se convierte en la única opción. Los consultores lo saben y aumentan sus precios en consecuencia.
  • Agotamiento del personal. Es necesario que la gente esté en su mejor momento para una migración, porque no se termina en un día. Es inevitable que surjan problemas menores y, si se empieza con el pie izquierdo, resulta casi imposible enderezar el barco.

Las pruebas de migración a la nube son opcionales y tienen un costo. La pregunta es cuánto riesgo está dispuesta a asumir la organización al omitirlas y si puede manejar el impacto si se produce una interrupción importante.

Brian Kirsch, arquitecto de TI e instructor de Milwaukee Area Technical College, ha trabajado en TI durante 30 años y posee múltiples certificaciones.

Investigue más sobre Apps y servicios de nube