Cloud9 es un IDE completo basado en navegador con muchas integraciones de AWS y soporte integrado para más de 40 idiomas. Es particularmente bueno para trabajar con funciones de Lambda y proporciona una manera fácil de probarlas e iterarlas en el mismo entorno que la producción.
Cloud9, un IDE creado para AWS
Cloud9 es un IDE bastante bueno por derecho propio, pero probablemente ya esté pensando que su configuración local de Visual Studio Code es mejor.
Si bien un IDE local puede ser más conveniente, Cloud9 lo supera en algunas áreas. En primer lugar, se ejecuta en EC2 y se le otorga acceso completo de terminal a la instancia con la CLI de AWS preinstalada. En un entorno corporativo, tener los entornos de su desarrollador implementados en la nube bajo su control es una característica muy interesante. Puede implementar varios entornos de Cloud9 en un servidor en subcarpetas.
Aparte de la integración básica de AWS, Cloud9 realmente sobresale para el desarrollo de Lambda. En realidad, es el mismo editor de texto que encuentra en la página de propiedades de la función, excepto que Cloud9 tiene una gran característica que lo hace mucho mejor: las pruebas locales. Puede probar su función en casi el mismo entorno en el que se ejecutaría en producción, incluso pudiendo probar localmente cómo se comporta su función detrás de una API Gateway. Si desea probar la función en Lambda, hay un botón de 1 clic para implementar su código en la última versión de Lambda $LATEST y probarlo en un entorno real, completo con una API Gateway de desarrollo configurada para ejecutar su función actualizada. La experiencia es bastante fluida.
Incluso si usa Git y SAM para administrar sus implementaciones de Lambda, Cloud9 aún puede resultar útil solo por la capacidad de probar funciones tan fácilmente. El terminal integrado facilita el trabajo con Git desde el entorno Cloud9.
Además, Cloud9 también es compatible con la codificación colaborativa. Varios usuarios pueden iniciar sesión en el mismo entorno y trabajar en el código al mismo tiempo. Otros IDE tienen esta función, pero la función de programación de pares de Cloud9 está integrada con las herramientas de administración de cuentas de AWS y también funciona bien para el desarrollo de Lambda.
Configuración de un entorno
Diríjase a la página del producto Cloud9 y haga clic en "Crear entorno". Dale un nombre y una descripción, luego haz clic en siguiente.
Para la configuración del entorno, elija crear una nueva instancia para el entorno. Si tiene su propio servidor, puede ingresar los detalles de SSH y usarlo sin cargo adicional. Probablemente querrá editar el directorio del entorno en el que se instala Cloud9, si está configurando varios entornos.
También querrá asegurarse de que la configuración de Ahorro de costos esté establecida en algo razonable, para que la instancia no continúe ejecutándose mucho después de que usted (y todos los demás) abandonen el IDE. Alrededor de 30 minutos o una hora está bien.

También puede configurar la VPC y la subred aquí, aunque actualmente no puede implementar Cloud9 en una subred privada.
Haga clic en Siguiente para revisar su configuración y (si todo se ve bien) cree su entorno. A continuación, accederá a una nueva página, donde puede llevar un poco de tiempo crear el entorno por primera vez. En aproximadamente un minuto, se conecta y se lo lleva a la pantalla de inicio de Cloud9, donde puede cambiar a un modo oscuro si lo desea.
Lo primero que debe hacer es verificar que su región de AWS esté configurada correctamente desde la categoría "Configuración de AWS" en la configuración del editor. Debería iniciarse con cualquier región que use como predeterminada, pero no se muestra en el encabezado como la mayoría de los otros servicios de AWS, por lo que es bueno verificarlo dos veces.

Una vez que lo marques, estarás listo para comenzar. Desde la pestaña "Recursos de AWS" en la barra lateral derecha, puede editar las funciones de Lambda directamente. Puede hacer clic en el botón "λ+" en el menú para crear una nueva función Lambda.

Ponle un nombre, luego haz clic en la configuración de Lambda. Si está configurando esta función con una puerta de enlace API, querrá especificar un nombre para la puerta de enlace utilizada para la prueba, lo que permite la depuración usando la puerta de enlace API como punto de entrada en lugar de la ejecución directa.
Si ya tiene una función de Lambda que le gustaría editar, puede importar una función existente en el entorno para editarla.

Una vez que se carga su función, aparece en la barra lateral en su propia carpeta. Abra
index.js o cualquiera que sea su punto de entrada y edite el código como mejor le parezca.
Cuando desee probar, guarde su código y haga clic en el botón "Ejecutar". Tienes algunas opciones aquí:
- Prueba local, que ejecuta la función Lambda en la misma máquina que el entorno
- Prueba remota, que ejecuta la función Lambda en el mismo entorno en el que se ejecutaría en producción
- Pruebas de puerta de enlace de API local, que se ejecuta localmente como una API
-
Prueba remota de API Gateway, que crea y ejecuta una nueva API Gateway real con el prefijo
cloud9- y se conecta a la función Lambda

Estas opciones por sí solas hacen que Cloud9 sea excelente para trabajar con funciones de Lambda. La capacidad de probar fácilmente las funciones localmente le da a Cloud9 una ventaja sobre los IDE locales. Ejecutar localmente significa que no tendrá que molestarse en actualizar la versión $LATEST de la función Lambda; esto permite que varios desarrolladores desarrollen y prueben la misma función sin tener conflictos.
Por supuesto, si desea probar de forma remota, deberá actualizar la versión $ÚLTIMA. Esto no debería afectar sus funciones de producción, suponiendo que las haya configurado correctamente con versiones versionadas y un alias de "Producción" que apunte a la última versión. Facilita las reversiones y permite implementar nuevas funciones lentamente en el transcurso de una hora, asegurándose de que no surjan problemas en la producción.
Editar funciones de Lambda directamente de esta manera y administrar las versiones de código a través de versiones de Lambda es una forma perfectamente válida y sencilla de trabajar con ellas. Sin embargo, algunas empresas pueden preferir usar su control de fuente existente para Lambda e implementar actualizaciones a través de una canalización de CI/CD usando la configuración SAM para definir la pila de funciones. Sin duda, esta es una configuración más complicada (aunque mejor), pero cada implementación aún crea una nueva versión de Lambda, por lo que incluso en este entorno puede usar Cloud9 para realizar pruebas. Cuando esté listo para realizar actualizaciones, debe enviar los cambios a Git. Afortunadamente, Cloud9 tiene una terminal integrada que puede usar para este propósito.