Durante más de 6 meses he estado investigando acerca de las diferentes plataformas cloud, esto me ha llevado a probar casi todos los productos de software disponibles en el mercado tanto de código abierto como productos comerciales, adicionalmente he analizado los productos y servicios de diferentes proveedores, incluso a intentar desarrollar un software cloud propio, si bien esta labor de investigación no me convierte en un experto en cloud, si me ha dado la base teórica y el conocimiento necesario como para hacer recomendaciones a aquellos que desean contratar servicios cloud o para empresas que desean desarrollar sus propios clouds.
Mucho se ha hablado acerca del cloud y suele venderse como la solución a todos los problemas de alojamiento, pero ¿es esto realmente cierto? ¿es Cloud Hosting la solución a todos los problemas? la respuesta la veremos más adelante.
Objetivo:
Mi intención no es más que informar y asesorar, especialmente a empresas que están considerando ofrecer servicios cloud, sin embargo esta información es importante incluso para posibles compradores de servicios cloud hosting.
En términos simples ¿que es Cloud Hosting?
Cloud Hosting es una tecnología que permite adquirir los recursos (CPU, Memoria, Almacenamiento y transferencia) por uso, al igual que como pagamos por servicios como luz, teléfono, etc. a diferencia de servidores dedicados y VPS en donde pagamos una renta fija con x cantidad de recursos ya sea que hagamos uso de ellos o no, por ejemplo en un dedicado, así el servidor no esté en uso o su uso sea muy bajo, igual tendremos que pagar la mensualidad del servicio al proveedor, en Cloud Hosting podemos variar dinámicamente el tamaño de los recursos, es decir podemos comprar 2 GHz de CPU y 2GB de memoria y aumentar los recursos cuando los necesitemos o reducirlos si la demanda baja, como cuando vamos al supermercado a hacer las compras de la semana y compramos un poco más cuando sabemos que nuestros primos vienen a visitarnos.
Adicionalmente a los expuesto arriba, para que una solución sea llamada Cloud Hostind no solo debe ser facturada como servicio y ser expansible dinámicamente, también debe ofrecer redundancia, capacidades de tolerancia a fallos y estar basados en virtualización.
Para que sirve un Hosting Cloud:
Las aplicaciones son muy variadas, pero en líneas generales sirven para cualquier aplicación que normalmente estaría alojada en un VPS o Dedicado, en mi opinión no sustituyen a ninguno de estos servicios, pero le dan al usuario final la posibilidad de elección, por ejemplo para una web de alta demanda, Cloud Hosting podría ser ideal, ya que permite dinámicamente ampliar los recursos en horas pico y disminuirlos en horas de bajo tráfico.
¿Es Cloud Hosting la solución a todos los problemas de hosting?
Cloud Hosting se ha vendido como la solución a todos los problemas de hosting, si bien es cierto que simplifica muchas cosas tanto para usuarios como para proveedores pero no es la solución a todos los problemas de clientes, existen muchas falsas creencias en cuando a estos servicios.
Mitos y Realidades
Cloud Hosting es a prueba de fallas: Falso, las estadísticas demuestran que hasta los grandes nombres en la industria de Cloud Hosting han experimentado extensos períodos de downtime, esto probablemente debido al hecho de que aún es una tecnología nueva y requiere tiempo para madurar o al simple hecho de que nada es totalmente a prueba de fallos.
Cloud Hosting puede ser expandido ilimitadamente: Falso, una máquina virtual solo puede ser tan potente como el servidor físico en donde se aloja menos los recursos que necesita el sistema operativo y el propio cloud, por ejemplo si el proveedor utilza servidores DUAL XEON 5520 como plataforma cloud, el nodo más potente solo podrá tener la misma potencia de un servidor Dual Xeon 5520 menos aproximadamente un 5% de recursos, que es lo que requiere el sistema de cloud y el sistema operativo, normalmente la expansión más allá de una nodo se logra balanceando la cargas entre múltiples máquinas virtuales.
Puedo tener ilimitadas maquinas virtuales bajo cloud hosting: Teoricamente es posible, pero siempre estará sujeto a la capacidad que tenga instalada el proveedor, por ejemplo si hoy tenemos 10 maquinas virtuales y queremos expandir mañana a 1000 maquinas virtuales, probablemente el proveedor no tenga capacidad instalada para satisfacer esa demanda de forma inmediata.
Cloud Hosting es más barato que VPS y Dedicados: Falso, Cloud Hosting requiere de una costosa infraestructura, lo cual aumenta los costos para el proveedor, adicionalmente el proveedor debe dejar una parte de la infraestructura sin uso para que los usuarios puedan expandir y para tolerancia a fallos, esto también aumenta los costos, por lo general VPS y Dedicados son más económicos si se compara con recursos similares en Cloud, la ventaja del cloud es que dispone de precios de entrada más bajos, mayor redundancia y tolerancia a fallos.
Cloud Hosting es mucho más veloz que VPS y Dedicados: Esto puede o no puede ser cierto, depende del proveedor y la implementación que haya hecho, en cloud hosting la data se guarda en sistemas de almacenamiento SAN/NAS esto quiere decir que su data no está físicamente en el mismo servidor en donde se ejecutan los procesos (Memoria y CPU) mover la data de servidores externos puede ser mucho más lento que tener los discos directamente instalados en el servidor y para obtener velocidades superiores se requiere tecnología bastante costosa, por esta razón muchos cloud pueden tener un desempeño de lecturas y escrituras a disco inferior a un dedicado.
Ventajas
Los cloud presentan muchas ventajas:
- Por diseño son tolerantes a fallos: los cloud separan los procesos (cpu y memoria) de la data (almacenamiento) de esta forma es posible reemplazar un nodo que falla de manera instantánea, es terminos simples la data estará en sistemas de almacenamiento SAN y esta será montada en los servidores que proporcionan el cpu y la memoria, en caso de que el servidor falle, el sistema cloud puede montar rápidamente la dada en otro servidor que tenga recursos disponibles, si el almacenamiento falla, el proveedor debe tener un sistema de almacenamiento secundario, en caso de fallas de red (switches, routers, tarjetas de red, firewall, etc) el proveedor deberá tener un sistema completamente redundante para minimizar las fallas.
- Recurso bajo demanda: La capacidad de ampliar o disminuir recursos dinámicamente.
- Bajo Costo de inicio: el poder contratar pocos recursos al inicio e ir aumentando a medida que se requieran permite que el costo inicial sea bajo en comparación con dedicados en donde se debe pagar por la totalidad del servidor así solo se use una pequeña porción de recursos.
Los clouds también presentan algunas desventajas, sin embargo estás desvantajas son más del proveedor que de la tecnología en si.
- Precios: Comparando recursos entre cloud y dedicados, cloud hosting puede ser más costoso, arriba expliqué porque los costos de cloud son más elevados.
- Posibles problemas de I/O: dependiendo de la tecnología usada por el proveedor, cloud hosting puede ser más lento en rendimiento de discos que servidores dedicados (más adelante explicaré como hacer test de rendimiento)