Entorno de desarrollo IDE en la nube - Plataforma de desarrollo en equipo con AWS Cloud9

Se explica cómo crear un entorno de desarrollo integrado basado en la nube aprovechando AWS Cloud9. Se presentan formas prácticas de uso que aceleran el desarrollo en equipo, como el desarrollo full stack desde el navegador, la programación en pareja en tiempo real, la integración con CodeCommit y las pruebas locales de funciones de Lambda.

Problemas del entorno de desarrollo local y el lugar de Cloud9

Para los equipos de desarrollo de software, la creación y la unificación de los entornos de desarrollo son un problema recurrente. A veces se tardan varios días en preparar el entorno de desarrollo al incorporar a un nuevo miembro, o surge el problema de «funciona en mi entorno» a causa de versiones distintas de herramientas o bibliotecas entre los miembros. AWS Cloud9 es un entorno de desarrollo integrado (IDE) basado en el navegador que ofrece un editor de código, una terminal y un depurador en el navegador. Con una instancia EC2 o un servidor al que se conecta por SSH como backend, puede usar un entorno que incluye entornos de ejecución (Node.js, Python, Java, Go, PHP, etc.) y herramientas (AWS CLI, SAM CLI, Docker). GitHub Codespaces y Gitpod también ofrecen IDE en la nube similares, y la característica de Cloud9 es su integración con los servicios de AWS. Como las credenciales temporales de IAM se inyectan automáticamente en el entorno, se puede ahorrar el trabajo de configurar por su cuenta las credenciales de la AWS CLI y los SDK. Cabe señalar que Cloud9 dejó de aceptar clientes nuevos el 25 de julio de 2024, y solo los clientes existentes pueden seguir usándolo (a fecha de octubre de 2026). Como destinos de migración oficiales se indican el AWS Toolkit de cada IDE y AWS CloudShell.

Colaboración en tiempo real y programación en pareja

La función de colaboración en tiempo real de Cloud9 ofrece una experiencia de programación en pareja en la que varios desarrolladores pueden editar código a la vez en el mismo entorno. El uso compartido del entorno puede controlarse por usuario o rol de IAM, y se pueden establecer dos niveles de acceso: solo lectura y lectura y escritura. En un entorno compartido, la posición del cursor de cada miembro se muestra en tiempo real. En la revisión de código, el revisor puede dar sus comentarios mientras ejecuta realmente el código. También puede usarse para la programación en pareja y la programación en grupo (mob programming) en el trabajo remoto y, a diferencia de compartir la pantalla, cada miembro puede trabajar con los ficheros por separado. También incorpora una función de chat, que permite avanzar en el desarrollo mientras se discute sobre líneas concretas del código. Si se toma una instantánea del entorno, se puede guardar / restaurar el estado de desarrollo de un momento concreto y probar cambios experimentales de forma segura.

Integración con CodeCommit y con pipelines de CI/CD

En Cloud9 se pueden clonar repositorios de AWS CodeCommit en el entorno, y las operaciones de Git, como confirmar e insertar cambios (commit y push), pueden realizarse desde el editor y la terminal. La autenticación de CodeCommit usa las credenciales temporales de IAM, por lo que no es necesario configurar claves SSH ni credenciales HTTPS. Desde la terminal de Cloud9 se pueden activar pipelines de CodePipeline o consultar el estado de las compilaciones de CodeBuild, lo que permite gestionar en una sola pantalla el flujo de trabajo desde el desarrollo hasta el despliegue. Como SAM CLI viene preinstalado, las pruebas locales y el despliegue de aplicaciones serverless pueden ejecutarse directamente en Cloud9. A continuación se muestra un ejemplo de inicialización de una aplicación de SAM y ejecución de pruebas locales en la terminal de Cloud9.

# Inicialización de la aplicación de SAM
sam init --runtime python3.12 --name my-app
# Ejecución local de la función de Lambda
cd my-app
sam build
sam local invoke HelloWorldFunction \
  --event events/event.json
# Emulación local de API Gateway
sam local start-api --port 3000
# Despliegue rápido en la nube
sam sync --stack-name my-app-dev --watch

Como Docker también viene preinstalado, también admite el desarrollo de aplicaciones basadas en contenedores. Cloud9 puede usarse en combinación con las herramientas de desarrollo serverless de AWS (SAM CLI, CDK, pruebas locales de Lambda).

Optimización de costes y diseño de seguridad

Los entornos EC2 de Cloud9 tienen una función que detiene automáticamente la instancia cuando no hay actividad durante un tiempo determinado, lo que permite contener los costes. De forma predeterminada, la instancia se detiene tras 30 minutos de inactividad y se inicia automáticamente en el siguiente acceso. Esta función de detención automática evita que se sigan generando costes aunque los desarrolladores olviden detener la instancia al terminar la jornada o durante el fin de semana. El tipo de instancia puede elegirse según el contenido del desarrollo. En cuanto a la seguridad, los entornos de Cloud9 se sitúan dentro de una VPC, y la comunicación puede controlarse con grupos de seguridad y ACL de red. Si usa AWS Systems Manager Session Manager, puede conectarse al entorno sin abrir puertos de entrada y reducir las rutas de acceso desde el exterior. Al cifrar los volúmenes de EBS, se pueden proteger los datos almacenados. Con las políticas de IAM se pueden controlar con detalle los permisos de acceso de cada entorno, lo que facilita evitar que los desarrolladores accedan por error a recursos del entorno de producción.

Resumen - Elección de un entorno de desarrollo IDE en la nube

AWS Cloud9 ofrece, como entorno de desarrollo integrado basado en el navegador, un editor de código, una terminal y un depurador, y puede usarse para el desarrollo serverless en combinación con los servicios de AWS. La programación en pareja con la función de colaboración en tiempo real, el flujo de trabajo de Git con la integración con CodeCommit y las pruebas locales con SAM CLI ayudan al desarrollo en equipo. La detención automática y la ubicación dentro de una VPC son elementos que considerar al usarlo en entornos empresariales. Como solo los clientes existentes pueden usar Cloud9, al elegir un entorno por primera vez, se evalúan también otros entornos de desarrollo.

Referencias (recursos oficiales de AWS)

Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.

Si esta página y la documentación oficial difieren, prevalece la documentación oficial.

Compartir