UIUC MOOC CC W4

Cloud Computing at CourseraLa cuarta semana del curso Cloud Computing en Coursera, ofrecido por la University of Illinois at Urbana-Champaign. Muchas y largas video lecturas.

El primer tema revisado fue el relacionado con los problemas que se presentan en sistemas distribuidos: consistencia, velocidad de respuesta, tolerancia a fallas. De éstas, la tolerancia fallas y la velocidad de respuesta pueden verse muy relacionadas con el hardware de la red y su topología,  aunque claro hay cierta influencia o participación de aquello que usa la red en esto. La consistencia, por otra parte, es un punto importante que parece más atado al tema del software.

Me llamó la atención lo que se mencionó sobre el teorema de Eric Brewer, que señala que sólo es posible tener dos de los tres puntos ya mencionados (al margen de esto se mencionaron las falacias de los sistemas distribuidos formuladas por Peter Deutsch, y sus efectos). Se mencionó que el teorema de Brewer está ya probado aunque existen diferencias de opiniones al respecto.

Curiosamente el teorema de Brewer implica que fuertes propiedades en consistencia, velocidad de respuesta, tolerancia a fallas traen problemas de implementación y operación. Mientras que propiedades débiles proveen estrategias exitosas.

No puedo evitar, al ver todo esto, recordar varias cosas que me ha tocado vivir en la vida profesional. Experiencias en las que uno buscaba solucionar cosas que ahora veo son  imposibles de alcanzar o resultará muy costoso lograrlo y mantenerlo pero quienes tenían la responsabilidad de responder al usuario le prometían esto y más sólo porque así sonaba mejor. De haber sabido lo que ahora sé o quienes pedían o tenían la responsabilidad de autorizar el tratar de alcanzarlo  lo hubieran sabido, ¿cuánto esfuerzo y dinero desperdiciado no podrían haber sido ahorrados? En fin.

Otros temas revisados fueron el modelo ACID, la metodología BASE, con las soluciones Zookepper y Paxos para la ejecución y administración de procesos. En lo  que respecta a HBase, este es un componente que provee algo de acceso directo a las operaciones de mantenimiento de datos en contraste con las operaciones por lotes que maneja Hadoop.

Se revisó también Apache Spark, un framework de cómputo en grupo (cluster) que permite aplicar algoritmos iterativos sobre grandes conjuntos de datos, en contraste al enfoque de lote (batch) que tiene Hadoop. A menar introductoria se describieron los frameworks que han sido desarrollados sobre Spark. Todo esto con el lenguaje de programación Scala.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s