Project Caroline: El Cloud Computing según Sun Microsystems

El viernes leí la noticia de nuevos despidos en Sun. Esto no es nuevo, cada 2 años hacen lo mismo. Me acordé de un chiste malo que me contaron hace unos años sobre Sun y Microsoft:

– Tio, no se si hacer este proyecto con Java o con C#…

– Vamos a ver…¿Tu has visto Armageddon?

– ¿La de Bruce Willis y el asteroide? Sí, la he visto…

– Pues figúrate que en vez de llamar a Bruce Willis y su banda, tienes que llamar a la mejor empresa de ingeniería informática del mundo: ¿A quién llamarías, a Sun o a Microsoft?

– Nos ha jodido, ¡A Sun! ¡A los de Microsoft igual les da un pantallazo azul taladrando el asteroide y se va el planeta al carajo!

– Ok. Entonces… ¿qué vas a elegir para tu proyecto: Java, no?

– Pues no lo tengo claro, yo no tengo que salvar el planeta: no necesito tecnología aeroespacial para mi proyecto…

Aquí va un pequeño resumen:

  • Es una PaaS completa: Ofrece una virtualización completa de red, computación y almacenamiento.
  • Viene a ofrecer un conjunto de servicios para el despliegue de Servicios Web complejos. Podríamos decir que en este aspecto se parece bastante a Windows Azure. Pensado para construir SaaS, usando lenguajes de alto nivel. Es una nueva plataforma, necesitará un nuevo tipo de aplicaciones (pero no es necesario empezar desde cero).
  • Su verdadero fuerte es la virtualización de la computación a nivel de lenguajes: Java, Python, JRuby, PERL…fuertemente Java Virtual Machine .
  • El equipo de trabajo es de unas 20 personas (atención startups: no hace falta un equipo grande para construir un gran producto).
  • Es un proyecto de investigación y todo el código es abierto. Te lo puedes descargar aquí. Existe de todos modos el llamado ‘Grid de Servicio’ para pruebas.
  • Control programático (gracias a unas APIs) de todos los servicios distribuidos: computación, almacenamiento y redes. Es posible configurar el uso de los recursos en tiempo real. No hay ficheros de configuración. Los Servicios construyen su propio entorno de ejecución en vez de ser insertados en uno existente.
  • La virtualización no se hace a nivel de ‘hypervisor’ en el Sistema Operativo. Se hace a un nivel superior: por lo tanto, los programas son independientes del hardware, del SSOO y su localización. Lo mismo pasa para las bases de datos y el sistema de ficheros (desarrolladores J2EE, ¿esto no os suena?). El control de los recursos se delega al desarrollador, en vez de al administrador.
  • PostgreSQL es la base de datos de la plataforma. Aunque anuncian soporte para MySQL muy pronto (lógico…).
  • Las redes son ciudadanos de primera por fín en la Nube: hay balanceadores, firewalls, NAT, VPN, DNSs…
  • Entornos completamentes aislados: no se comparten recursos, excepto a través de internet (la red es privada a cada cuenta). Configuración independiente en cada nodo. No es posible ejecutar librerías nativas. No es posible hacer un fork o un exec. Métricas a nivel de proceso y de hilo.
  • Caroline Tunnels: Depuración en local de recursos remotos. Excelente idea para depurar aplicaciones en la Nube.

Como resumen a la presentación, el sitio www.projectcaroline.net que aloja el proyecto corre sobre la plataforma, pero lo más curioso es que el CMS que usan es Drupal, que está escrito en PHP. Usan Quercus sobre un Apache Tomcat para interpretar el PHP en un servidor Java. Curioso.

La primera impresión es muy interesante. Voy a dedicar más tiempo y otro post a dar mi opinión de lo que he visto, pero necesitaré tiempo… ese bien tan escaso…

Related Articles