¿Qué es Computación en la Nube?

Bueno, ahora vamos a hablar de qué se trata esto de la Computación en la Nube o Cloud Computing en Inglés.

Ya explicamos por qué se le dice Nube y veamos ahora en qué consiste. Primero hay que decir que se deben cumplir ciertas condiciones básicas para que estemos hablando de una nube:

  1. Servicio por Demanda y Auto Aprovisionado
  2. Amplio acceso desde la red
  3. Agrupación de recursos
  4. Elasticidad
  5. Servicio medible

Estas características se encuentran el documento que el NIST (National Institute of Standards and Technology) definió en el año de 2011 y que ilustran a la perfección lo que es una nube. El documento es el “NIST SP 800-145, The NIST Definition of Cloud Computing” y lo pueden encontrar Aquí

Si no se cumplen estas condiciones no estamos hablando de Computación en la Nube propiamente dicha.

Empecemos por explicar cada una de estas condiciones:

  1. Servicio por Demanda y Auto Aprovisionado. Cualquier usuario puede aprovisionar por sí mismo sus propios recursos, por ejemplo un servidor Windows o Linux, un espacio de almacenamiento o un sitio web desde una plantilla sin intervención de un tercero. Cada vez que el usuario lo requiera simplemente aprovisiona los recursos que necesita.
  2. Amplio acceso desde la red. Como para complementar yo diría “acceso a través de protocolos de Internet estándar como HTTP y/o HTTPS”. Ello quiere decir que usando un navegador cualquiera podemos tener acceso a un portal para aprovisionar recursos. ¿Que sea acceso Público o Privado? Eso dependerá del tipo de Computación en la Nube que yo haya definido.
  3. Agrupación de recursos. Esta es una de las condiciones más importantes pues se trata del hecho de tener los recursos de cómputo agrupados para diferentes usuarios o compañías, que se encuentran lógicamente separados entre sí de modo que cada uno de ellos ve solamente sus propios recursos. ¿Qué es lo que permite tener esta agrupación? Tecnologías como la virtualización permiten tener una o varias máquinas físicas ofreciendo recursos virtuales como Máquinas virtuales, Red o Almacenamiento entre otros. En su forma más pura un usuario no sabe en qué máquina física están ejecutándose sus máquinas virtuales o recursos, pero sí podría saber en qué país se encuentran estas máquinas virtuales.
  4. Elasticidad. Un usuario de recursos de nube debe estar en la capacidad de crecer y decrecer sus recursos de acuerdo a sus necesidades y de nuevo sin intervención de un tercero. Si necesito aumentar la capacidad de memoria de una máquina virtual debo poder hacerlo más allá de que el Sistema Operativo me pida reiniciar en algunos casos para tomar los cambios.
  5. Servicio medible. Yo como usuario debo estar en la capacidad de medir el consumo de recursos sea cual sea el recurso que consuma en la nube, como cómputo (Máquinas Virtuales), Disco, Ancho de Banda, etc.

Ciertamente es un concepto que no es fácil de digerir, puesto que las compañías tradicionalmente han usado infraestructura de cómputo en sus propias instalaciones. Ello no es que sea malo ni bueno para efectos prácticos, y depende de las necesidades de la compañía.

Desde hace unos años también han usado Datacenters o Centros de Datos, que son sitios adecuados para alojar máquinas como servidores, almacenamiento, switches, routers, firewalls, balanceadores de carga, unidades de respaldo y cualquier otro dispositivo necesario para un ambiente de IT. Detrás de dicha capacidad de alojar equipos de cómputo está la necesidad de tener instalaciones físicas con sistemas de refrigeración, sistemas eléctricos complejos, sistemas de cableado de red y fibra óptica, y sistemas anti-incendios entre otros aspectos.

Todo ello con redundancia para estar preparados ante eventualidades de cualquier naturaleza. Toda esta infraestructura es costosa y requiere una inversión muy fuerte de capital, por eso es que solamente las compañías con un músculo financiero muy fuerte pueden tener esta infraestructura y las compañías cuyo negocio principal no es la tecnología prefieren alquilar servicios de un Datacenter para alojar su infraestructura de IT y aquí es donde tiene mucho sentido el concepto de nube.

Hoy en día todo se consume como servicio o “As a Service” como se diría en Inglés, por ello es que surgieron conceptos como: IaaS, PaaS y SaaS los cuales pasaré a explicar a continuación.

