GoLab 2019 - Aaron Schlesinger - The Athens Project: A Proxy Server for Go Modules

Published: 08 November 2019
on channel: GoLab conference
413
9

🔔 FOLLOW GOLAB CHANNEL 🔔

Go 1.11 introduced modules, the new standard package management system for Go. It’s a massive step forward for the community, especially because we can build proxy servers instead of just using Github to fetch code. Athens is leading the way to solve some painful problems we’ve had for years.



Go 1.11 was a big release for all of us because we got a new package management system called modules built right into the go CLI. If you tried out vgo before 1.11, you’ll be familiar with modules. There’s some really cool stuff in there, but there’s one piece that a lot of us missed that we need to pay special attention to: the download API.

We used to download dependency code directly from GitHub, and that led to major problems for the community. Over time, heavily used packages would change owners or disappear completely, leaving everyone who used it out in the cold. But now we can build federated module proxies. These are servers that download code from GitHub / GitLab / etc…, save code in their own storage, and Gophers fetch their dependencies from them. This new development lets us, as a community, treat our dependencies as immutable artifacts, free up the package owner to focus on development, and separate the code from the released module artifact.

Even better, our proxies can serve these module artifacts to Gophers from CDNs to speed up their builds everywhere. The Athens project is leading the way toward this new world, and it’s a huge step forward for our community!

In this talk, I’ll start with a brief history of broken dependencies both inside and outside our community. Then, I’ll summarize why proxies matter, how they help solve broken dependencies today, and where they’re still lacking. Finally, I’ll focus specifically on how Athens solves many of those problems, and I’ll show a live demo of Athens in action!

You’ll walk away understanding why module proxies and Athens matter, where they’re already being used, what this new technology actually fixes, how it makes your life easier (without changing your current workflow much!), and how you can start using Athens right away with very little work.

You’ll also learn why you might want to set up your own Athens server (hint: the Go team uses Athens to build Go itself!) and how to do it. And as an added bonus, you’ll be able to delete your vendor directories and break out of the GOPATH if you want!

This channel is dedicated to the videos of the GoLab conference.
💛 Follow us on TWITTER:   / golab_conf  
💜 Follow us on FACEBOOK:   / golabconf  

GoLab is the first Italian international conference on the Go programming language, organized by Develer.
Develer is not just an Italian company projecting and releasing hardware and software solutions for the industrial environment, but is also an ensemble of people sharing their great passion for new technologies and how they can be applied to your everyday life.

🔸 Follow DEVELER on INSTAGRAM:   / wearedeveler  
🔹 Follow DEVELER on FACEBOOK:   / we.are.develer  
🔸 Follow DEVELER on TWITTER:   / develer  
🔹 Follow DEVELER on LINKEDIN:   / 114426  
🔸 Follow DEVELER on TELEGRAM: https://t.me/wearedeveler
🔹 Follow DEVELER on TIK TOK:   / wearedeveler  


Watch video GoLab 2019 - Aaron Schlesinger - The Athens Project: A Proxy Server for Go Modules online without registration, duration hours minute second in high quality. This video was added by user GoLab conference 08 November 2019, don't forget to share it with your friends and acquaintances, it has been viewed on our site 41 once and liked it people.