Big Data: Cloud computing

BI Geek / Big Data  / Big Data: Cloud computing
Cloud computing: la virtualización

Big Data: Cloud computing

Para hablar de cloud computing es preciso hablar antes de la virtualización, el concepto en el que se basa este. La virtualización es el proceso de creación de dispositivos lógicos que no existen físicamente. Las computadoras virtuales existen dentro de computadoras físicas y nos permite crear recursos lógicos a partir de recursos físicos invisibles para las personas. La virtualización nos permite evadirnos de lo que tenemos debajo y solo tener un modelo lógico del conjunto de recursos físicos que podamos estar usando.

El cloud computing permite servir servicios a través de internet accesibles desde cualquier lugar.Servicios como los de Amazon Web Services o Microsoft Azure, nos permiten obtener recursos informáticos a bajo coste gracias a la virtualización de sus servidores, dándonos acceso a una cantidad limitada de recursos. Gracias al Cloud Computing podemos alquilar servidores de estas compañías con unas determinadas características lógicas sin tener que saber los recursos físicos reales asociados ni tener que desembolsar el coste de toda la infraestructura, sino que únicamente pagar por el tiempo de uso.

¿Por qué la necesidad de un Cloud?

El cloud permite a los desarrolladores abstraerse de los recursos físicos disponibles y no tener que ser expertos en la gestión de este tipos de recursos. Otra de las grandes ventajas del Cloud Computing es el tener una infraetructura distribuida siempre disponible con capacidad para escalar horizontalmente. Podemos añadir más máquinas a nuestro clúster sin necesidad de modificar nuestro código, que es independiente de la infraestructura.

¿Qué tipos de Cloud Computing existen?

Aunque se ha hablado de empresas que ofrecen infraestructuras (IaaS), también nos podemos crear nosotros un cloud propio. De esta forma el cloud se puede dividir en tres tipos:

  • Cloud público: Son los entornos cloud gestionados por terceros no vinculados por la compañía que contrata o utiliza este servicio. Estos usuarios solo tienen acceso a sus servicios y no al de otras compañías que puedan también estar usando este cloud público.
  • Cloud privado: Los cloud privados son usadas fundamentalmente en entornos donde la seguridad de los datos es primordial. En estos entornos, el cliente es quien gestiona la infraestructura y son propietarios de servidores, red y disco.
  • Cloud híbrido: Son aquellos Cloud de los que un cliente es propietario (cloud privado) pero pone parte de su entorno a disposición de otros clientes (cloud público), combinando así las dos técnicas anteriores.

Cloud público vs Cloud privado

Con el fin de poder elegir un tipo de cloud en función de las necesidades de nuestro negocio, se muestra a continuación una lista de las ventajas e inconvenientes de los cloud públicos y privados.

CLOUD PÚBLICO CLOUD PRIVADO
Facilidad de uso: Mínima administración y conocimientos. Mayor seguridad: Infraestructura propia.
Baja inversión: Alquiler por horas de la infraestructura. Integración más sencilla
Calidad del servicio: Terceros (especializados en ello) dan soporte a incidencias, actualizaciones, etc. Costes totales menores: A la larga sale más barato.

Cloud público

Existen varias empresas que ofrecen Clouds privados, las más importantes son:chards_cloud

  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud Computing

En la web de cada uno se pueden ver sus precios por servicio a contratar. En esta serie de blogs se tomará como referencia Amazon Web Services por su mayor crecimiento y popularidad.

Cloud privado

Como cloud privado, cabe destacar el framework OpenStack. OpenStack es un software OpenSource usado para la creación de clouds públicos y privados. Existen muchos más softwares y servicios para la creación de estos tipos de clouds (Amazon Virtual Private Cloud, Piston Cloud Computing, SUSE Cloud, etc.), pero no es objetivo del blog el uso de los cloud privados.

Amazon Web Services

Amazon Web Services ofrece un amplio abanico de servicios de computación en la nube. Destacan en particular los siguientes servicios:

  • Amazon Elasctic Cloud Computing (EC2): Nos permite crear instancias virtuales, pudiendo elegir entre un amplio catálogo de potencia (procesador, RAM, disco,etc.), sistema operativo, e incluso AMIs (Imágenes virtuales) ya disponibles. Esto nos permite tener un sistema en la nube, accesible desde cualquier lugar.
  • Amazon Simple Storage Service: Nos permite almacenar datos de forma segura y fácil.
  • DynamoDB: Es una base de datos distribuida, NoSQL clave-valor.
  • RedShift: Solución de Data Warehouse ofrecida por Amazon.

Amazon no deja de ofrecer cada año nuevos servicios, a continuación se puede observar una imagen con todos los servicios que ofrece:
bi_geek_post_aws_servicios
Muchas empresas utilizan este entorno de Cloud Computing para sus soluciones, ya que permite poder aumentar el número de instancias (escalabilidad), en función de unos parámetros definidos (por ejemplo, porcentaje de uso de la CPU). De esta forma, se puede tener un entorno muy flexible que nos permite tener más o menos máquinas, en función de la cantidad de datos a procesar de manera automática. Además, gracias al Cloud Computing, podemos tener equipos distribuidos en distintos países, previniéndonos así de posibles catástrofes naturales, problemas eléctricos de la región, etc. Manteniendo nuestro sistema siempre disponible.

Share
Consultor Senior en Business Intelligence y Big Data.