Eruano's Blog

Simple y con foco… como debe ser!

Cloud computing & Cloud testing

with one comment

1.     Qué es Cloud Computing?

Cloud Computing es una tecnología que permite ofrecer servicios de computación a través de Internet. En este modelo de computación todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los servicios disponibles «en la nube» de Internet sin conocimientos (o, al menos sin ser expertos) en la gestión de los recursos que usan.

El recurso de Hardware en la «nube» parece escalable infinitamente y puede ser usado en cualquier parte, los clientes pueden acceder a través de cualquier sistema, lugar, día y hora.

Uno puede acceder libremente a cualquier solución, utilizar lo que desee y cuando desee, y luego se sale. Es como cualquier empresa que le da servicios básicos, como el gas o la luz.

Para citar un ejemplo, cuando una empresa obtiene un software como producto debe invertir en recursos computacionales, muy seguramente en un servidor para montar su aplicación (generalmente aplicaciones web). La cantidad de la inversión depende de la cantidad de  usuarios que van a atender los servidores, por ejemplo, si requieren atender al menos 1000 usuarios concurrentes, van a requerir una cantidad mínima de computo en el servidor para dar un buen tiempo de respuesta a sus usuarios; por rangos de tiempo, el número de usuarios concurrentes crece al doble de forma esporádica, porque hay mayor utilización del portal web en determinados tiempos, entonces es necesario que la empresa invierta en otro servidor de las mismas características para poder atender los 2000 usuarios concurrentes que se presentan esporádicamente, porque de lo contrario el tiempo de respuesta puede ocasionar pérdida de clientes; pero en el momento que el número de usuarios concurrentes se estabilice a 1000, la empresa va a tener recursos de computo que no se van a utilizar, lo que generará gastos en cuanto a depreciación, mantenimiento entre otros, claro está, que solo cuando no se presenta la situación de aumento de usuarios concurrentes. Esto no pasa en  un ambiente de Cloud Computing debido a que usted como empresa puede configurar sus servidores virtuales desde una consola de mando que ofrece la empresa de Cloud Computing, a través de esta consola usted puede inicialmente configurar las capacidades de su servidor para atender 1000 usuarios concurrentes, si usted se da cuenta que el número de usuarios concurrentes crece a 2000, usted puede configurar su servidor con mayor capacidad o lanzar otro servidor virtual de iguales características y en el momento que el número de usuarios concurrentes se estabilice a 1000 simplemente bajar las capacidades de los servidores o dejar solo uno, esto aplica de igual forma si los usuarios concurrentes disminuyen, de esta forma usted como empresa en Cloud Computing solo paga por lo que usted utiliza manteniendo costos variables y no fijos, esta característica del Cloud Computing es conocida como elasticidad.

Finalmente el Cloud Computing realizara un gran aporte al medio ambiente debido a que la gran mayoría de PYMES (Pequeñas y medianas Empresas) no tendrán que acceder a la compra de servidores si no que utilizaran los recursos que les ofrece el Cloud, estas súper maquinas del Cloud Computing  siempre están en lugares estratégicos (por ejemplo, Nueva Zelanda) donde  el coste de refrigeración sea menor y por ende se consuma menos energía a nivel mundial debido a que una súper maquina puede reemplazar miles de maquinas o servidores convencionales.

2. Cloud Testing

Uno de los paradigmas que día a día cobran más fuerza es el cómputo en la nube, y obviamente la práctica del testing no podía quedarse fuera de esta nueva moda; por ello ha surgido el llamado Cloud Testing, que podemos definirlo como el conjunto de elementos y prácticas de testing que utilizan como plataforma principal «la nube».

Cloud Testing es una forma de pruebas de software en el que las aplicaciones web utilizan entornos de Cloud Computing; tratan de simular el tráfico de usuarios del mundo real como un medio de pruebas de carga y pruebas de estrés. La capacidad y el costo para simular el tráfico de Internet para fines de pruebas de software ha sido un inhibidor de la fiabilidad general de la web así como también el bajo costo y accesibilidad de los recursos del Cloud Computing. Además proporciona la capacidad de replicar el uso de estos sistemas a usuarios distribuidos geográficamente, así como también la ejecución de gran variedad de escenarios de los usuarios, a escalas previamente inalcanzables en entornos de prueba tradicionales.

Empresas simulan los usuarios de Internet del mundo, mediante el uso de servicios de Cloud Computing, los cuales son proporcionados por proveedores de servicios Cloud, como SOASTA, HP, Load Impact, Compuware and Keynote Systems. Una vez que los escenarios de usuarios se desarrollan y la prueba es diseñada, estos proveedores de servicios aprovechan los servidores de la nube (proporcionado por los proveedores de plataforma en la nube, como Amazon.com, Google, Rackspace, etc) para generar tráfico Web que se origina en todo el mundo. Una vez finalizada la prueba, los proveedores de servicios Cloud ofrecen resultados y análisis a profesionales de TI corporativos, a través de paneles en tiempo real para un análisis completo de cómo sus aplicaciones y redes se llevarán a cabo durante el pico de volúmenes.

