AWS Cloud9, un entorno de desarrollo completo en la nube

2020-09-05 - Categorías: Amazon Web Services / General / GNU/Linux
AWS Cloud9

Hoy traigo esta herramienta de AWS que me ha impresionado después de un tiempo probándola. Cloud9 es un entorno de desarrollo integrado, un IDE, que funciona sobre la web en un navegador. No necesitas instalarte nada en tu ordenador. Cloud9 usa el editor de código fuente Ace adquirido por Amazon Web Services en 2016, que está escrito en JavaScript, y sólo necesita acceso SSH al servidor donde quieras trabajar.

Es decir, con este entorno de desarrollo podemos programar directamente en un navegador. No tenemos que instalarnos localmente ningún IDE, ni bajar los códigos fuentes de la nube, base de datos, etc.. Todo, absolutamente todo el entorno de desarrollo puede correr sobre servidores en una nube, con lo que esto conlleva.

Repercusiones para el trabajo diario

Da igual en qué ordenador estés, movilidad 100%, sólo con tener Internet y un navegador decentes ya puedes trabajar.

Imagina que se incorpora un compañero nuevo al equipo de trabajo. No necesita instalarse todas las herramientas de trabajo. Sólo necesita un usuario y contraseña para acceder con un navegador decente, y trabajar.

Mejora en el trabajo colaborativo. Al tiempo que programamos en un proyecto, podemos ir viendo lo que vamos haciendo todos los compañeros, chatear con ellos, diferentes permisos, etcétera.

No te tienes que preocupar en exceso por la legalidad y la seguridad de los puestos de trabajo local, ya que todo está en la nube, nada en local. Todo estará protegido una vez para todo el equipo en un sólo lugar, la nube. En la nube se podrán poner todas las capas de seguridad que quieras.

Y así seguimos con un largo etcétera.. las estaciones de trabajo necesitan menos potencia, podemos ser más eficientes en el flujo de trabajo, todo más fácil de automatizar, homogeneidad de los entornos de desarrollo/staging/producción, etcétera..

Cómo empezar con Cloud9

Lo primero que necesitamos es pensar en la infraestructura. Un ejemplo podría ser como el siguiente:

  • Servidor1 para el desarrollo, enganchado a Cloud9 para el equipo de trabajo.
  • Servidor2 para las pruebas y validación con cliente.
  • Servidor3 para la puesta en producción.

Cómo se pasa de un entorno a otro los códigos fuentes de los programas es tema de Despliegue Continuo y de Integración Continua. Se sale del tema de este post, así que una vez establecidos los servidores de trabajo podemos ir a la consola de Cloud9:

Servicios en AWS a fecha en que escribo este post..

Lo único que necesita Cloud9 para engancharse al Servidor1 de la estructura de ejemplo es acceso SSH. Hay que abrir este acceso, y darle permiso para poder terminar la configuración:

Iniciando el proceso de configuración de un entorno de desarrollo con Cloud9..

También podemos crear una instancia nueva (un servidor nuevo) mientras que creemos un entorno de trabajo. Creo que aquí sobran más explicaciones, sólo hay que seguir los pasos, leyendo y darle siguiente hasta finalizar el proceso de alta del entorno de trabajo.

Securizando el acceso SSH a los servidores por IP

Podemos añadirles reglas de seguridad para no dejar abiertos los puertos SSH a todo el mundo, usando rangos de IP de las zonas de Cloud9 que correspondan. Aquí están los listados de los rangos para los servidores Cloud9:

https://ip-ranges.amazonaws.com/ip-ranges.json

Si filtramos el fichero por la palabra CLOUD9 podremos obtener todas las IPs que usa Amazon Web Services para el servicio de Cloud9. Podremos así darles paso libre al puerto 22 del SSH sólo a los servidores de AWS Cloud9.

Qué tiene Cloud9 como entorno IDE

De entre las principales características del IDE, destacan:

  • Árbol de directorios y ficheros en el lateral izquierdo.
  • Consola SSH para lanzar todo tipo de comandos en el servidor, comitear cambios, etc.. para todo tipo de trabajo en terminal de comandos.
  • Todo tipo de herramientas IDE como el resaltado de sintáxis para muchos lenguajes, autocompletado y snippets para agilizar la programación, búsquedas y reemplazo, plantillas para ficheros, temas de colores para trabajar más agusto con la interfaz, etc..
  • Panel lateral para trabajar colaborativamente con el equipo de desarrollo en los ficheros, con chats, permisos de acceso..
  • Etcétera..

Terminando

Resumiendo, con Cloud9 tenemos un entorno de desarrollo integrado de nueva generación, con el que podemos trabajar 100% online en nuestros proyectos, sin necesidad de tener nada más que un navegador decente e Internet en nuestra estación de trabajo. Para terminar sólo me queda dejarte estos enlaces:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

© 2020 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.