How to Setup an Integrated Development Environment on AWS
Published: 2024-02-16 17:56:54

It is common for development teams to be distributed all over the world, and this can create a significant problem when collaborating. Remote teams often have isolated development environments on each developer's laptop. In the event of a bug or a problem, a developer may spend hours trying to fix it, whereas another team member may be able to resolve it more quickly.

It is often difficult for team members to collaborate in the traditional paradigm of local IDEs due to geographical constraints and isolation. An effective solution to this problem is to create a shared development environment. It should be accessible to all team members, regardless of their location. This is where cloud-based IDEs come in.

[Cloud9](https://aws.amazon.com/cloud9/?p=pm&c=cloud9&z=4) is an AWS-developed IDE service that lets developers collaborate on a single codebase using cloud technology At the end of this article, you will learn how developers can collaborate on a single codebase using Cloud9.

## What is Cloud9?

AWS Cloud9 is a browser-based development environment that is backed by an Amazon EC2 instance. It provides a user with a complete environment including an editor, terminal, and terminal in the cloud.

A variety of programming languages are also available, including Python, JavaScript, PHP, and more. With Cloud9, you can work with your team members in real time. Your team members can also work on the same codebase by sharing a development environment.

## Why Cloud9?

Apart from sharing environments for quick collaboration and pair coding, these are some reasons why you should consider using Cloud9:

- **Quick setup time:** Setting up a development environment on Cloud9 is quick and easy. You can set up and configure your development environment in minutes.

- **Limited Maintenance:** Cloud9 is a managed service, so you don't have to worry about maintaining the infrastructure. AWS takes care of the infrastructure, so you can focus on writing code.

- **Unlimited access:** You're not tied to a single machine. You can access your development environment from any machine with an internet connection. Allowing you to work from anywhere.

- **Easy integration with AWS services:** When you use AWS Cloud9, you can target AWS services such as AWS Lambda, pull code from AWS CodeCommit, and set up CI/CD pipelines with AWS CodePipeline.

- **Disposable environments:** When carrying out tests or debugging, you can create a new environment and discard it when you're done. This helps to keep your development environment clean and organized.

## Setting up Cloud9

This article will guide you through setting up a Cloud9 environment using the AWS console.

### Prerequisites

To set up a Cloud9 environment, you will need the following:

- An AWS account. If you don't have one, you can create one for free [here](https://portal.aws.amazon.com/billing/signup#/start/email).

- Stable internet connection. Cloud9 is a cloud-based service, so you will need a stable internet connection to use it.

- A fundamental knowledge of AWS and how to navigate the AWS Management Console. To get started, you can check out the [AWS Management Console](https://aws.amazon.com/getting-started/hands-on/).

To create a Cloud9 environment using the AWS console, follow the steps below:

1. On AWS, navigate to the Cloud 9 console and click on the **Create Environment** button.
   ![Cloud9 console](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6xeoctnfx02eskt962dt.png)

2. Fill in the form, specifying the **Name**, **Instance type** and **Platform**.
   ![Create Environment](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lw22cfur7fmj0bnxhwpo.png)
   ![Create Environment Form](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nv5vtybw5h0fs1tpd9hx.png)
   ![Create Environment Form 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uqyl62aipd5o8cmg0s3c.png)

3. After which, click on the **Create** button.
   ![Create Environment Form 3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/36t16hy1zsxnw25q2eo2.png)

4. After the Cloud9 environment is provisioned, you can open the IDE.
   ![Cloud9 Environment](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fsryuf016etabg0yrq8m.png)

5. Under the **Cloud9 IDE** tab, click on **Open** to view the IDE.
   ![Cloud9 Environment 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kogkpio1qjvdbrffar3a.png)

6. Explore the Cloud9 IDE. Observe the similarities and differences between your conventional IDE and this one.
   ![Cloud9 Environment 3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0ziwlsgbhou6b8h4lr1.png)
   ![Cloud9 Environment 4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tg5x14d5hiunzgqzit6f.png)

**NOTE:** Remember to destroy the environment and associated resources such as the IAM role when finished.

With this setup, you can share your codebase with your team members and collaborate in real time.

To create a Cloud9 environment for an entire team, you can create an IAM role with the necessary permissions and share the environment with the team members. Learn more about Cloud9 team environments [here](https://docs.aws.amazon.com/cloud9/latest/user-guide/setup.html).

## Conclusion

This article explains how to set up a Cloud9 environment via the AWS console. You have also learned about the benefits of using Cloud9 as a shared development environment.

You can extend this knowledge by [automating this process with AWS CloudFormation](https://github.com/Aahil13/Automated-AWS-Cloud9-Development-Environment). This will allow you to create and destroy Cloud9 environments on the fly.

Additionally, you could include configuration management tools such as Ansible to install and configure the necessary tools and libraries on the Cloud9 environment.