AWS Cloud9 | Cloud IDE | Concept | Environment Setup | @Cloud4DevOps

Cloud4DevOps
1 Dec 202214:43

Summary

TLDRIn this informative video, the host explores AWS Cloud9, a cloud-based integrated development environment (IDE) that enables users to write, run, and debug code directly from a browser. Highlighting its ease of use, the host demonstrates how Cloud9 comes pre-packaged with essential tools for popular programming languages and offers a seamless experience for developing serverless applications. The video also covers the cost implications of running Cloud9 on high-end EC2 instances and provides a step-by-step guide on setting up the environment, showcasing its features like real-time collaboration and direct terminal access to AWS services.

Takeaways

  • 🌐 AWS Cloud9 is a cloud-based Integrated Development Environment (IDE) provided by Amazon Web Services (AWS).
  • πŸ’» It allows for writing, running, and debugging code directly in the browser, eliminating the need for local IDE installations.
  • πŸ”§ Cloud9 is particularly powerful for AWS application development, offering seamless integration with AWS services.
  • πŸ’‘ There is a cost associated with running Cloud9, which depends on the EC2 instance size and usage, so developers should be mindful of their resource allocation.
  • πŸ› οΈ Cloud9 comes pre-packaged with essential tools for popular programming languages like JavaScript, Python, PHP, etc., reducing setup time.
  • 🏒 It supports working on projects from any location with an internet connection, making it a flexible option for remote work.
  • πŸ”’ Cloud9 provides secure access to development environments and allows for easy sharing with team members in a secure manner.
  • 🀝 It enables real-time collaboration, allowing multiple developers to work together on the same codebase simultaneously.
  • πŸš€ Cloud9 offers direct terminal access to AWS, simplifying interactions with AWS services without the need for manual AWS CLI configuration.
  • πŸ”„ The environment can be quickly set up and torn down, which is cost-effective and efficient for developers who don't need a permanent setup.
  • πŸ” The script provides a step-by-step guide on how to provision a Cloud9 environment, including selecting instance types and configuring network settings.

Q & A

  • What is AWS Cloud9?

    -AWS Cloud9 is a cloud-based integrated development environment (IDE) provided by Amazon Web Services for writing, running, and debugging code.

  • Why would someone choose AWS Cloud9 over other IDEs like VS Code or Visual Studio?

    -AWS Cloud9 is particularly powerful for AWS-based development, offering seamless integration with AWS services and the ability to work on projects from anywhere with an internet connection.

  • What are the costs associated with using AWS Cloud9?

    -The cost of using AWS Cloud9 depends on the EC2 instance size you provision for the Cloud9 environment. Higher-end instances will incur higher costs.

  • What pre-packaged tools does Cloud9 come with for popular programming languages?

    -Cloud9 comes pre-packaged with essential tools for programming languages such as JavaScript, Python, PHP, and more, eliminating the need for developers to install specific packages.

  • How does Cloud9 facilitate serverless application development?

    -Cloud9 provides a seamless experience for developing serverless applications by enabling easy definition of resources, debugging, and switching between local and remote execution.

  • What is the advantage of Cloud9's browser-based environment for developers?

    -The browser-based environment of Cloud9 allows developers to work on their projects from anywhere, as long as they have an internet-connected machine, without needing to install any software locally.

  • How does Cloud9 handle security when sharing development environments with a team?

    -Cloud9 allows developers to share their development environment with their team in a secure manner over the internet, enabling real-time collaboration and code sharing without the need for VPNs or internal networks.

  • What is the benefit of using Cloud9's built-in terminal with pre-configured AWS CLI?

    -The built-in terminal with pre-configured AWS CLI in Cloud9 allows developers to interact with AWS services directly without the need to configure access keys, secret keys, or regions manually.

  • How quickly can a new project be started in Cloud9?

    -Starting a new project in Cloud9 is very fast due to its cloud-based nature and pre-configured environment, allowing developers to begin work immediately without setup delays.

  • What happens when a Cloud9 environment is inactive for an extended period?

    -If a Cloud9 environment is inactive for 30 minutes, it will automatically shut down to save costs, as there is no need to keep the environment running when not in use.

  • How can a developer customize their Cloud9 environment?

    -Developers can customize their Cloud9 environment through preferences, including changing themes, enabling code completion for various programming languages, and configuring terminal settings.

