Nick Hardiman se adentra en la pila de tecnología que hace que los grandes datos funcionen.
¿Cuál es la pila de tecnología que hace que los datos grandes vayan? ¿Y cómo funciona con el cloud computing? Así es como tres compañías exitosas – SoftLayer, Cloudant y Rosetta Stone – trabajan en diferentes capas de la gran pila de tecnología de datos.
Bare metal es la base de la gran pila de tecnología de datos
La base de un gran cluster de procesamiento de datos está hecha de máquinas. Al igual que los clústeres de datos relacionales, estas máquinas suelen tener mucha memoria, CPU y almacenamiento. Sin embargo, las grandes máquinas de datos no tienen que ser escaladas – pueden ser escaladas añadiendo más máquinas. La capacidad de ampliar la escala hace que sean un buen complemento para la computación en nube.
SoftLayer es un proveedor de IaaaS de hardware – no trata directamente con NoSQL sino que entrega los clusters necesarios para ejecutarlos. Nathan Day, jefe científico de Softlayer, dijo que pueden «entregar un grupo de servidores para cosas como las soluciones NoSQL, así que con cosas como Riak y Mongo, un cliente puede venir y decir `Quiero mi propio grupo de servidores NoSQL. Quiero tres de ellos en Ámsterdam. Quiero tres de ellos en Singapur».
Estas máquinas son a menudo físicas en lugar de virtuales porque el metal desnudo hace que el rendimiento sea menos doloroso, con el desafortunado efecto secundario de hacer que la factura sea más dolorosa. Day comentó sobre las máquinas desnudas frente a las virtuales. «Hicimos una prueba comparativa entre la implementación de Mongo sobre metal desnudo y la implementación sobre nube… Es muy consistente sobre metal desnudo, como era de esperar, porque eres un único inquilino ejecutando sobre tu hardware – se comportó de manera muy predecible. En una nube de máquinas virtuales públicas, donde no se pueden controlar aspectos de almacenamiento e incluso el acceso a la CPU y la RAM, los resultados variaron enormemente».
El servicio de base de datos en el medio
La construcción de esta capa requiere experiencia en bases de datos. Los diseñadores deben responder a preguntas técnicas delicadas como cuándo fragmentar, cuánta memoria es suficiente y cuál es la diferencia entre Hadoop y Cassandra.
Cloudant, el proveedor gestionado de NoSQL, proporciona DBaaaS a sus clientes, colocando esta capa de DBaaS en plataformas de proveedores de IaaaS como RackSpace, Azure y Joyent. Si los clientes quieren DBaaaS barato, Cloudant puede suministrarles un cluster virtual AWS. Si los clientes prefieren hardware, Cloudant puede suministrar un clúster SoftLayer como el descrito por Day. El CEO de Cloudant, Derek Schoettle, dijo: «Mientras que ellos proporcionan IaaaS y nosotros proporcionamos DBaaS, nuestros clientes comunes se benefician de una estrecha combinación de nuestros respectivos servicios. Como tal, algunas de las cuentas más grandes e importantes de Cloudant están en la infraestructura de SoftLayer».
Las aplicaciones de negocio de capa superior
Las aplicaciones de negocio forman la capa superior de la pila de tecnología – con la que interactúa un cliente. Esta es la capa donde la tecnología produce valor comercial.
Mike Broberg, director de comunicaciones de marketing de Cloudant, habló de uno de sus clientes: Rosetta Stone, una empresa global que proporciona tecnología de aprendizaje. Rosetta Stone gestiona los datos de las redes sociales para sus clientes, y Cloudant gestiona NoSQL para Rosetta Stone. «Los datos para la parte de educación en línea/redes sociales de su software se almacenan en Cloudant y se ejecutan en diferentes ubicaciones de centros de datos de todo el mundo. Las solicitudes se envían a la copia más cercana de los datos de un usuario en función de su ubicación geográfica. La idea es acercar los datos a los usuarios que están accediendo y cambiarlos para reducir la latencia. Esos datos también se replican en otros sitios a medida que cambian».
¿Por qué un negocio inteligente como Rosetta Stone, experto en muchas áreas técnicas, transferiría las capas inferiores de la pila técnica a un tercero? El desarrollo de software es uno de los trabajos más complejos del mundo. Escribir código complejo requiere tanta concentración que todo lo demás se convierte en una carga no deseada (sí, por eso los programadores de motores de juego no se lavan.
El trabajo técnico que distrae a los desarrolladores de la codificación, como el control de versiones, las pruebas y la promoción del código, puede ser automatizado o descargado.
Incluso los equipos de DevOps holísticos se sienten aliviados de tener que descargar todo lo que tenga que ver con la infraestructura, incluyendo el almacenamiento de datos. Un codificador quiere conectar su código a una API de base de datos y no distraerse con lo básico de mantener las luces de la infraestructura encendidas, por no hablar de las complejas tareas de escalado, copia de seguridad y rendimiento del almacenamiento de datos.
Apéguese a lo que sabe
Cuando se observa el panorama general, la nueva pila de tecnología de datos de gran tamaño se parece mucho a la antigua pila de datos estructurada. Tome algunos bloques de construcción de hardware y algunos bloques de construcción de software, encájelos y construya un nuevo sistema de almacenamiento de datos.
Cada capa de la gran pila de tecnología de datos requiere un tipo de experiencia diferente. El mundo de la nube hace que sea fácil para una empresa alquilar la experiencia de otros y concentrarse en lo que mejor saben hacer.