¿Qué es Cloud?
Cloud computing es una tecnología que nace como una solución altamente flexible a la necesidad de alta disponibilidad en los Centros de Datos y que se basa en otra tecnología que es la virtualización. Instalar un servidor para tener una aplicación involucraba adquisición de hardware en la modalidad hosting (alquiler de alojamiento) o collocation (alquiler de espacio para mi propio servidor). A este costo debía adicionarle el costo de instalación y aseguramiento del sistema opetativo y finalmente instalación y mantenimiento de la aplicación.
¿Qué sucedía si el servidor fallaba? Necesitaría implementarse algún tipo de redundancia, la solución más común era duplicar la infraestructura, lo que representa duplicar los costos en harware, instalación, red, etc. ¿Qué sucedía si la necesidad era ampliar los requerimientos de la aplicación? Esto implicaba apagar el equipo, para cambiar el hardware, para instalar más memoria, para incrementar el espacio de almacenamiento.
La aparición de la virtualización permitió desplegar nuevas estrategias de alojamiento de servidores, en las cuales se alquilaba sistema operativo, espacio, procesamiento, memoria y se compartía el hardware y la infraestructura de red entre varios clientes mediante la creación estática de varias máquinas virtuales que utilizaban los recursos compartidos, pero de una manera excluyente, es decir, si una máquina virtual tiene asignados 2 GB de memoria RAM, ninguna otra máquina utilizará ésta memoria. Esta característica se llama aislamiento (isolation). Además aumentar la memoria o el espacio de almacenamiento en una máquina virtual, es posible hacerlo de manera dinámica sin implicar la caida del servicio, esto se conoce como escalamiento (scaling).
Otra caracterísica útil que adicionó la virtualización fue la posibilidad de crear imágenes en caliente (snapshot) del sistema virtualizado. Esto permite reproducir el sistema completo en cuestión de minutos sobre otra máquina virtual. Es decir, un backup que podría demorar hasta dos horas para un sistema convencional, se ejecutaría en tan solo unos minutos y con la posibilidad de restaurarlo también en pocos minutos.
Es así que surge la idea de automatizar la creación de máquinas virtuales, ofreciendo la posibilidad de crecer o decrecer en recursos por demanda (scaling on demand). La alta disponibilidad del servidor o de la aplicación se implementa con copias de la imagen que puedan ser restauradas en otro servidor cuando se detecta un fallo en la máquina anfitrión (host server) que aloja a la máquina virtual (guest server). Las tareas de aprovisionamiento y alistamiento del servidor se convierten entonces en actividades automáticas, ejecutables en cualquier instante sin necesidad de tener grandes recursos técnicos.
Hasta aquí hemos visto cómo nace esta tecnología y cuales son sus ventajas inherentes a la virtualización. Pero vamos con una definición más formal acorde al NIST.
"Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."
Link a la publicación
¿Qué sucedía si el servidor fallaba? Necesitaría implementarse algún tipo de redundancia, la solución más común era duplicar la infraestructura, lo que representa duplicar los costos en harware, instalación, red, etc. ¿Qué sucedía si la necesidad era ampliar los requerimientos de la aplicación? Esto implicaba apagar el equipo, para cambiar el hardware, para instalar más memoria, para incrementar el espacio de almacenamiento.
La aparición de la virtualización permitió desplegar nuevas estrategias de alojamiento de servidores, en las cuales se alquilaba sistema operativo, espacio, procesamiento, memoria y se compartía el hardware y la infraestructura de red entre varios clientes mediante la creación estática de varias máquinas virtuales que utilizaban los recursos compartidos, pero de una manera excluyente, es decir, si una máquina virtual tiene asignados 2 GB de memoria RAM, ninguna otra máquina utilizará ésta memoria. Esta característica se llama aislamiento (isolation). Además aumentar la memoria o el espacio de almacenamiento en una máquina virtual, es posible hacerlo de manera dinámica sin implicar la caida del servicio, esto se conoce como escalamiento (scaling).
Otra caracterísica útil que adicionó la virtualización fue la posibilidad de crear imágenes en caliente (snapshot) del sistema virtualizado. Esto permite reproducir el sistema completo en cuestión de minutos sobre otra máquina virtual. Es decir, un backup que podría demorar hasta dos horas para un sistema convencional, se ejecutaría en tan solo unos minutos y con la posibilidad de restaurarlo también en pocos minutos.
Es así que surge la idea de automatizar la creación de máquinas virtuales, ofreciendo la posibilidad de crecer o decrecer en recursos por demanda (scaling on demand). La alta disponibilidad del servidor o de la aplicación se implementa con copias de la imagen que puedan ser restauradas en otro servidor cuando se detecta un fallo en la máquina anfitrión (host server) que aloja a la máquina virtual (guest server). Las tareas de aprovisionamiento y alistamiento del servidor se convierten entonces en actividades automáticas, ejecutables en cualquier instante sin necesidad de tener grandes recursos técnicos.
Hasta aquí hemos visto cómo nace esta tecnología y cuales son sus ventajas inherentes a la virtualización. Pero vamos con una definición más formal acorde al NIST.
"Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."
Link a la publicación
Comentarios
Publicar un comentario