miércoles, 15 de diciembre de 2010

Una nueva estrategia de procesamiento versus almacenamiento de datos

Un breve artículo, sólo para consignar una idea sobre arquitectura que expresan Eric A. Marks y Bob Lozano en su libro 'Executive's guide to cloud computing'.

Según estos autores, la evolución de la arquitectura hardware en la parte servidora de los sistemas había llevado en los años noventa a la creación de elementos especializados de almacenamiento de datos, separando por tanto, a nivel hardware, la información del procesamiento, la computación propiamente dicha si se prefiere, del almacenamiento de datos, implementado éste, típicamente, como soluciones de tipo RAID unidas mediante fibra a los servidores de procesamiento.

En cierto sentido, apunto yo, hasta las arquitecturas software cliente/servidor multinivel, por ejemplo J2EE, parecían reflejar y hasta favorecer a nivel lógico, aunque estrictamente no lo precisaran, esa separación de datos frente a procesamiento o lógica de aplicación.

Sin embargo, y de nuevo según los autores antes mencionados, hoy día esto comienza a no ser siempre la mejor solución.

¿Por qué?

Pues debido al problema del throughput que comentábamos en un artículo reciente y a las tendencias hacia el cloud computing.

Si pensamos en un entorno de cloud computing, en que las interacciones, en este caso entre la parte de procesamiento y la de almacenamiento de datos, se producen a través 'de la nube', en concreto, a través de los elementos de red que constituyen esa 'nube', y si pensamos que el ancho de banda de procesamiento es mucho mayor y crece muchísimo más rápido que el de la red, el problema se hace evidente: el acceso a los datos se convierte en un acuciante cuello de botella y un límite a la escalabilidad y al crecimiento.

¿La solución?

En lugar de separar elementos especializados, unos de procesamiento, y otros de almacenamiento, construir la capacidad de gestión de datos de la nube con base en pequeños módulos que agrupen tanto procesamiento como almacenamiento, y escalar con este tipo de módulos. En concreto, los autores, a modo de ejemplo, proponen un módulo o bloque, con estas características:
  • procesadores: dos procesadores a 2,5 GHz
  • disco: un drive de 2 Tb
  • memoria: 4 Gb
  • red: conexión gigE

Un curioso e interesante razonamiento...