Peter Bourgon discusses his work at Weaveworks, discovering and imlemeting CRDTs for time-stamped events at Soundcloud, Microservices in Go with Go Kit and the state of package management in Go.

Key Takeaways We’ve hit the limits of Moore’s law so when we want to scale we have to think about how we do communication across unreliable links between unreliable machines.

In an AP algorithm like Gossip you still make forward progress in case of a failure. In Paxos you stop and return failures.

CRDTs give us a rigours set of rules to accommodate failures for maps, sets etc. in communication that result in am eventually consistent system.

Go is optimised to readers/maintainers vs. making the programmers’ life easier. Go is closer to C than Java in that it allows you to layout memory very precisely, allowing you to, for example, optimise cache lines in your CPU.

Bourgon started a project called Go Kit, which is designed for building microservices in Go. It takes inspiration from Tiwtter’s Scala-based Finagle which solved a lot of Micoservice concerns.

Go has a number of community-maintained package managers but no good solution; work in ongoing to try and resolve this.

Learn from technical practitioners like John Willis, Senior Director in Red Hatâs Global Transformative Office, Sarah Shewell Director of Engineering @GravityPymts, and Sarah Wells, Technical Director for Operations and Reliability @Financial Times. Learn more in less time, in short, focused sessions, and get answers to your questions in speaker Q&As and AMAs. Save your spot now!.

More about our podcasts

Previous podcasts

Rate this Article Adoption Style

Author Contacted

You can keep up-to-date with the podcasts via our RSS Feed , and they are available via SoundCloud Overcast and the Google Podcast . From this page you also have access to our recorded show notes. They all have clickable links that will take you directly to that part of the audio.