Las pruebas en la nube se discuten a menudo en el contexto de las pruebas de rendimiento o carga; sin embargo, todos los tipos de pruebas de la aplicación de software, ya sean de rendimiento, funcionalidad, usabilidad, etc, pueden ser considerados como pruebas de nube, si la entidad de pruebas está destinado a una aplicación que reside en una plataforma de cómputo de terceros, y accede a la plataforma a través de Internet.

Algunas claves de testing con éxito en la nube son:

1. Comprender que un proveedor de plataforma ofrece elasticidad y/o configuración dinámica.

2. Mantenerse al tanto de los servicios del proveedor.

Eso significa que cualquier organización tiene en sus manos – literalmente – la capacidad de lanzar una prueba de carga distribuida en contra de su aplicación y la infraestructura de apoyo donde quiera que sea desplegado. Apuntar y hacer clic. Arrastrar y soltar. La capacidad de realizar estas

3. Load-Testing

Son pruebas de carga o de rendimiento a las que se somete el software con una cantidad virtual de usuarios, tratando de simular cómo sería en un entorno de producción real.

Por ejemplo, se desea controlar el rendimiento en la carga de una aplicación; tradicionalmente, para apoyar esta prueba, se deberían tener los siguientes componentes:

  • Suficientes dispositivos hardware para simular el entorno real.
  • Ambiente con el software instalado.
  • Ancho de banda suficiente para la simulación.
  • Profesionales capacitados para ejecutar, supervisar y analizar los resultados de las pruebas.

El costo de este entorno puede resultar alto en comparación con las pruebas que se pueden realizar a través de la programación de “robots” para Cloud.

4. Algunas similitudes y diferencias entre las pruebas cloud y no cloud

Similitudes

  • Pruebas basadas en rendimiento
  • Pruebas basadas en el riesgo
  • Plan de pruebas / Fases de pruebas
  • Casos de Prueba / datos de prueba / automatización de pruebas
  • Gestión de defectos / Pruebas funcionales
  • Políticas de / calidad / Cronograma / Recursos
Diferencias
  • Entornos de prueba compartidos para múltiples usuarios
  • Seguridad
  • Integración de sistemas fuera de las instalaciones
  • Rendimiento / volumen de pruebas

 5. Herramientas

Los principales proveedores de tecnología, como HP, Intel y Yahoo están actualmente colaborando en la creación de «bancos de prueba»; una nube enorme compuesta de  miles de procesadores trabajando juntos como centros en el Cloud Computing. Estos bancos de pruebas permitirán a los usuarios probar sus implementaciones de Cloud.

Las actuales ofertas de herramientas de prueba de la talla de HP e IBM son ideales para las pruebas no funcionales y automatizadas en un ambiente Cloud. HP’s Quick Test Pro o IBM’s Rational Robot se pueden utilizar con plena efectividad dentro de un entorno de Cloud Computing para llevar a cabo pruebas automatizadas tales como pruebas de regresión.

Herramientas bien conocidas tales como HP’s Load Runner or IBM’s Rational Performance Tester es familiar a los testers del mundo; cantidad de herramientas de prueba de rendimiento, que están específicamente diseñadas para probar aplicaciones en la nube, están apareciendo en el mercado, tales como LoadStorm’s or SOASTA’s Cloud Test.

LoadIntelligence (un servicio de CloudIntelligence) – Una solución completa para pruebas de carga de aplicaciones web, que combina el estado del arte de la tecnología y el Cloud Computing. Se tarda sólo unas horas para poner en marcha una prueba de 30.000 usuarios al mismo tiempo, maneja complejas transacciones de base de datos y usuarios autenticados. El costo de la instalación es considerablemente bajo en comparación con otras pruebas de carga.

Micro Focus ha presentado SilkPerformer CloudBurst, una nueva herramienta diseñada para llevar a cabo los procesos de testing de aplicaciones que se encuentren hospedadas en la nube. Llega integrada con Enterprise Cloud Services (ECS), también de Micro Focus, es capaz de testear el funcionamiento de las aplicaciones con tareas tales a la simulación del acceso de cientos de miles de usuarios desde cualquier punto del planeta. Así, facilita las tareas de diagnóstico y resolución de problemas.

Micro Focus ha diseñado para esta herramienta dos modalidades de pago, por uso y de forma permanente. Según Rich Novak, presidente y director general de Micro Focus Application Management y Quality Division, “SilkPerformer ofrece total capacidad para realizar desde cualquier parte y de forma fácil y rápida las pruebas de rendimiento y carga de sus aplicaciones, proporcionando a las empresas la capacidad de reaccionar inmediatamente, eliminando los defectos a un coste menor”.

6.     Algunas Referencias

El contenido de este post fue compilado con en su mayor parte por  cmayav@gmail.com

Written by eruano

18 junio 2011 a 9:04 am

Publicado en Academia

Tagged with , ,

Una respuesta

Subscribe to comments with RSS.

  1. […] Fuente: Eruano's Blog […]


Deja un comentario