Primeros pasos con AWS Cloud9 - Configuración y uso de un IDE basado en navegador
Un IDE en la nube que permite completar el desarrollo AWS completamente en el navegador. Aprenda sobre el desarrollo Lambda con un entorno SAM CLI preinstalado y programación en pareja mediante edición colaborativa en tiempo real.
Características y casos de uso de Cloud9
Cloud9 es un IDE basado en navegador que construye automáticamente un entorno de desarrollo en una instancia EC2 (aproximadamente t3.small), operando por unos pocos dólares al mes. El editor de código, terminal y depurador funcionan dentro del navegador, eliminando la necesidad de instalar herramientas de desarrollo en la máquina local. AWS CLI, SAM CLI, Docker, Node.js, Python y Git vienen preinstalados, permitiendo comenzar a desarrollar sin dedicar tiempo a la configuración del entorno. Es especialmente útil para la incorporación de nuevos miembros, la estandarización de entornos en talleres prácticos y para evitar problemas causados por diferencias en entornos locales. Cabe señalar que AWS dejó de ofrecer Cloud9 a nuevos clientes el 25 de julio de 2024. Los usuarios existentes pueden seguir utilizándolo, pero las cuentas AWS creadas después de esa fecha no pueden crear entornos Cloud9.
Desarrollo Lambda e integración con SAM CLI
Cloud9 está optimizado para el desarrollo de funciones Lambda, soportando pruebas locales con hasta 10 GB de almacenamiento /tmp y timeouts de 15 minutos. Con SAM CLI preinstalado, puede crear proyectos con sam init, ejecutar pruebas locales con sam local invoke y desplegar con sam deploy, todo desde el terminal. También soporta depuración inline de funciones Lambda, permitiendo establecer puntos de interrupción y ejecutar paso a paso. Como Docker está disponible, puede ejecutar la emulación local de API Gateway con sam local start-api. Debido a que el entorno Cloud9 se ejecuta en una instancia EC2, puede acceder a recursos dentro de la VPC (RDS, ElastiCache) a través de la red privada, facilitando pruebas de integración que son difíciles en el desarrollo local.
Gestión de costos y seguridad
Cloud9 en sí es gratuito; solo se paga por la instancia EC2 y el almacenamiento EBS. La función de auto-stop detiene automáticamente la instancia EC2 tras un período de inactividad y la reinicia al acceder nuevamente. El temporizador de detención predeterminado es de 30 minutos, ajustable según el estilo de desarrollo. Con una instancia t3.small utilizada 8 horas al día, el costo mensual es de solo unos pocos dólares. En seguridad, AWS Managed Temporary Credentials se inyectan automáticamente en el entorno, permitiendo acceder a recursos AWS con los permisos del usuario IAM. No es necesario almacenar claves de acceso en archivos, reduciendo el riesgo de filtración de credenciales. Sin embargo, Managed Temporary Credentials tienen algunas limitaciones; ciertas operaciones IAM y algunas operaciones CloudFormation pueden estar restringidas, requiriendo configuración explícita de credenciales para tales operaciones. Para profundizar sus conocimientos sobre Cloud9, libros especializados en Amazon pueden ser útiles.
Alternativas a Cloud9 y rutas de migración
Los nuevos clientes que crearon cuentas AWS después del 25 de julio de 2024 no pueden usar Cloud9, por lo que deben considerar alternativas. AWS CloudShell es un entorno de shell basado en navegador con AWS CLI y SAM CLI preinstalados, proporcionando una conveniencia equivalente a Cloud9 solo para operaciones de terminal. Sin embargo, CloudShell carece de funcionalidad de editor de código y no es adecuado para trabajo de codificación serio. La combinación de un IDE local (VS Code, JetBrains) con extensiones AWS Toolkit es el flujo de trabajo recomendado como sucesor de Cloud9. AWS Toolkit proporciona soporte para creación de plantillas SAM, depuración local de funciones Lambda y gestión de stacks CloudFormation desde dentro del IDE, cubriendo las funciones principales de Cloud9. Para necesidades de desarrollo remoto, VS Code Remote - SSH se conecta a instancias EC2, proporcionando una experiencia de edición equivalente a la local en un entorno remoto.
Limitaciones y consideraciones de Cloud9
Aunque Cloud9 ofrece gran conveniencia, es importante entender sus limitaciones operativas. Los entornos basados en EC2 tienen un tamaño predeterminado del volumen raíz (EBS) de solo 10 GB, y al trabajar con imágenes Docker o proyectos grandes, es necesario expandir el volumen EBS. Use el script resize.sh o AWS CLI para modificar el tamaño del volumen y extender el sistema de archivos. En cuanto a redes, la configuración predeterminada coloca los entornos Cloud9 en subredes públicas con acceso SSH del grupo de seguridad de entrada restringido a rangos de IP del servicio Cloud9, pero usar conexiones de Systems Manager permite colocarlos en subredes privadas para mayor seguridad. La función de edición colaborativa (programación en pareja) funciona en tiempo real, pero al compartir un entorno se otorga a los usuarios invitados acceso a todos los archivos del entorno, por lo que se debe tener cuidado de no colocar inadvertidamente archivos de credenciales en el espacio de trabajo.
Resumen
Cloud9 es un IDE en la nube que permite completar el desarrollo AWS completamente en el navegador. Proporciona herramientas de desarrollo preconfiguradas, pruebas locales de funciones Lambda y operaciones integradas de AWS CLI desde el terminal. Se ejecuta en una instancia EC2 y soporta edición colaborativa en tiempo real con miembros del equipo, optimizando la programación en pareja y las revisiones de código. Desde el 25 de julio de 2024 ya no está disponible para nuevos clientes, por lo que los nuevos usuarios deben considerar la combinación de un IDE local con AWS Toolkit, o AWS CloudShell como alternativas.