Outlines

00:00

πŸ˜€ Introduction to AWS Cloud9 IDE

The video script introduces AWS Cloud9, a cloud-based Integrated Development Environment (IDE) provided by Amazon Web Services (AWS). It is designed for writing, running, and debugging code, and is particularly beneficial for application development and script writing. The script emphasizes that while Cloud9 is not the only IDE available, it offers unique advantages when used in conjunction with AWS services. It also mentions the cost implications of running high-end EC2 instances to support the Cloud9 environment. The speaker outlines the features of Cloud9, including its browser-based accessibility, pre-packaged tools for popular programming languages, and the ability to work from anywhere with an internet connection. Additionally, the script touches on the ease of sharing development environments with teams, real-time collaborative coding, and direct terminal access to AWS services.

05:01

πŸ› οΈ Setting Up and Understanding AWS Cloud9 Environment

This paragraph delves into the process of setting up an AWS Cloud9 environment. It begins with navigating to the AWS Cloud9 service and understanding its introduction page. The script explains the creation of a new environment, including naming it, selecting an instance type, and choosing a platform. It highlights the importance of setting a timeout for inactivity to save costs and discusses network settings, including the selection of a VPC and subnet. The speaker also explains the creation of an EC2 instance through a CloudFormation template triggered in the background, which includes user data and settings for the Cloud9 environment. The paragraph concludes with accessing an existing Cloud9 environment and demonstrating the built-in terminal and AWS CLI capabilities.

10:03

πŸ“ Exploring Features and Preferences in AWS Cloud9

The final paragraph of the script explores the features and preferences available within the AWS Cloud9 environment. It discusses the ability to perform operations like creating and uploading files, cloning GitHub repositories, and the availability of a dark theme and default keyboard settings. The speaker then navigates through the preferences menu, highlighting the support for various programming languages and the AWS toolkit. The paragraph also covers the settings for the terminal, themes, AWS settings including managed temporary credentials, and experimental features. The script emphasizes the rich editor capabilities, support for Git, and the ease of cloning repositories. It concludes with an invitation for viewers to explore Cloud9 further, delete it if not needed, or propose its use to management for AWS-related development work.

Mindmap

Keywords

πŸ’‘AWS Cloud9

AWS Cloud9 is a cloud-based Integrated Development Environment (IDE) provided by Amazon Web Services. It allows developers to write, run, and debug their code in a browser-based environment, eliminating the need for local IDE installations. In the video, the script discusses Cloud9's functionalities and its integration with AWS services, emphasizing its convenience for developers working within the AWS ecosystem.

πŸ’‘Integrated Development Environment (IDE)

An Integrated Development Environment is a software application that provides comprehensive facilities to computer programmers for software development. It typically includes features like code editors, build automation tools, and debuggers. The script mentions IDEs in the context of AWS Cloud9, which serves as an IDE in the cloud, facilitating application development and script writing.

πŸ’‘EC2 Instance

An EC2 (Elastic Compute Cloud) Instance is a virtual server in AWS that can scale down or up as needed. The script discusses the cost associated with running high-end EC2 instances for the Cloud9 environment, as there is an instance running in the backend to support the Cloud9 environment's operations.

πŸ’‘Pre-packaged Environment

A pre-packaged environment refers to a setup that comes with all the necessary tools and configurations ready for use. AWS Cloud9 is described as coming pre-packaged with essential tools for popular programming languages, which means developers can start working on projects without needing to install or configure additional software.

πŸ’‘Serverless Application

A serverless application is one where the server management and capacity planning are abstracted away from the developer. The script mentions that Cloud9 provides a seamless experience for developing serverless applications, allowing for easy definition of resources and debugging between local and remote executions.

πŸ’‘AWS CLI

The AWS Command Line Interface (CLI) is a unified tool to manage AWS services. The script notes that Cloud9 comes with a pre-configured AWS CLI, which simplifies interactions with AWS services by providing temporary credentials and eliminating the need for manual configuration of access keys and regions.

πŸ’‘Real-time Collaboration

Real-time collaboration refers to the ability of multiple users to work together on a project simultaneously. The script highlights the benefits of Cloud9's real-time code collaboration feature, allowing team members to pair program and track each other's inputs in real time.

