Over the past few weeks, we’ve rolled out a change to the virtual machines that host GitHub Codespaces to provide all of our users twice the RAM, and approximately 10-30% improved CPU performance after adopting Advanced Micro Devices (AMD)-based hosts. Now that this change has rolled out for all machine types, we wanted to share how this upgrade has improved our lives, to help you think about how it might improve yours.
We use our own software and services to build GitHub itself. GitHub uses Codespaces to build not only Codespaces, but the entire platform. Since we released GitHub Codespaces in 2021, we’ve made a number of updates aimed at improving usability, controlling cost, and more (for example, free usage for all, one click into templates, and concurrency policies). Now, GitHub has improved our developer experience and reduced costs at the same time by taking advantage of new virtual machines.
GitHub has a large Ruby monolith that requires significant CPU and RAM to test. GitHub’s internal developer experience (DX) team started by moving a few dev teams with RAM-hungry workflows to machines with half CPUs. With very little effort, and nearly zero developer impact, testing showed that developers were just as successful on the smaller machines, and GitHub incurred half the cost. As additional teams tried moving the fewer-core machines, there was one build process that turned out to be CPU architecture dependent. The fix was simple—to specify the CPU architecture so that QEMU could emulate appropriately. No other negative impacts were identified.
Due to the success of the initial trials, we quickly rolled out the changes to more teams. The result? Approximately 50% savings!
Since we’ve rolled out the AMD machines for GitHub, we’ve seen no problems and had only happy users.
Now that these changes are in your hands, we invite you to see how much more you can get out of GitHub Codespaces by taking advantage of the improved processing power and increased headroom the RAM provides. As ever, please reach out to your account team, or participate in the GitHub Codespaces Community Discussions to provide us your feedback.