La nube es un servicio que está estrechamente relacionado con internet. Por lo tanto, todos los recursos, aplicaciones y datos que se encuentren desplegados en ella, son como si se hubieran desplegados en servidores de internet en lugar de ambientes locales.
La principal diferencia de este tipo de servicios con el hospedaje y centros de datos comunes en la red es el modelo de pago por uso (pay per use). Y precisamente esa diferencia, dado el incremento constante y exponencial de usuarios y datos a nivel mundial, resulta muy ventajosa en términos de costos y procesamiento.
A pesar de parecer lo contrario, el tener los sistemas desplegados en la nube es mas económico y seguro que mantenerlos funcionando en ambientes locales (On Premise). Y no solo por los evidentes costos de inversión y mantenimiento de infraestructura, sino por los costos de operaciones.
Cuando oímos escalabilidad y computación distribuida enseguida pensamos en el framework de Apache Hadoop y el eco-sistema de herramientas que lo soportan. Los proveedores de servicios en la nube no están muy distantes de dicha arquitectura, de hecho, poseen componentes análogos a cada uno de los del ecosistema Hadoop, para el caso de Google:
Tarea | Hadoop | Google Cloud |
Almacenamiento de datos | HDFS | Cloud Storage |
Interacción con grandes conjuntos de datos | HIVE | BIGQUERY |
Base de datos orientada a columna | HBase | BIGTABLE |
Plataforma de análisis de datos | PIG y Spark | Dataproc |
Herramienta para trabajar con flujo (streaming) de datos | Kafka o Flink | Pub/Sub |
La construcción y operación de un ecosistema Hadoop es sumamente complejo, al igual que cualquier otro ambiente productivo, lo que representa otra razón por la cual decidirse por la nube, ya que cuenta con muchos servicios auto-gestionados y pre-configurados con gran facilidad para administrar su seguridad y conectividad.