πŸ’‘Temporary Access Key

A temporary access key in AWS is a set of credentials that are generated on-the-fly and are valid for a short period. The script explains that Cloud9 provides direct terminal access to AWS with a temporary access key, streamlining the process of interacting with AWS services without the need for manual credential setup.

πŸ’‘CloudFormation

AWS CloudFormation is a service that allows users to create and manage AWS resources using templates. The script mentions that when a Cloud9 environment is created, a CloudFormation template is triggered in the background, which handles the creation and configuration of the necessary AWS resources.

πŸ’‘Git Support

Git is a version control system for tracking changes in source code during software development. The script points out that Cloud9 has built-in Git support, enabling developers to clone repositories and manage version control directly within the Cloud9 environment.

πŸ’‘Security

Security in the context of Cloud9 refers to the measures taken to protect the development environment and the code. The script mentions the importance of working in a secure manner, especially when sharing the development environment with a team over the internet, which Cloud9 facilitates securely.

Highlights

Introduction to AWS Cloud9 as a cloud-based IDE for writing, running, and debugging code.

Explanation of the Integrated Development Environment (IDE) and its uses in application development and scripting.

The cost implication of running high-end EC2 instances for the Cloud9 environment.

Provisioning of Cloud9 and the pre-packaged extensions that come with the environment.

Cloud9's browser-based IDE capabilities, including a code editor, debugger, and terminal.

Pre-packaged support for popular programming languages like JavaScript, Python, PHP, and more.

The convenience of Cloud9's cloud-based nature, allowing work from anywhere with an internet connection.

Security measures in accessing Cloud9 and the ease of sharing the development environment with a team.

Real-time code collaboration features of Cloud9 for pair programming and team input tracking.

Direct terminal access to AWS services without the need for configuring access keys and regions.

Quick project setup in Cloud9 due to its internet-based environment and pre-configured settings.

Demonstration of how to provision a Cloud9 environment through the AWS Management Console.

The creation process of a Cloud9 environment and its connection to an EC2 instance via SSH.

Options for instance types and platforms (Amazon Linux and Ubuntu) when setting up Cloud9.

The importance of setting a timeout for Cloud9 environments to save costs when not in use.

Network settings and the selection of VPC and subnet for Cloud9 configuration.

The use of CloudFormation templates in the background when creating a Cloud9 environment.

Access to the Cloud9 environment and its features such as the built-in terminal and AWS CLI.

Preferences and settings available in Cloud9 for customization according to developer needs.

Support for different programming languages and AWS toolkit integration within Cloud9.

Git support and the ability to clone GitHub repositories directly in Cloud9.

Encouragement to explore Cloud9, understand its benefits, and consider its use in AWS development workflows.

Transcripts

play00:00

hey everyone welcome to my channel I

play00:02

hope everybody is doing well and safe so

play00:04

in today's video we will discuss about

play00:06

AWS Cloud9 it's a cloud-based IDE

play00:09

provided by AWS for writing running and

play00:12

debugging your code

play00:14

now ID is an integrated development

play00:16

environment where you basically write up

play00:19

your code run your code and debug your

play00:22

code when you are doing the application

play00:23

development you can also do same for

play00:26

writing the scripts as well now I'm not

play00:28

saying that you have to use Cloud9 it's

play00:31

better you understand what Cloud9 brings

play00:34

with right all the functionalities how

play00:37

Cloud9 is powerful when it comes to AWS

play00:40

right so you can obviously go for vs

play00:43

code Visual Studio or any other ID which

play00:46

you're working with but with AWS Cloud9

play00:48

one one of the thing that I understand

play00:51

is like you have to bear a cost if

play00:53

you're running very high end ec2

play00:55

instance because in order to run Cloud9

play00:58

environment

play00:59

there is a instance that needs to be

play01:02

running in the back end for you so you

play01:05

have to bear a cost for that particular

play01:07

instance depend upon the size of

play01:09

instance that you are provisioning how

play01:10

much you are doing your development on

play01:13

this ID so let's understand this and

play01:15

I'll show you how you can provision

play01:17

Cloud9 and what all extension as a

play01:20

pre-package come with Cloud9 environment

play01:22

so Cloud9 as I said cloud-based ID that

play01:25

lets you to write run and debug your

play01:27

