What is AWS Cloud9

AWS Cloud9 is a browser-accessible, fully configured, integrated development environment (IDE) that allows users to write, run and debug their code. The IDE comes with preinstalled runtimes, package managers, and debugging tools, which means there is no need to install files or configure your development environment.

Since Cloud9 is hosted on AWS, you only need a computer and an internet connection to access your development environment. Cloud9 supports recent browser versions of Google Chrome, Safari, Firefox, and Microsoft Edge.

Cloud9 has three components:

  • Code editor

  • Debugger

  • Terminal

The browser-based editor makes life easier for developers. The editor has advanced functions such as code completion and suggestions, helping coders avoid errors. The editor also allows users to edit, resize, crop, rotate or flip images.

The integrated debugger offers widely used capabilities such as setting breakpoints, stepping through code, and inspecting variables of PHP, Python, JS/Node.js, C/C++ app.

The Cloud9 terminal offers a browser-based shell experience that allows you to install software, git push, or execute commands.

Types of AWS Cloud9 development environments

AWS offers two types of Cloud9 environments

  • AWS Cloud9 EC2 environment – Connect Cloud9 with Amazon EC2 instance.

  • AWS Cloud9 SSH environment – Connect Cloud9 to an existing Linux server.

AWS Cloud 9 workflow

high-level overview of how AWS Cloud9 works

high-level overview of AWS Cloud9 work flow

Features

All you need is a browser to Code: When you are using Cloud9, there will be no need to install files and maintain a local development environment because Cloud9 takes care of that part. This allows you to write, run and debug applications from your browser.

Since all you need is a browser for programming, your development environment becomes easy to access from anywhere, anyplace and any time, as long as you have a computer and an internet connection.

Ability to Collaborate with your Team: The development environment can be shared with your team, giving you the ability to collaborate with your teammates while programming. Team members can see each other coding in real time. Cloud9 also has a built-in chat that allows users to communicate with each other without leaving the development environment.

Easier to build serverless applications: Cloud9 has preconfigured the development enviroment with SDKs, libraries and plug-ins needed for serverless programming. It also supports testing and debugging of Lambda functions. This makes it easy to write, run, debug your serverless applications.

Terminal to directly access AWS Services: Cloud9 terminal has sudo privileges to access managed Amazon Ec2 instance, and a pre-authenticated AWS Command line interface.

Due to this, Cloud9 users can directly access and control any AWS service from Cloud9.

Quickly launch new projects: Starting a new project is a bit easier with cloud9 because there is no need to install all the software and wait to configure your development environment.

Cloud9 comes pre-packaged with more than 40 programming languages, including Node.js, JavaScript, Python, PHP, Ruby, Go and C++, and several commonly used development tools such as GIT, and Docker. Customers can choose either from the default run configurations or define their own.

“This enables you to start writing code for popular application stacks within minutes by eliminating the need to install or configure files, SDKs, and plug-ins for your development machine. Because Cloud9 is cloud-based, you can easily maintain multiple development environments to isolate your project’s resources.” –AWS Cloud9 Overview

Revision history: AWS Cloud9 maintains the revision history of the files within the IDE (development environment). Developers can quickly check code changes made in the past and revert if needed.

What is the pricing for AWS Cloud9?

There is no additional charge you need to pay for using Cloud9. You only pay for your infrastructure resource such as Amazon EC2, EBS or S3, which you will be using to run and store your code.