¿Qué es el Cómputo en la Nube?

No estamos hablando de mirar al cielo, el cómputo en la nube se define desde un punto de vista tecnológico y económico.

Published on Jun 24, 2019
  /   Author:  
Rafael Escalante
cloud
sdi
sdn
compute
storage
network
No estamos hablando de mirar al cielo, el cómputo en la nube se define desde un punto de vista tecnológico y económico.

En la actualidad escuchamos con frecuencia el término nube. Todo mundo habla de lo que es la nube, pero pocas personas saben definir éste gran concepto de manera sencilla, es por eso que en este artículo intentaré explicar desde mi humilde punto de vista. ¿Qué es la nube? y ¿cómo ha impactado este concepto nuestras vidas en los últimos años.

Soy fiel creyente de que la nube es un modelo económico que nació de la necesidad de ahorrar recursos. En la actualidad la mayor parte de las personas confunden la nube cómo un recurso de almacenamiento de información en internet, por ejemplo, existen muchas soluciones para almacenar datos como Dropbox, Google Drive, MEGA, etc., que son aplicaciones basadas en la nube. Pero no son un claro ejemplo de lo que es la nube.

El modelo cliente-servidor.

Para poder explicar con mayor detalle el concepto de nube hay que irnos un paso atrás y para ello es importante definir qué es lo que le da vida (físicamente) a la nube. Desde hace muchos años se delimitó el modelo cliente-servidor el cual se define con dos elementos.

El primer elemento a considerar es un servidor que es un equipo de cómputo de gran capacidad y alta disponibilidad que se puede encontrar en cualquier lugar del mundo dentro de internet o de una red federada.

El segundo elemento a considerar es un cliente el cuál puede ser cualquier dispositivo que tenga acceso a la red (internet o red federada) como pueden ser equipos de escritorio, laptops, teléfonos celulares, dispositivos del Internet of Things (IoT), entre otros.

En el modelo cliente-servidor, el cliente realiza un proceso de solicitud (request) a través de un paquete de datos al elemento remoto que definimos como servidor y que tiene la capacidad de atender a múltiples clientes al mismo tiempo. Para explicar este ejemplo de manera más sencilla, cuando damos un click en nuestra red social de nuestra preferencia, nuestro dispositivo (computadora o celular) es el cliente, y se genera un request a la base de datos del servidor de la red social para mandar a desplegar la foto en nuestro navegador o aplicación móvil.

Un servidor está conformado de 3 recursos principales, físicamente medibles, el recurso de procesamiento (compute), el recurso de almacenamiento (storage) y el recurso de red (network). Y estos recursos son finitos de acuerdo a las capacidades físicas de nuestro servidor. En este artículo no me meteré a detalle en la definición de estos recursos, pero quiero que se vayan con la idea de que son recursos medibles.

Tomando en cuenta la explicación del modelo cliente-servidor, la nube se define como el proceso de asignación de recursos (procesamiento, almacenamiento o red) de múltiples servidores de manera óptima para proveer un servicio al cliente, esta asignación se realiza a través de un elemento de software llamado orquestador el cuál se encarga de que la asignación de recursos se de en tiempo y forma.

La definición de una máquina virtual (VM).

Para poder entender de mejor manera el proceso de asignación de recursos en la nube, es importante definir el concepto de máquina virtual a la cuál para fines prácticos le llamaremos VM que son las siglas de Virtual Machine.

El proceso de virtualización que lleva ya sus años en el mercado sigue siendo innovador ya que nos permite que un equipo de cómputo podamos asignar recursos a múltiples sistemas operativos que pueden correr sobre la misma arquitectura de un procesador. Esto quiere decir que yo puedo tomar los recursos de un equipo de cómputo y subdividirlos en múltiples cajas de recursos, por ejemplo, puedo tomar los recursos de un equipo base de un procesador con 8 núcleos, con 64 GB de memoria RAM y una tarjeta de red con rendimiento de 10 Gbps, y estos a su vez dividirlos en 4 cajas de recursos de 2 núcleos, 16 GB en de memoria RAM y 2.5 Gbps de rendimiento en red. Estas cajas de recursos que creamos a partir de los recursos base de mi equipo de cómputo la llamamos máquina virtual o VM.

La definición del orquestador.

Ahora que sabemos como funciona el modelo cliente-servidor y definimos que es una VM podemos explicar el concepto de orquestación que se realiza a través de un orquestador.

El orquestador es un elemento de software que tiene la capacidad de asignar los recursos que solicitan múltiples VMs de manera óptima, en tiempo y forma, para poder brindar un servicio. Un orquestador puede estar definido por algoritmos bastantes sofisticados que asignan los recursos de acuerdo a las capacidades de nuestros servidores. Si nosotros tenemos por ejemplo 20 servidores (con sus respectivos recursos) y queremos crear una nube privada, el orquestador tiene la capacidad de agrupar los recursos de estos servidores y representar el total de recursos en un tablero. Entonces, el orquestador irá asignando los recursos de procesamiento, almacenamiento y red de nuestros 20 servidores de acuerdo a las necesidades de nuestras VMs que a su vez dependen de las necesidades de múltiples servicios de los cuáles los clientes se benefician.

Para dejarlo un poco más claro tomemos el ejemplo de una orquesta de instrumentos musicales, el director de orquesta (orquestador) es el encargado de dirigir a múltiples instrumentos (máquinas virtuales) para que entren en tiempo y forma, cada una de las notas musicales (recursos) de cada instrumento formarán una melodía (servicio).

La nube como un concepto económico.

Para concluir, este artículo pretender dar una pequeña aproximación a la definición del concepto de nube, sin embargo, para poder entender la nube a detalles es importante conocer todos los conceptos técnicos de los cuáles solo revisamos unos cuantos. Como comentamos la nube depende de un orquestador para funcionar ya que asignará los recursos en tiempo y forma, estos recursos al final se traducen en dinero y por lo tanto se pueden medir desde un punto de vista económico. Si no me creen, les voy a dejar un pequeño ejemplo, revisen cuánto es el consumo energético en Kilowatt/Hora (KWh) de su equipo de cómputo y multiplíquenlo por el costo por KWh ($/KWh) de su compañía de Luz y a través de una pequeña aproximación pueden saber lo que gasta son computadora por tenerla encendida X cantidad de tiempo. Ahora extrapolen este ejemplo a los 20 servidores y verán que siempre hay un costo asociado por mantenerlos encendidos. Es importante aclarar que el consumo energético no es la única variable que se mide en el concepto de la nube, pero nos permite dar un claro ejemplo de como monetizar el uso de los recursos.

Las nubes públicas de proveedores (Azure, Amazon Web Services, Google Cloud, etc.) son un gran negocio en nuestros días ya que estos fabricantes se enfocan en hacer sus nubes cada vez más eficientes. Las nubes existen por un concepto básico de economía que es la demanda de servicios.

Profile Pic

Author:   Rafael Escalante