code with a browser it's a browser-based

play01:30

environment it's not something a

play01:31

software that you install on your

play01:33

machine like vs code and start doing

play01:35

your development it includes code editor

play01:38

debugger terminal Cloud9 comes

play01:40

pre-packaged with essential tools for

play01:43

popular programming languages including

play01:45

JavaScript python PHP and more so you

play01:49

basically don't have to worry about you

play01:51

know

play01:52

installing specific packages so it comes

play01:55

with lot of pre-packaged environment

play01:57

which a developer can interact with so

play02:00

you don't need to install a files or

play02:02

configure your development machine to

play02:04

start a new project because it's all

play02:06

pre-packaged since your Cloud9 is a

play02:09

cloud-based ID you can work on your

play02:11

projects from Office home or anywhere

play02:13

using the internet connected machine so

play02:16

that's one of the good part of Cloud9 it

play02:18

can be accessed anywhere but obviously

play02:21

with a security manner right a secure

play02:25

manner Cloud9 also provides a seamless

play02:27

experience for developing serverless

play02:29

application enabling you to easily

play02:31

Define the resources debug and switch

play02:33

between the local and remote execution

play02:36

for serverless application so in short I

play02:39

would say this gives you much more

play02:41

benefit

play02:43

when it when you are interacting with

play02:45

AWS services or when you are developing

play02:47

an application but as you know like

play02:49

Cloud within Cloud you can interact you

play02:52

can transfer the files you can transfer

play02:54

your code within a matter of seconds for

play02:57

example if you're working on a vs code

play03:00

right you are developing your

play03:01

application as an example I'm just

play03:03

trying to tell you the difference

play03:06

now in order to share that particular

play03:08

package to a different team you have to

play03:12

make certain sort of connections like

play03:13

you're on a different network and you

play03:15

are sharing on a different network so

play03:16

you need to be on VPN or internal

play03:18

Network in order to make sure everything

play03:20

is secure with Cloud9 it's a matter of

play03:23

second where you can share your package

play03:26

itself on internet but in a secure

play03:28

manner so that's very easy

play03:30

with Cloud9 you can share the

play03:32

development environment with your team

play03:33

enabling you to pair program and track

play03:36

each other's input in a real time what

play03:38

are the benefits comes with Cloud9 it's

play03:41

a browser based right real-time code you

play03:44

can

play03:45

together you can do a code with

play03:47

different team members in a real time we

play03:50

we can build a serverless application

play03:52

with ease direct terminal access to AWS

play03:55

so you don't have to configure access

play03:57

key and secret key and region so you can

play03:59

directly once you have the Cloud9

play04:02

environment up and running you can

play04:03

interact with AWS Services because it

play04:05

comes with a temporary access scan

play04:07

secret give the token in the back end

play04:09

start a new project quickly and one of

play04:12

the good part of Cloud9 the speed of you

play04:16

know working on the internet environment

play04:19

is very fast as compared to your local

play04:21

computer now again if you are using your

play04:23

local computer at very high ethernet

play04:26

speed then that's a different scenario

play04:27

but by default you don't have to worry

play04:29

about configuring the internet

play04:31

environment on Cloud9 as well so I hope

play04:33

this clears a lot in terms of what we

play04:35

want to achieve with Cloud9 now it's

play04:38

time for a demo let me stop the

play04:40

presentation and navigate to my AWS

play04:43

Management console I am already running

play04:45

a Cloud9 environment but I'll show you

play04:47

how you can provision it so what you

play04:49

have to do you have to go to AWS Cloud9

play04:52

you can also search AWS it's Cloud9

play04:55

actually not AWS

play04:57

cloud with no Space Nine so once you

play05:01

click on Cloud9 you will get navigated

play05:03

to this particular introduction page

play05:05

which is basically a cloud ID for

play05:08

writing running and debugging your code

play05:09

you can go through all you know all all

play05:13

the benefits and everything over here

play05:15

because whatever we have discussed it's

play05:17

written in a different language I would

play05:19

say but the concept is same

play05:22

okay so this comes with a built-in

play05:25

terminal with a pre-configured awsli so

play05:27

you don't have to specifically configure

play05:29

awcli to you know interact with the

play05:32

environment another important factor if

play05:35

you can see on an it it creates an ec2

play05:37

machine in the back end that connects to

play05:39

your own Linux server through SSH as

play05:42

well

play05:43

okay so in order to create Cloud9 what

play05:46

you have to do click on create

play05:48

environment give the name I'm giving

play05:50

this as demo one and it has to be a

play05:53

unique name okay if you have an existing

play05:56

compute you can select the existing

play05:58

server and based upon that you have to

play06:01

provide your username host and port

play06:03

number on which you want to connect I

play06:06

don't have any server running especially

play06:08

for you know to use this Cloud9

play06:10

environment

play06:11

now here is the type of instance T2

play06:14

micro is very small uh

play06:17

initially you can start working with T2

play06:19

micro but at certain point of time it

play06:22

will get slow that's something for sure

play06:25

So based upon your usage go for the

play06:29

proper instance type how much you are

play06:33

doing a development based on that

play06:34

experience platform as of now we have

play06:37

only two platforms supported which is

play06:38

Amazon Linux and Ubuntu the Amazon Linux

play06:41

which is more towards an rhl family so

play06:44

yum installed and everything works over

play06:45

there

play06:46

timeout this is very important point

play06:48

over here so if your Cloud9 environment

play06:50

is inactive for 30 minutes let's shut it

play06:53

down because there is no point to have

play06:57

Cloud9 up and running if you are not

play06:58

doing a development obviously being a

play07:01

human I'm not going to work 24 cross 7

play07:03

cross 365 days so I have to shut down

play07:05

those environment which I'm not using

play07:07

because we are running in the world of

play07:09

cloud so it's better to save money as

play07:12

much as we can

play07:13

network settings so there are like two

play07:15

ways of doing a connection so if you are

play07:17

doing on a private Network use systems

play07:20

manager and if you are you know want to

play07:22

do a direct SSH connection then go for

play07:25

SSH environment VPC you have to select

play07:28

the VPC on which you want to configure

play07:30

Cloud9 and select the you know subnet on

play07:35

which you want to configure it I don't

play07:37

have a private subneter as of now

play07:38

because Nat Gateway is totally deleted I

play07:41

don't want to pay for an ideal Nat

play07:43

Gateway it costs a lot so let's go with

play07:46

the public subnet you can give the

play07:48

tagging and in the backend it it is

play07:51

creating an IM role Okay click on create

play07:55

now obviously this will take bit of time

play07:58

for uh make this environment up and

play08:01

running but one of the important point

play08:04

to note over here from you know

play08:06

interview perspective as well so when

play08:08

you create a Cloud9 environment in the

play08:10

back and it's creating easy to instance

play08:12

but it's not directly creating an easy

play08:14

to instance there is a cloud formation

play08:16

template in the back end that gets

play08:18

triggered with all the functionality and

play08:20

user data written in the back end so

play08:22

that's what uh creating ec2 instance so

play08:26

if I go to cloud formation

play08:29

let me show you that as well

play08:32

so I'll be having two cloud formation

play08:35

one is already running with Cloud9

play08:36

environment and one is the new one that

play08:39

we have triggered so this one is the

play08:41

created one already so let's select this

play08:44

you can select a the output and all okay

play08:48

it seems to be a plain template so as

play08:51

you can see this is an Ami image ID and

play08:54

this is the user data

play08:56

that it's creating Cloud9 environment

play08:59

Association of the public IP address and

play09:01

everything all sorts of settings and

play09:04

sided IP range is this one

play09:06

that space I believe that's a public IP

play09:09

address of an instance

play09:11

so that's done now if I refresh it if I

play09:16

go to my ec2 instance

play09:19

as you can see a new instance is getting

play09:21

initialized that's what your Cloud9

play09:23

environment is all about now instead of

play09:27

waiting because the process is same you

play09:29

don't have to uh you know deviate from

play09:33

the process so let me show you the

play09:35

existing Cloud9 environment so once it

play09:38

is up and running this will show as over

play09:42

here demo and demo one and click on one

play09:45

of the open environments I believe this

play09:47

is already done right so let's click on

play09:50

demo one it is it was quite fast so

play09:54

that's your Cloud9 environment

play09:56

and press option cmdr that's that's what

play10:00

it is so this is your terminal at the

play10:03

end at the bottom basically now if I do

play10:06

AWS s3ls I'll be able to see all my

