Hacker News new | past | comments | ask | show | jobs | submit login
Using AWS Cloud9 for browser-based development (davidnoelromas.com)
32 points by napoleond 5 days ago | hide | past | favorite | 20 comments

I use Cloud9 for many of my Lambdas. Works pretty well but yeah, Cloud9 as an IDE it's very meh.

Also it has broken workflows. They push functions back to Lambda unzipped, so if you're working there and you hit the unzipped limit, there's nothing you can do to push. It will just fail to push back. It's so stupid. You can actually download the inflated function projects but you can't push back after a change. It annoys me so much.

GitLab recently integrated Gitpod natively and that looks pretty solid! It's based on Visual Studio Code + K8s: https://www.gitpod.io/

I had been running the self-hosted version of Cloud9 back before Amazon acquired it. Once they did, development for that version was dropped and you can no longer use the current version outside of AWS. No bueno.

Eventually I found code-server and now I run that in disposable containers on my home server. It's based on vscode and has been working pretty well for me.


I helped out one of my friends that ran a spring break coding camp for middle school girls where we used Cloud9 back when it was free (pre-aquisition at least). We had easy access to chromebooks, so it made sense, especially since you could have a teacher account where you could set up accounts for students. They have a similar teacher mode today, but getting it set up looks more involved, and I'm not sure what the features and pricing are.

I wonder who the main users are. Schools certainly make sense with the notoriously locked down computers.

There appears to be more free competitors now, so I'm curious what we'd use today. Eclipse Theia looks like VSCode, so that'd probably the most appealing to a lot of teams like mine. Eclipse Che/Codeenvy looks like the most popular. There's a lot more low-key options for sure. Has anyone tried Github Codespaces?

I just simply cannot think of a world where cloud based development takes off. I want control of my system, I want my code to run on my hardware, I want to be able to get into the nitty gritty and see what's going on.

Does anyone use these in a running production system? What was your experience like? My only previous experiences were being forced to use Salesforce's god awful tools

We're already running our production code on other people's hardware, it's not like running development code is more important than that.

Oh for sure; I've just always felt like I've needed to have my code "nearby" to REPL it, or debug it. Maybe I've just not caught up with the times. We all know development sans internet is more or less impossible nowadays anyway.

Something about giving someone else control of my development environment just feels... wrong.

I only briefly tried out Cloud9, but I was impressed enough that I am probably going to make a bigger push to use it once I get back to doing some programming based side projects, which I slowed down on during the pandemic to focus on non-programming projects. Here are some of the positives that I saw.

I have an older Chromebook with a really nice screen that weighs about half as much as my other laptops. I spent quite a bit of time trying to get a local development environment setup, but there was always some issue that made it awkward. The local storage was too small, using an SD card was too slow, etc... I also tried using it as a dumb terminal by SSH'ing into a box, but I like having and IDE, and managing a box is fine but more work. Cloud9 provides an okay-ish IDE, but it also manages the EC2 instance, which is really nice.

Another benefit, is that I generally try to avoid working on side projects from my work computer. But I spend the vast majority of time on my work laptop, including casual web browsing. So if I am on my work laptop, and I come up with an idea, or want to test something out, I can just pop open a browser. I don't have to worry that I will accidentally leave files related to the side project on my work laptop, etc..

But just to be clear, I have no interest in using Cloud9 as a replacement for my day to day work. I agree with you, there are too many tools, environments, libraries, etc... that I use day to day that would be nearly impossible to replicate in a cloud environment.

I've been sorta keeping an eye on the space for a long time, because the dream for me would be to get the biggest iPad and have that be my full-time machine. Currently (well, pre-pandemic), my work laptop just moved from being docked on my desk at home to being docked on my desk at work. Sometimes I take it off the desk at home to watch Netflix or sit on the couch, but if you're doing anything memory-intensive, the battery dies pretty quickly. I'd much rather have the battery life and weight of an iPad, if I'm not losing too much functionality (obviously a huge caveat, and the reason why I haven't gone all-in on any of the cloud-based IDE options yet), and I'd also rather have most of my stuff in a cloud somewhere, so if I lose or break a computer, I don't lose all my stuff.

I hear you on the gut reaction! It just seems like if your application relies on a bunch of cloud services (S3, SQS, 3rd party APIs, etc) and will eventually be deployed to the cloud, is there any great value in saying that one little part is running on your laptop?

The only difference is whether it's run native UI or in a browser UI.

You'll have full REPLs, full filesystems, full plugin capability, etc. etc.

I can't imagine there will be much difference other than needing an internet connection.

Don't underestimate the insanity that is 'corporate network policy' in huge orgs. Giving a developer https access via chrome (already installed and allowed) to a system might take a few days/weeks. Getting 'vscode' plus libraries, tools, etc. installed on the local domain workstation might be literally impossible or take months. It's not optimal, sure, but it 'works'.

Check out VS Code remote support. Where the code is running doesn’t really matter and there are a lot of good reasons to be executing on a remote machine that’s more powerful, closer to build cache, etc.

These experiences just remote access to it. You still get a command prompt, you can still apt install, and it means the dev env can match prod (eg Debian) vs mismatches if you’re on OSX for example. Also allows the base machine config (tools, scripts, etc) to be curated and centralized.

Gitpod and GitHub Codespaces are great.

I actually think on machine development for non-mobile experiences will be uncommon in a couple years.

I SSH into a VPS and use Vim as my development environment for most of my work.

It's good because that way I can work on web stuff on a similar environment than prod, I get all the linux goodies that come handy when developing backend programs, and I can work anywhere from a cheap netbook by tethering my phone data in the bus, with only a terminal console.

So far it work really well.

> Your Cloud9 instance can act as a bastion host to the rest of your infrastructure, and it’s as secure as your AWS console.

This in my mind is the biggest reason to go this way over alternatives.

I do this with VSCode Remote (SSH). It “feels” like a local binary but since you’re actually connected to in my case an EC2 VM (which transparently picks up IAM credentials in the instance metadata), when you run the terminal you can connect to all the resources in the VPC. It’s really convenient.

I am interested to know how people feel about whether working inside of Cloud9 on dedicated AWS development is a plus when it comes to pen-testing/security auditing. A colleague of mine on a public sector contract was keen for us to move away from local IDE's. Personally I felt it isn't perfect but as a Linux user was happier to do work in this environment over others.

I use Cloud9 all the time for AWS based dev work.

The whole AWS integration is prett awesome, but compared to VSCode it feels a bit old school.

I tried running code-server on it and it gave me the best of both worlds, but the integration feld a bit clunky. But on the other hand I didn't put much work into refining it.

Is there something like this for pair programming?

I am not too familiar with this space.

How does Cloud9 compare to CodeAnywhere these days?

Thanks for the mention here (im the cofounder of Codeanywhere). Would love the feedback. Thanks!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact