4 ms·
For a long time at Etsy, every developer had their own remotely-running VM in the datacenter, with its own FQDN. All of the dev services and so forth ran on tha
by notpachet 3y ago
For a long time at Etsy, every developer had their own remotely-running VM in the datacenter, with its own FQDN. All of the dev services and so forth ran on that. You'd either edit files in a local repo and then SCP them up, or you'd just SSH in and work in Vim or whatever in a screen session.
It was actually glorious. It was very easy for devops to roll out upgrades and fixes to the VM fleet, and anyone could SSH into your VM to help diagnose weirdness. Not to mention you could just give people a link to your VM hostname in order for them to test out your development branch in their browser.
I left some years ago, so I'm not sure if that's how it still works there.
- CalRobert 3y agoIf memory serves, they had a push to maximize developer happiness, and then changed tack and decided that doing this was too expensive.
- LeafItAlone 3y agoI have worked at places that have dev environments like this and it is my preference. You could run the stack on your local machine but in practice few did, except for small parts of it.
- nunez 3y agoI worked at two other places that did this. It was expensive as all get out but provided a great dev experience. One place adopted Kubernetes super duper early (2016) to containerize these environments and save money. I wish I got on that train; my colleague who did made out much better than me! Not sure about the other one.
- filoleg 3y agoThis makes sense and isn’t like the shitshow OP is talking about though. I initially assumed the same thing as you, but after reading the OP, the title is the least scary part of their situation by far. At google it has been kinda similar to what you describe for the most part. You got a beefy (depending on your situation, you could end up lucky and snag a powerful 256GB RAM one with bajillion cores) cloud machine into which you SSH or use VSCode Remote with (or the google in-browser code editor running Monaco aka same engine as VSCode that is compatible with most usual VSCode extensions). I was apprehensive at first, but the convenience of “it just werks” is difficult to beat, especially when all of it is integrated well and is the default way of doing things. With that, it takes me less than an hour to go from a brand new machine to building my code and running it like usual (just gotta set the dotfiles for the terminal emulator and the shell + some .zshrc tweaks). No code ever lives locally, so it takes a lot of pressure off. The only downside is being screwed with no internet access, but it has not been an issue so far in my years working there. If i left my laptop at home or something happened to it? No problem, grabbed a loaner laptop, logged in, set it up in under an hour, and it works just as good for the basic work tasks regardless of whether it is macOS or chromeOS or Linux. The whole pain of setting up the environment is straight up gone, and it lets the devs use whichever desktop environment they prefer (as the cloud machines run a flavor of linux anyway, and your laptop OS becomes entirely a personal preference).
- notpachet 3y agoYeah Etsy also had different tiers. The top tier machines were the ones earmarked for the Search devs, because they had to run an Elasticsearch cluster or something. So the trick was to make a couple contributions to Search to justify getting upgraded to a Search VM : ]
- filoleg 3y agoTo be fair though, even the most baseline tier of a cloud machine at GOOG is pretty nice. 64GB RAM + 32 cores (i think it might be more cores now, but not certain) is good enough for pretty much anything, aside from niche specialist tasks (for which you will get a more than beefy enough machine anyway).