IaaS (Infrastructure As A Service). Infraestructura Como Servicio. En su más pura expresión consiste en en usar recursos de cómputo como servicio, es decir -y sin perder de vista las premisas que ya mencioné- consumir máquinas virtuales solamente cuando yo las necesite y pagando solamente por lo que se use de dichas máquinas. Vale decir en este punto que la virtualización es una tecnología fundamental en los aspectos relacionados con la computación en la nube, pues permite fraccionar una máquina física en varias máquinas virtuales con sistemas operativos Windows o Linux por ejemplo. (Recuerdan la premisa #3 “Agrupación de Recursos”?). Más adelante vamos a ver que hoy en día ciertos proveedores como IBM pueden proveer en una nube máquinas físicas.

PaaS (Platform As A Service). Plataforma Como Servicio. Es un nivel más allá de la infraestructura debido a que provee entornos para ejecución de aplicaciones o desarrollo de las mismas sin que el usuario final o consumidor tenga que preocuparse por mantener este entorno. Llevémoslo a un ejemplo: Para ejecutar una aplicación web hecha en PHP y con conexión a una Base de Datos MySQL debo preparar un servidor (Windows o Linux por ejemplo) con un servidor Web Apache o IIS con soporte a PHP y MySQL y ello implica un trabajo importante así como un monitoreo posterior y permanente del servidor en variables como el espacio en disco, por sólo citar un ejemplo. En el caso de PaaS el proveedor ya le provee al usuario este entorno listo para su uso sin preocuparse de la configuración de dicho entorno.

SaaS (Software As A Service). Software Como Servicio. Este es el mejor de los mundos, pues aquí yo sólo me preocupo por ejecutar mis aplicaciones como un servicio y ya. El mantener dichas aplicaciones es problema de otro y no mío. Cuando uso un ERP o un CRM en la nube tengo un ejemplo clásico de SaaS. Por supuesto los datos son míos.

En el siguiente gráfico se puede ver cómo es el esquema de cada una de las soluciones:

aaS

De izquierda a derecha es posible notar que el color azul muestra lo que administra el cliente, empezando por un modelo tradicional en donde el cliente es responsable de toda la gestión de recursos tanto de infraestructura como aplicaciones así como las bases de datos y los datos en sí.

Como ya lo dije anteriormente, no es un modelo que esté mal y aún tiene mucha validez en muchos escenarios que por ejemplo manejan datos sensibles como los bancos, una agencia de seguridad gubernamental o incluso un hospital con datos críticos de sus pacientes.

En la medida que se avanza hacia la derecha en este gráfico podemos notar que se le va entregando la responsabilidad de gestión de ciertos componentes a un tercero, como lo es un proveedor de servicios de nube. En el caso de IaaS me entregan un Sistema Operativo ya instalado y yo debo ser responsable de administrarlo pero no me preocupo por la infraestructura en donde se encuentra alojado y ejecutándose dicho sistema operativo.

Si voy al modelo PaaS, sólo me debo preocupar por mis datos y mis aplicaciones. Que si corren en un Sistema Operativo A o en un Sistema Operativo B es secundario, el proveedor debe garantizarme que la plataforma siempre esté disponible y de acuerdo a los acuerdos de niveles de servicio a los que se comprometió conmigo.

Y por último está SaaS que en la imagen está completamente en gris y en donde sólo me debo preocupar por usar el servicio, y por supuesto los datos son sólo míos.

¿Interesante verdad? Pues bien, resulta que como ahora la tendencia es tener muchas “cosas” como servicio o “As a Service”, entonces surgieron nuevas tendencias como:

BPaaS. Business Processes As a Service. Procesos de negocio como servicio.

DBaaS. Database As a Service. Bases de Datos como servicios

DaaS. Desktop As a Service. Escritorios como servicio, por ejemplo máquinas con Windows 10 como servicio.

Security-aaS. Security As a Service. Seguridad como servicio

CaaS. Communications As a Service. Comunicaciones como servicio.

MaaS. Monitoring As a Service. Monitoreo como servicio.

¿Es una locura cierto? Pero es la tendencia, ya casi nadie quiere firmar un contrato con un proveedor a 36 o 48 meses, o comprar hardware, mantenimiento y asumir la obsolescencia de dicho hardware.

Dejé para lo último XaaS, también conocido también como EaaS (Everything As a Service) o *aaS. En pocas palabras cualquier cosa como servicio en lo que tiene que ver con los recursos de IT, pues aún mi compañía de televisión por cable, telefonía e Internet no ha querido entrar en ese modelo…

Hay mucho camino por recorrer y a través de este blog voy a empezar a hablar de cada uno de estos elementos haciendo énfasis en los principales proveedores del mercado, y especialmente en la plataforma de nube de IBM.

2 comentarios en “¿Qué es Computación en la Nube?

Deja un comentario