Hace unas semanas debido a una fuerte gripe, me tocó trabajar en casa para un trabajo que debía hacer una oficina donde tenía mi computadora con todo el entorno de desarrollo configurado. Sin embargo en la organización tenían configurado el servicio Cloud9 para poder trabajar remotamente.

Cloud9 es un completo entorno de desarrollo y ejecución en la nube, permitiéndote desde tu navegador web crear y ejecutar software web. El mismo posee un editor muy parecido a Sublime Text (de hecho muchos atajos del teclado son iguales), acceso a la terminal de un servidor y la posibilidad de configurar dependencias necesarias para ejecutar el programa: servidor web, framework, base de datos, etc.

Entorno de desarrollo de Cloud9

Entorno de desarrollo de Cloud9, todo se está ejecutando desde el navegador

El espacio de trabajo

El uso de Cloud9 es muy sencillo, primero debes configurar un espacio de trabajo (Workspace), actualmente (al menos en la versión gratuita) te ofrece entornos como LAMP, Django, NodeJS, puro HTML, Rails, entre otros. Luego de seleccionar el entorno especificas asignas un repositorio de control de versiones (creo que es impensable hoy en día hacer un proyecto sin eso), para obtenerlas fuentes, haces las configuraciones requeridas por tu aplicación y listo. Luego se encarga de correr los servicios necesarios y puedes acceder a tu aplicación web desde una URL.

Plantilla de espacios de trabajo disponibles en Cloud9

Plantilla de espacios de trabajo disponibles en Cloud9

¿Por qué usarlo?

La principal ventaja de usar Cloud9 es poder escribir el código de un programa, guardar, cambiarte de equipo o de localidad y seguir escribiendo código el mismo código sin problemas. Aunque puedes sacrificar privacidad (en la licencia no se ve nada extraño) es muy útil en casos donde trabajas en distintos lugares y no puedes cargar tu portátil (en mi caso me muevo entre casa, universidad y oficinas de clientes pero por la inseguridad no puedo cargar mi portátil en todos lados). Otro caso, como en el que descubrí la herramienta, en organizaciones pueden usarlo como respaldo en caso que un empleado necesite trabajar desde su casa u otro lugar de forma urgente.

Algo interesante, es que en pocos segundos puedes tener un entorno de ejecución funcional. Con unos clics puedes tener un servidor web hecho Django y empezar a trabajar en él (o estudiarlo), luego con otros clics tienes un entorno en Ruby. Lo cual es mas fácil que estar instalando dependencias y configurar servicios en tu sistema operativo.

El editor está realizado en Javascript y tecnología detrás de ella es un servidor NodeJS que crea contenedores en Docker, me parece interesante esta arquitectura. Algo que me parece «fácil» de replicar en otros servidores y poder contar con una solución similar.

Si deseas contar con IDE y entorno de ejecución que puedas usar en cualquier computadora sin estar descargando cosas, te recomiendo utilizar Cloud9. Lo único es que como toda nube, dependes de un tercero y a veces puedes desconfiar de la seguridad del mismo o de la calidad de protección de los datos. Aunque, me parece un buen entorno para aprender tecnologías o hacer experimentos rápidamente.

Sitio oficial de Cloud9

Estuve probando Chrome Os, el sistema operativo desarrollado por Google. Actualmente se puede conseguir el código fuente, máquinas virtuales y unidades USB para probar la primera versión disponible al pública, la cual es una versión en desarrollo, es decir: muchas cosas no funcionan, no se ha terminado de desarrollar las caracterí­sticas necesarias, la versión final puede presentar muchos cambios, no es estable, entre otros.

El estado actual de Chrome Os es muy precario, sólo posee la pantalla de inicio de sesión y el navegador Chromium (el proyecto de código abierto en el que se basa Google Chrome), no hay barra de tareas, ni de escritorio, no hay forma de explorar los archivos del disco duro (según Google, no será necesario almacenar archivos localmente porque todo estará en la nube).

Por ello no puedo hacer un análisis como tal, porque es simplemente un navegador con un icono en la parte superior izquierda, al hacerle clic se despliega un menú con accesos directo a diferentes servicios de Google, páginas de correo, páginas populares como Facebook, Twitter, Hulu, etc.

Aplicaciones de Chrome Os

Aplicaciones de Chrome Os

Video oficial de la presentación de Chrome Os

Creo que hace falta mas tiempo tener un proyecto mas maduro con mas funcionalidades, además no será lanzado oficialmente hasta el otro año por lo que esto es simplemente un adelanto de lo que será Chrome Os

El jueves pasado, Google realizó una presentación sobre ChromeOS su sistema operativo a ser lanzado a finales del próximo año.  Poco se conocí­a de este proyecto que habí­a causado grandes espectativas por el desconocimiento de sus especificaciones, por venir de Google y causar miedo a Microsoft al entrar a su mercado que dominan por muchos años, pero con el anuncio de hoy creo que mantiene las expectativas por ser algo muy distinto a lo existente actualmente.

Básicamente Chrome Os es un kernel de Linux optimizado para x86 y próximamente a ARM, con una interfaz gráfica sencilla con un navegador web (supongo que basado en chrome) para ejecutar aplicaciones web. De allí­ viene su innovación porque todo, absolutamente todo se ejecuta ví­a web y la información de los documentos, fotos, configuraciones y demás cosas se encuentran almacenada en los servidores de Google (bienvenido a la nube).

Debido a esta arquitectura, ocurre lo siguiente: se tiene un sistema ligero especial para hardware no poderoso pues solo se requiere capacidad de procesamiento para el navegador y uno que otro plugin, se evitan teóricamente los virus y algún malware al estar siempre conectado con la nube, se accede siempre a la última versión de las aplicaciones evitando la actualización del software, teoricamente podrí­as acceder a tus programas e información desde cualquier PC con este S.O. , se optimiza el proceso de arranque al eliminar procesos requeridos para sistemas operativos tradicionales, entre otros. Suena bien y maravilloso pero resulta que ocurren los siguientes problemas: necesitas tener conexión a Internet  para usar una aplicación o acceder a tu información, no tienes tanto poder de tus archivos y le das todo el poder sobre ellos a un tercero, no sirve (tal vez por ahora) para ejecutar aplicaciones de grandes prestaciones o de calculo gráfico en tiempo real (puede ser que en un futuro gracias a la nube se permita esto, pero actualmente me refiero a aplicaciones pesadas como videojuegos, autocad, etc).

Por ahora no es mucho lo que se puede decir ya que apenas fue anunciado, hace falta descargarlo y probarlo (eso estoy haciendo y en los próximos dí­as comentaré sobre ello) , por ahora me parece un sistema operativo para usuarios sencillos de Internet, es decir, aquellos que solo utilizan la PC para revisar correo, navegar en facebook, ver videos en youtube, etc. Ya que para ese tipo de usuarios no se requiere tener grandes capacidades de procesamiento y básicamente lo único que hacen es abrir el navegador y ver páginas en Internet. Sin embargo, para el usuario medio/avanzado (creo que Google no tiene pensado enfocar este OS a este tipo de usuarios) no le parezca útil este S.O. debido a las aplicaciones que utiliza en su dí­a a dí­a y tal vez no puedan migrase a la estructura del ChromeOs.

Aquí­ les dejo un video por parte de Google sobre que es ChromeOs, chequeen en los próximos dí­as sobre el avance que haré del primer lanzamiento oficial del sistema operativo.

P.D: «Cada vez me da como miedo como Google se esta metiendo en todas la áreas de la informática y como poco a poco van controlando nuestra información, tal vez sea porque le tengo miedo a la nube, jejee»