domingo, enero 06, 2008

Granjas, fábricas y nubes, el futuro de la computación

domingo, enero 06, 2008 por Martín

Según Julio Guijarro y Steve Loughan ambos miembros del grupo de investigación que tiene HP en Bristol ese es el futuro de la computación distribuida. Julio y Steve han publicado el pasado Diciembre una presentación muy interesante en la que hablan de como los modelos de servidor único y de un cluster de servidores han quedado obsoletos en favor de un modelo de granja con cientos de servidores donde el sistema de ficheros es distribuido y el almacenamiento y la CPU se alquila. Se trata de una infraestructura ágil, como ellos la denominan, y que tenderá en el futuro a una gran fábrica de grids con decenas de miles de servidores



Esta evolución se sustenta en la base de que las arquitecturas actuales han anulado ciertas asunciones que en el pasado eran verdaderas pero que Julio y Steve afirman que ya no lo son. Pongo la lista a continuación ya que aunque es posible que no se esté de acuerdo de todo me parece un buen resumen sobre las consecuencias arquitectónicas que tienen algunas tendencias actuales.

Arquitectura: Virtualización. Asunciones que ya no son ciertas:

  • Los sistemas permanecen activos por enormes espacios de tiempo.

  • Crear un nuevo sistema es caro y lento.

  • Duplicar un sistema existente es algo muy caro.

  • Los sistemas deben controlarse manualmente.

  • Los relojes están sincronizados.

  • La RAM nunca se "swappea".

  • Las máquinas que están en ejecución no pueden ser movidas y/o clonadas.


Arquitectura: Granjas de servidores. Asunciones que ya no son ciertas:

  • El fallo en un sistema es un evento inusual.

  • El 100% de disponibilidad se puede conseguir.

  • Los datos siempre están cerca del servidor.

  • Se necesita acceso físico al servidor.

  • Las bases de datos son la mejor forma de almacenamiento.

  • Necesitas tener millones de euros para ser un competidor en tu rama.


Arquitectura: Map/Reduce. Asunciones que ya no son ciertas:

  • Es difícil trabajar con terabytes de datos.

  • El código se ejecuta siempre en una única máquina.

  • El código ejecutado secuencialmente es mejor que el código ejecutado en paralelo.

  • La mejor forma para almacenar los datos es con sistemas RAID.

  • Las bases de datos son mejores que los sistemas de ficheros.


Arquitectura: Sharding. Asunciones que ya no son ciertas:

  • Una única granja puede escalar hasta el infinito.

  • Necesitas proporcionar 100% de disponibilidad al 100% de tus usuarios.

  • Cambios en la aplicación cambian la totalidad del esquema de base de datos.


El análisis realizado me ha parecido muy interesante. El argumento central de la presentación es que la computación poco a poco se está conviertiendo en una commodity, como las granjas que nos preparan la comida o las fábricas que nos hacen la ropa.

Sistemas sobre los que he estado hablando continuamente en los últimos meses, como S3, EC2, la nueva SimpleDB o Hadoop han cambiado la forma de entender la computación distribuida y, concretando en el caso de Amazon, proponen un modelo de renting muy atractivo que permite a pequeñas startups ponerse a la altura de grandes corporaciones.

Por cierto, que no lo había comentado, Julio Guijarro es el líder del proyecto SmartFrog, que personalmente no conocía y que tiene como objetivo el proporcionar una tecnología que describa sistemas de software distribuidos como colecciones de componentes manejables y activables. Por la descripción se me antoja como algo similar a Dryad de Microsoft. Eso sí, éste está liberado bajo licencia LGPL.

comments

0 Respuestas a "Granjas, fábricas y nubes, el futuro de la computación"