DEV Community

luntan
luntan

Posted on

Cloud9 Challenge

So, I just completed a challenge I read in The Cloud Resume Challenge Book (by Forrest Brazeal) created by Jennine Townsend to create an automated, disposable AWS development environment. It was pretty cool, I thought the IDE was very sleek looking. It had more than enough features for the scripting that I do.

  1. Cloud9 Initial Exploration
    I just started up an instance and looked around at what it can do.

  2. Simple template
    I created a basic template using the Cloud9 ec2 resource, with only the instance being specified.

  3. Add a setup script
    I created a CodeCommit repository, and added a file that was using some of the scripting in step 1.

  4. Have Cloud9 Check out your script at startup
    I added the Repositories property and specified the path and repository URL.

  5. Now think about what you might use this for!
    An application that I thought was cool would be to apply this heavily to open source projects, since there are sometimes many contributors. Then there is also the fact that you can execute git commands from the given terminal.

  6. Consider security
    Everything is open given that I am using the default VPC that comes with an internet gateway(IGW), default network access control list(NACL), and default security group(SG). Since I am using the EC2 instance I am dependent on the server, and it is reachable from the internet due to the IGW. The only data that I have on the system is the data that Cloud9 loads, and that my repository loaded. Which is just a setup script. The setup script that I used only downloaded an update from a preapproved source that I trust. Since I was lazy, my account does have permissions that affect other systems, since I didn't bother to use roles to limit the scope of permissions or resources from the user that created it.

  7. Write a blog post!
    Done!

Extra credit:
One click launch
There’s a button on the bottom of the review that allows you to quick launch a template. The template is saved in an S3 bucket, and then is pulled and populates the file field for CloudFormation when someone decides to launch your template.

One thing that interested me was how similar this is to Eclipse Che, which was released a handful of months before Cloud9 was acquired by AWS. I think the largest difference between the two is that Eclipse Che is focusing on using containers via Podman, and Cloud9 is currently focusing on tighter integration with AWS. The Cloud9 integration can be seen in how you have direct terminal access to AWS and the features offered to build serverless applications.

Overall, I found the service to be fairly pleasant. I think it would excel, immensely, with new programmers. It could also be used as a way to introduce new programmers to the AWS environment as a whole with the tight integration that Cloud9 offers.

Top comments (0)