I’m a professor that has used Cloud9 to provide class materials to students.
Previously, it was very easy for students to be able to signup for an account and get access to a free container with their class materials.

Now, I’m assuming that every student will have to be an IAM user in an AWS accout in order to clone a container. Is this correct? Also, I’m assuming this does away with the free access for students, in which case, I’ll probably need to find a different solution.

I’ve been waiting a long time for this, and really believe that AWS Cloud9 will simplify the transition from development to production with services like Lambda. I was also happy to help with the testing, and I think I can answer some questions:

@bigfatpanda Yes, every student will have to have an IAM user. The process should be much simpler and more streamlined with AWS, and should allow opportunities like providing specific permissions to students when they want to use a particular part of AWS. Students added using IAM will not need credit cards, unlike root accounts. As for the pricing, yes, you do have to pay per-container, but I would suggest looking into AWS Educate, which may be what you’re looking for and could simplify having a class that has access to the entirety of AWS, potentially for free.

@justincy You can continue to use c9.io over AWS Cloud9, and you can keep your current premium plan. I’m not sure how long c9.io will stick around, but I imagine that long-time users will still be able to use it for a while. I personally much preferred AWS Cloud9, since I had the AWS Free Tier. The free tier has 720 hours of t2.micro time per month, which allowed me to use a t2.micro workspace whenever I needed one, since you can configure workspaces to shut down after a certain amount of time (or never, if you prefer). In this way, you may actually save money, since you’re likely not using workspaces 24/7, they can shut down when you’re not using them, and the lower end instances are very cheap to run. The other reason I preferred it was the ability to use tools like Docker. Having a full Linux environment with configurable specifications rather than a Docker container was very useful, since it behaves almost exactly like a production environment.

This solution definitely isn’t the best for everyone, but I’m excited about Cloud9 being part of AWS since it means they can concentrate on the IDE itself rather than an account system, complicated billing, and trying to keep Docker containers running properly.

EDIT: It looks like with AWS Educate, students 14 and up can receive a personal account without needing a credit card, and receive AWS credits as well.

@dannytech Thanks for the info about AWS Educate. I’ve submitted my application there. How would students who also sign up via the educate program gain access to my AWS account where the class content will be stored?

No problem if you don’t know the answer to that, but perhaps you might know who would?

Your best bet is probably to apply for Educate as an Educator or Institution, and use IAM to provide accounts to your class. That way, you have all the benefits of Educate, and can distribute them among your class without them needing to sign up for their own accounts. The comment I made in the edit was simply in case they wanted personal accounts that they could use outside of class, sorry for the confusion.

Wow – AWS made it so freaking complicated. The c9 system before AWS was so dang simple – they’ve integrated their rediculous jargon and UI/UX made for engineers into their system - and made it beyond complicated.

AWS is such a serious endeavor to take on every time i login I feel like a i need a manual for the manual.

I hope when people start leaving in droves they take note of what they bought and why their users liked it.

If you’re using Git/other version control, you should be able to clone your repo. Otherwise, you can use File > Download Code in your legacy IDE and reupload in AWS Cloud9 with File > Upload Local Files....

If you require files outside the workspace’s root, you can either cp them to your workspace root for download, or you can reach out to support@c9.io and we can look into providing a full workspace dump.

Not sure whether to be hopeful or worried about this. I knew it was coming, but so far here’s some issues I have with the AWS C9 launch:

Workspace cloning seems to be missing. That’s a pretty big deal, assuming it will come back, but when?

The workspace templates also seem to be missing. It’s on the marketing material but I couldn’t find it on the actual dashboard anywhere.

Making your workspace publicly available is no longer a single click. Instead it sends me to an AWS manual page (which we all know are super easy to read and understand) and that just completely sucks compared to how easy it was before. The manual lists it as a 4 step process with a bunch of command line and environment configuring, which hey we can do that, but it’s a huge pain and several steps backwards.

Not sure, but having SSL out of the box seems like maybe it won’t be an option, since all we get is an IP? Again, I know we can set this up ourselves, but damn is that brutal compared to just having it from the start.

I get that AWS runs the show now, and that they use IAMS, and that those are pretty powerful - but they also suck a lot to setup and config. For an AWS newbie, they are incredibly frustrating and hard to decipher. Seems like you’ve got some auto IAMS stuff going on which helps a lot, but still, I expect education users will be pretty unhappy.

Things I DO like though:

SSH access into the workspace - great!

Creating a new (blank, no templates!) workspace was still pretty easy - a lot easier than setting up most AWS stuff.

I like that I can control “hot” workspaces by just setting the time limits on the ec2 instance.

Price wise, seems like it’ll be similar or maybe a little cheaper for my uses

I anticipate a lot of really powerful AWS integrations coming up, though I still wish configuring AWS wasn’t such a massive time sink.

I guess If I could request anything right now, it would be to take a look at companies like Digital Ocean and Stripe when you design your configuration, docs, and features over the next while. Please don’t give in to the configuration hell design style of AWS. Hopefully they give you the power to do that. I love C9 and it’s potential, so keep what made you great to begin with as you grow into AWS.

Second @cpath’s analysis on all points! I’d be concerned about pricing though, especially the inconvenience of intentionally/more agressively shutting down workspaces to prevent overpay for idle time. The whole ability to instantly get back into the env was worth it in the old version (barring very occasional cold starts)!

