- Un colaborador configura en la nube una máquina virtual para hacer algunas pruebas e instala algún software que tenga una vulnerabilidad. En horas o días, esta máquina –por la que somos responsables– es reclutada a una red botnet y empieza a atacar desde la nube a terceros. Mientras lo hace, multiplica por más de 100 nuestros costos por transferencia de datos. Si no hay mecanismos de monitoreo, podemos tener una muy desagradable sorpresa cuando llegue la cuenta del mes. ¿Por qué es éste un riesgo específico de la nube? Por la elasticidad justamente que puede permitir que una máquina comprometida de esta forma use muchos recursos sin afectar el resto de nuestros servicios. No es fácil darse cuenta de lo que está sucediendo. En cambio, en un sitio interno, con recursos más limitados, un escenario así provocaría inmediatamente una degradación de desempeño que haría obvio que tenemos un problema.
- Hemos configurado nuestra aplicación en la nube para que responda automáticamente a la demanda creando más máquinas virtuales bajo demanda cuando se requiera. Y sufrimos un ataque de denegación de servicio que provoca que creemos decenas o cientos de máquinas virtuales en poco tiempo respondiendo a la falsa demanda. También incurriendo rápidamente en costos fuera de control.
Infraestructura en la nube: ¿costos fuera de control?
El modelo de cómputo en la nube ha llegado para quedarse, pero utilizarla sin configurar controles y alertas representa un riesgo latente de que los costos se salgan de control.
En este espacio he hablado en varias ocasiones de las ventajas que el uso de la nube puede traer para las empresas. Sin embargo, no todo es color de rosa; a veces hay que estar consciente de algunos riesgos y trabajar para mitigarlos y evitar que se realicen.
En general, cuando trabajamos en la nube –específicamente con servicios de Plataforma como Servicio o de Infraestructura como Servicio–, una de las ventajas que buscamos es la elasticidad. Elasticidad significa que podemos aumentar o disminuir la capacidad de cómputo, almacenamiento y transferencia de datos conforme a nuestras necesidades de una forma muy ágil.
Otra ventaja muy importante al hospedar nuestras aplicaciones en la nube, es que los centros de datos de los principales proveedores como Amazon, Microsoft, Rackspace o Google, cuentan con una enorme capacidad de ancho de banda y mecanismos de replicación que nos dan muy buenos tiempos de respuesta desde cualquier parte del mundo.
¿Cuál es el riesgo entonces? Esta misma elasticidad nos puede exponer de pronto a consumir cantidades excesivas de recursos que generen enormes costos de utilización de la nube en cuestión de horas inclusive. Un par de posibilidades: