14 agosto 2019

La nube para dummies


Desde hace mucho tiempo tenía ganas de entender el asunto de Cloud Computing. Había tratado de meterme en Google Cloud y en Microsoft Azure, pero no entendí nada y después de un tiempo lo dejé. Ahora esty viendo un curso de la Universidad Rey Juan Carlos de España, que enseña el asunto desde cero y ha resultado muy interesante, así es que para fijar un poco lo que he aprendido y compartirlo con ustedes voy a escribir esta intrducción a la nube para dummies. Aquí voy.

Se escucha por todos lados eso de "la nube" pero es un asunto no muy fácil de entender, tiene que ver con dos cuestiones previas que existen desde hace muchos años, son los serviores de Internet y los software de virtualización. Los servidores de Internet son computadores con una gran capacidad de conexión (ancho de banda), normalmente conectados por fibra óptica a algún nodo importante  es donde se almacenan los contenidos que nosotros guardamos  descargamos de Internet. Eso es un servidor comercial típico, ubicados nomalmente en granjas de servidores o "data centers" que pueden tener a miles de máquinas conectadas a Internet simltáneamente haciendo distintas tareas, Todo lo que podemos obtener de Internet debe estar guardado en un servidor.

La virtualización es un poco más difícil de explicar, tiene que ver con los sistemas operativos (Windows, Linux, Mac, etc.) que están en la base de los computadores y comunican a los programas queusamos (aplicaciones) con la máquina electrónica propiamente tal (memoria, registros, etc.). Resulta que a alguen se le ocurrió, hace muchos años, que se puede hacer un software que trabaje en un computador pero "emule" a otro con un sistema distinto. Por ejemplo nosotros tenemos nuestro computador con Windows pero podemos correr un programa de virtualización que simule a otro computador con Linux y que funcione en una ventanita de nuestra pantalla.

Así, tenemos Windows y Linu al mismo tiempo, dos máquinas que comparten la misma electrónica pero son  totalmente separadas. Hay muchos programas de virtualización desde hace años y más de alguna vez yo escribí sobre eso acá mismo cuando el año 2008 trabajé brevemente para mi amigo Stephen en administración de servidores virtuales. Porque ese fue el siguiente paso que llevó al nacimiento de "la nube", antes había solo un servidor por máquina, pero pronto se dieron cuenta que con la enormidad de recursos que se estaban instalando la electrónica se podría aprovechar mucho mejor creando muchos servidores virtuales en cada máquina.

O sea en una máquina puede haber cientos de máquinas independientes, indistinguibles de un servidor único. Para que se hagan una idea, la cantidad de servidores físicos que tiene Google es un secreto, pero se han hecho estimaciones en base a su consumo de electricidad que son alrededor de novecientas mil máquinas, en granjas o "data center", cada máquina tiene muchos gigas de memoria y terabytes de almacenamiento  redundante.  El asunto es que junto con Amazon y Micrsoft, son las tres empresas que tienen la cantidad más masiva de almacenamiento y proceso del mundo.

Y todas esas ideas se juntaron hace unos 12 años atrás, cuando Jeff Bezos, un vendedor de libros que sabía poco y nada de computación pero había hecho su fortuna con Amazon, se preguntó ¿por que no usar todo lo que están desarrollando mis ingenieros para venderlo como un servicio? Así fue como partió Amazon Web Services, que es "la nube" y luego fue imitada por Microsoft Azure y finalmente por Google Cloud Services, me parece que en tamaño e importancia están en ese mismo orden.

La nube consiste en que alguien tiene -digamos- 900 mil o un millón de servidores de alta capacidad y necesita optimizar su uso, para eso instala cien o mil millones de servidores virtuales en sus servidores físicos, lo que le permite monetizar hasta el último bit de manera eficiente y flexible:  flexibilidad es la clave.

Tomemos por ejemplo el caso de Netflix, que tiene muchos millones de clientes que hacen peticiones a sus servidores a diversas horas. Si tuviesen sus películas en servidores físicos, propios o arrendados, sería muy ineficiente, porque hay horas punta en que mucha gente ve cine (por ejemplo en la noche) y otras en que no ve casi nadie, entonces haría una capacidad desperdiciada enorme. Netflix en cambio tiene todo en servidores virtuales de Amazon, como son virtuales pueden cobrar por hora e incluso por minuto de uso, si no se usa no se paga.

Esto responde a la gran duda que yo tenía cuando contraté mi servidor donde está alojado bradanovic.cl ¡me costó 8 dólares por 4 años! ¿Como pudieron hacerlo a ese precio? Simplemente porque pagan por lo que se ocupa y en mi caso el uso es infinitesimal, donde tenían capacidad desperdiciada ahora tienen 8 dólares, que no es mucho pero en unos cuantos miles algo debe sumar. Es un sistema perfecto donde todos ganan.

Existe una idea fundamental en computación, que viene de muy antiguo y es la que ha permitido los avances más maravillosos en muy corto tiempo, se llama las "capas de abstracción", que existen entre los componentes electrónicos y el set de instrucciones del procesador, otra capa es la que convierte las instrucciones de lenguaje de programación en set de instrucciones, otra capa es la que convierte lo que ingresamos por teclado y mouse en ordenes del lenguaje de programación, hay una serie de capas que nos permiten conectar y comunicarnos con los servidores y dentro de los servidores también existen capas que van desde el más bajo nivel (instrucciones de máquina) hasta el más alto (servicios de software como Facebook, Google, Dropbox y tantos más).

Son muchas más capas, lo anterior permite hacerse una visión intuitiva del asunto, pero lo característico es que las capas son cjajas negras, que no nos interesa como funcionan internamente,  pero aceptan un conjunto de entradas y entregan ciertas salidas que están bien determinadas. Esto simplifica todo enormemente y nos permite alcanzar niveles de complejidad enormes de la manera más simple. La virtualización es una capa de abstracción, lo mismo que los contenedores, que son artefactos que hacen lo mismo pero con una tecnología diferente, mucho más eficiente.

En suma "la nube" es una serie de servicios web inventados por Amazon y hoy existen tres grandes proveedores: Amazon Web Services, Microsoft Azure y Google Cloud Services. Está dirigido principalmente a quienes usan servidores, es decir grandes compañías y gobiernos, así como desarrolladores son sus clientes primarios principales, incluso el Gobierno de los Estados Unidos tiene contratados los servicios de nube de Amazon.

La nube ofrece la posibilidad de economías enormes, gracias a esta tecnología por ejemplo, es posible tener Netflix tan barato (y es cuestión de tiempo que aparezcan otros servicio iguales todavía más baratos), también gracias a la nube podemos tener cuentas Youtube gratis y prácticamente ilimitadas, es decir, aunque no la vemos directamente, cada día usaremos más los servicios de la nube en las aplicaciones de software e Internet.

Esta capa de abstracción agregada por el gran visionario Jeff Bezos -por algo es uno de los cinco más ricos del mundo- va a multiplicar el rendimiento y bajar todavía más el precio de los servicios de Internet, lo que nos está haciendo a todos más ricos, sin tener que mover un dedo.Todos ya la estamos usando prácticamente sin darnos cuenta.

4 comentarios:

  1. Me imagino que el desarrollo de la computadores cuanticos, ¿talvez sea la muerte de los servidores ?

    Marcelo

    ResponderBorrar
  2. Hola Tomás! Como lo hiciste con lo del servidor a $8USD? donde conseguiste esa ganga?

    ResponderBorrar
  3. Un tema que siempre me fascinó es el borrado. Yo asumía que toneladas de datos sin uso se acumulan en los discos físicos pero con este alquiler por horas supongo que borrar lo que ya no se usa en la nube es tan importante como grabarlo. ¿ será así?

    ResponderBorrar
  4. MArcelo, no se si alguna vez se va a implementar un computador cuantico que funcione, a mi no me parec muy viable lo ismo que la "inteligencia artificial" creo que durante mucho tiempo van a ser propaganda nomas, aunque nunca se sabe.

    José, en eBay tienes ofertas por servidores entre 5 y 8 dólares, yo tengo dos hace como un año sin problemas

    Ulschmidt, en principio casi nada se borra, la web es persistente y hay muchísima más capacidad de memoria que todo lo que se ha publicado. Hay una fundación en San Francisco que se llama The Internet Archive o algo así, dedicada a preservar todo lo que alguna vez se ha publicado en Internet, el proyecto se llama "The wayback machine" y se pueden encontrar cosas que ya no existen en los servidores originales, como por ejemplo mis primeras web del año 2002 https://web.archive.org/web/20020802002903/http://www.bradanovic.cl/

    ResponderBorrar

"Send me a postcard, drop me a line
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, wasting away
Give me your answer, fill in a form
Mine for evermore
Will you still need me, will you still feed me
When I'm sixty-four"