EDIT: I’d also add that the AWS-hosted environment should provide the choice of base image (AMI). Frankly, Amazon Linux is not as friendly as the Debian env we’re used to on c9.io (but please do make it 16.04+!).

EDIT2: Do any other ports except 8080 work for preview? Having at least 8080-8082 is essential for us (we have multiple “servers” running at the same time during development, one used for the app, another for coverage reports, yet another for Swagger Editor, etc.)

EDIT3: Also to the point above on SSL, having our application preview authenticated and protected over SSL is critical for piece of mind in private workspaces. c9.io was the only IDE that I found this feature in, and it was a big factor in the decision to go with c9.io

EDIT4: What happens if we forget to close the tab with the IDE? Will it still “time out” and hibernate, or how does it detect lack of use (obviously, I didn’t have sufficient time to test yet)? I assume it would not be any different from such detection on c9.io?

EDIT5: Can we use Spot instances? I won’t care if it occasionally shuts down (and the new Spot price tracking scheme does seem like it could lead to fewer/no overbids). Otherwise it is just too expensive for anything but the trivial use (my c4.2xlarge would come to > $100/mo; Spot - only $20…)

EDIT6: Looks like the choice of instance types (at least through the AWS Console UI) is rather limited: there are no r4 types, for example, and in practice those are very cost-effective for projects that are not heavy on compilation but do consume tons of RAM (e.g. Docker development or live testing in some frameworks).

I was hopeful to use c9 for teaching. But AWS is (or can be) complex. It’s hard enough to get students to check emails. I’ve used AWS on and off for a few years. What always gets me is everything is (or again can be) chargeable. Simple DNS, tiniest of storage (that was allocated automatically for you for some other service), etc. You have to be very mindful of your account. c9.io was so much better.

I prefer heroku over using AWS even though it uses AWS. It’s just so much easier to follow. Hopefully Amazon either buys them or utilizes their interface.

Lastly let me go back to the teaching stuff. There’s always https://repl.it/ . I like it and the new unit testing features are awesome.

I suggested using AWS Educate as an educator above, and though it isn’t a perfect solution, it can at least alleviate the stress of worrying about being charged. As for the rest of the points, I completely agree that c9.io was simpler. I would recommend the Cloud9 team find some solution to setting up classes like releasing a script that can use the AWS API to create IAM accounts for students (this might already exist, you could try googling it), but I am hopeful that with future deeper integrations with AWS, the ease of use for Cloud9 can be improved.

AWS Cloud9 uses EC2 as the workspace host, rather than Docker containers, so all the features from EC2 are usable. As such, you can modify security groups at will to open and close ports. As for SSL, right now the only solution is probably to use a self-signed cert (you could use your own domain and letsencrypt, but Certificate Transparency would reveal that a certificate had been issued for that domain, thus revealing your workspace to the entire world). In order to prevent unauthenticated access, you could use a number of solutions (though this should definitely be something that works right out of the box). You could set up nginx with authentication on your workspace, or you could set up a VPN network and require access to the network to access the workspace (probably too expensive). As for the AMI problem, I much preferred the Ubuntu env over Amazon Linux. I understand why they used that as their AMI, but it’s a huge shift, and I experienced several compatibility issues with programs I was trying to install. Your best bet is probably to create an EC2 instance with whatever AMI you want, and then create an SSH workspace to connect to it (not ideal, but it should work OK, minus features like workspace timeouts). As for how Cloud9 detects activity, I imagine the detection is similar, hopefully slightly smarter, but I definitely do prefer that in this case you can set the timeout, or disable it completely. Unfortunately, you were spot on in that you won’t be able to get right back into it since you have to wait for the instance to boot up, but as far as I can tell, workspaces that are left on 24/7 should still be very cheap to run, possibly even cheaper than the Cloud9 Premium plan.

I 100% agree that setting up a workspace to exactly replicate the c9.io environment will take a while, and won’t be anywhere near perfect, or even necessarily worth it. I definitely plan to use it, but I will miss a lot of features, and I hope they add them back later.

self-signed cert
…
You could set up nginx with authentication on your workspace, or you could set up a VPN network and require access to the network to access the workspace (probably too expensive).

Yes, but that is a lot of extra work for something that was available out of the box on c9! I (and many devs here) know how to set these things up (and even deal with domain names etc. through AWS; I played around with SSH workspaces and proxies before with the old c9 and that was a major pain not worth the extra CPU/Mem vs hosted workspaces). But that misses the point entirely… We would much rather prefer ease of use over anything else.

EDIT: Price-wise, t2.medium is the smallest instance we could reasonably use (<4GB RAM just don’t cut it anymore), and that comes to ~$10/mo for our use, which is reasonable enough (on par with what we had with c9, but for a single workspace now!). Still, c4.2xlarge or greater for utmost comfort is pretty steep unless it’s Spot. Multiply that by the number of active workspaces and it gets really pricey.

EDIT2: Given all of the above I’d probably stick with existing workspaces on c9.io until AWS addresses the current issues. No need to rush into the new service until it’s smooth sailing. Don’t get me wrong, I like the new integration a lot and it is definitely useable (or even superior in terms of performance and integration with AWS), but still feels off the mark compared to what we had before.