En estos últimos años se ha hablado mucho acerca del cloud computing, la nube, el cambio que esto supone en nuestra forma de desarrollar y gestionar nuestras aplicaciones… Pero ¿Qué es realmente el cloud computing?
Las grandes empresas comenzaron a utilizar este término para referirse a aquellos servicios alojados en la red. De hecho esa es la primera cosa que a la mayoría de nosotros se nos viene a la cabeza sobre "Cloud Computing". Por ello, podemos decir que la palabra nube sería equivalente a lo que conocemos como Internet. Sin embargo, el concepto tiene mucho más alcance y es algo que pretendemos relatar en el presente artículo.
Tipos de cloud
En la actualidad existen 3 tipos de nubes:
- Nubes públicas: Se trata de aquellas que son administradas por el proveedor del servicio. La gran ventaja de las mismas es que no requieren de una inversión inicial para comenzar a utilizarlas y no suponen un gasto de mantenimiento para el cliente que la consume. Estas nubes son compartidas con otros clientes dentro de los data centers del proveedor.
- Nubes privadas: Las nubes privadas, a diferencia de las públicas, son administradas por el cliente para obtener un mayor control. Debido a esto, supone una inversión inicial en la infraestructura ya que esta será alojada on-premise, es decir, en las instalaciones del cliente. Como ventaja principal el cliente disfruta de una nube de su propiedad donde él es el único que reside en ella, aunque los gastos de mantenimiento corren a cuenta del propietario.
- Nubes híbridas: Por último tenemos esta opción intermedia entre las dos nubes anteriores. Si bien dicen que este tipo será el más extendido en el futuro, no está tan definido como el resto. La idea principal de las mismas es que el cliente podrá mantener el control de aquellas aplicaciones principales y delegar la administración en las que considere secundarias.
Tipos de servicios
Una vez cubierto los tipos de nubes que existen ¿Qué podemos hacer con ellas?
Dependiendo de la necesidad que necesitemos cubrir, existen distintos tipos de servicios dentro del cloud computing:
- Infrastructure as a Service (IaaS): Este tipo de servicio lo que nos ofrece es la infraestructura necesaria para poder subir nuestro entorno y además ejecutar el software propietario en ella. Los dos pilares fundamentales son la computación y el almacenamiento como servicio. En ocasiones se refieren a IaaS como HaaS (Hardware as a Service). Como ejemplos de este tipo de servicios podemos mencionar GoGrid y Amazon EC2 (Elastic Compute Cloud).
- Platform as a Service (PaaS): Cuando hablamos de la plataforma dentro de la nube, el servicio que nos ofrecen es el entorno donde podemos desplegar directamente nuestras aplicaciones. Los ejemplos más claros en este apartado son la plataforma Windows Azure por parte de Microsoft y Google App Engine.
- Software as a Service (SaaS): El último servicio, y uno de los más conocidos por el mercado, son aquellos transformados en aplicaciones finales proporcionadas por el proveedor, listas para ser usadas por los clientes. En este tipo de servicio se nos asegura el mantenimiento, el soporte y la disponibilidad del software. Dentro de este conjunto, podemos encontrar Microsoft Business Productivity Online Standard (BPOS) lo cual trata de un conjunto de conocidas aplicaciones en su versión online como SharePoint Online, Exchange Online, Office Live Meeting y Office Communications Online. Otro grupo de aplicaciones dentro de este ámbito serían Salesforce, conocidos principalmente por su CRM en la nube, y Basecamp donde su producto estrella es su herramienta de colaboración para proyectos.
Ventajas
Como ventajas de este modelo de administración y desarrollo podemos destacar el ahorro de costes como la más importante, además de la alta escalabilidad, fiabilidad, así como la abstracción del mantenimiento del hardware, algo hasta ahora novedoso en las grandes empresas con su propio departamento de IT.
Uno de los conceptos que mejor definen a los entornos cloud es el término "Pay as you go", el cual significa que solamente pagamos por uso y no una cuota fija mensual como, por ejemplo, en los servicios de hosting tradicionales.
Por último, cabe mencionar la agilidad con la que disponemos de estos servicios, consiguiendo en cuestión de minutos una puesta en producción que podría suponer meses, tratándose del proceso tradicional on-premise.
Desventajas
Si bien es cierto que las ventajas del cloud computing son dignas de ser consideradas, existen algunos puntos que pueden ser cruciales a la hora de pegar el salto a la nube:
En primer lugar, existe la percepción de inseguridad al desplazar nuestra información fuera de nuestro alcance físico, la cual puede manifestar un sentimiento de vulnerabilidad. Para solventar este "miedo" entre los posibles clientes, las grandes empresas del cloud disponen de sistemas eficientes y de alta seguridad para mantener los datos a salvo de posibles ataques.
Otro de los inconvenientes es la dependencia de un proveedor de Internet. Debido a la localización de los servicios, estamos atados a esta necesidad, por lo que es recomendable disponer de una segunda conexión en caso de fallo de la principal.
Aunque cada día menos, todavía existe cierta inmadurez en alguno de los servicios ofrecidos por falta de funcionalidad, en relación a productos similares diseñados para satisfacer estas necesidades en servidores dentro del cliente.
En resumen
En este apartado hemos podido conocer el concepto de cloud computing como la propuesta tecnológica de las grandes empresas para referirse a los diferentes servicios alojados en Internet, así como los distintos tipos de nubes disponibles en el mercado. Además hemos enumerado los tipos de servicios disponibles a día de hoy y cómo algunas empresas ya los ofrecen al público.
En el siguiente artículo veremos cómo la plataforma Windows Azure encaja dentro del cloud y cuáles son los servicios disponibles y futuros conocidos.
Gisela Torres Buitrago
Desarrolladora en tecnologías .NET y Windows Azure MVP