play10:09

buckets over here

play10:11

so I haven't configured anything I

play10:13

haven't configured AWS CLI but still I

play10:15

am able to query all the S3 buckets why

play10:19

because it comes with a pre-packaged AWS

play10:22

CLI with a temp credentials okay

play10:25

now what are options we are getting you

play10:28

can create a file upload a file you can

play10:30

also clone the GitHub repo and obviously

play10:33

uh the theme over here is jet dark and

play10:38

default keyboard

play10:40

okay so let's click on Cloud9 see the

play10:45

preferences here you can see or or you

play10:48

can change basically whatever as per

play10:51

your requirement right so you can save

play10:54

the settings to disk we have code editor

play10:57

where you you are getting lot of

play10:59

different option code formatters are

play11:01

there then

play11:04

go support enable go code completion and

play11:07

everything JavaScript support So as you

play11:10

can see it's very rich in version right

play11:13

python support is the then typescript

play11:16

support ec2 instances AWS toolkit so we

play11:20

are getting almost everything from the

play11:22

developer perspective again I'm not a

play11:24

developer but I do a lot of scripting

play11:27

still I am able to use this as per best

play11:31

of my knowledge but yeah from from a

play11:34

developer perspective I would say we are

play11:36

getting a very rich editor right so as

play11:39

you can see run configuration find the

play11:41

files hints and warnings go Java

play11:44

JavaScript PHP python support typescript

play11:47

and ec2 instances here is the you know

play11:50

all the settings what we have for the

play11:52

ec2 instances

play11:54

now if you just click on this is the

play11:57

project setting

play11:59

AWS toolkit now if you go to user

play12:02

setting here you can change as per your

play12:04

requirement one of the important one you

play12:07

will play around a lot is terminal so

play12:10

you can change the color and everything

play12:12

if you don't like jet black for that you

play12:15

can go to there is something called

play12:17

themes where is that General

play12:23

it's somewhere over here uh the theme

play12:26

section yeah here it is themes so if you

play12:29

want white you can go with that gray

play12:33

black whatever whatever it is right uh

play12:36

another part is AWS settings here is

play12:40

something called credential it's a

play12:41

managed temporary credential

play12:43

okay so again you don't have to

play12:46

configure anything it comes with a

play12:48

prepackaged CLI with temporary SSH key

play12:51

and not the SSH the access key and the

play12:53

secret key

play12:54

okay experimental then again lot of

play12:58

things are over here lot of different

play13:00

features are available so it's something

play13:04

you have to go through it and based upon

play13:07

your requirement you can play around

play13:08

with Cloud9

play13:10

being a developer so you'll be able to

play13:13

understand it more and we have a good

play13:16

support as I said we have git support as

play13:18

well so again if we go to the preference

play13:20

there is something called get over here

play13:24

somewhere in the project setting or

play13:26

somewhere we have get yeah extension so

play13:28

git support is already enabled and you

play13:31

can clone your entire repo

play13:34

so let's go back to our presentation so

play13:37

I hope this clears a lot in terms of how

play13:41

you can create a Cloud9 environment how

play13:44

you can use ID what are options are

play13:46

there so it's better for you to play

play13:49

around with Cloud9 and if you if you

play13:51

don't want to use it just delete it

play13:53

right but if you want to use it just

play13:55

play around with certain uh T go with

play13:58

the micro instances don't go with the

play14:00

high-end instances in order to not pay

play14:02

money to AWS because you are doing a

play14:05

demo you are understanding from your end

play14:06

if you like it then go ahead and you

play14:09

know propose this to your management hey

play14:11

we can use Cloud9 it's better than other

play14:14

IDs uh when we are interacting with AWS

play14:17

I'm not I'm not 100 saying like uh it's

play14:21

better than other IDs but it is better

play14:23

when you interact with different AWS

play14:25

Services you'll overhead of working with

play14:28

an application development within the

play14:31

world of cloud within world of AWS it's

play14:33

very much easy as compared to other

play14:35

configuration

play14:37

place out a comment in comment section

play14:39

if you're facing any issue I'll be there

play14:41

to help you have a nice day bye

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
AWS Cloud9Cloud IDECode EditorDevelopment ToolsAWS ServicesDebuggingServerlessReal-time CodingBrowser-BasedIntegrated Development