GoSF Meetup - Building Web Services | Dependency Management | CoreOS (Jan 15th)
7:00 Networking | Food | Drink
7:30 Tools, Tips, and Best practices
• Talk 1: Building Web Services in Go (Richard Crowley)
• Talk 2: Dependency Management (Keith Rarick)
• Talk 3: etcd, a highly-available key/value store (Brandon Philips, CoreOS)
Talk 1: Building Web Services in Go (Richard Crowley)
Richard Crowley will discuss language features plus standard library and third-party packages that he uses at Betable (https://betable.com/) to build scalable web services in Go.
He'll talk about the strengths and weaknesses of the standard net/http package along with how they added third-party packages to shore up these weaknesses. He’ll discuss JSON and its relationship with Go data structures, Go’s excellent support for reflection, and how to use it to create safe APIs.
He'll finish up by talking about logging and metric collection. (Much of what he'll cover is recently open-source as part of Tiger Tonic (https://github.com/rcrowley/go-tigertonic).)
About the Speaker
Talk 2: Dependency Management (Keith Rarick)
Keith Rarick will give a brief overview of the state of dependency management tools for Go applications and then provide a detailed run-through of godep, including initial setup, collaboration, updating dependency packages, working with third party tools,and deploying to Heroku, as well as godep's general philosophy of operation – why it works the way it does.
About the Speaker
Keith Rarick works on systems, both distributed and non-.He was part of Heroku until very recently, and now enjoys a return to the crazy experimental life of an early-stage startup.
Talk 3: etcd, a highly-available key/value store (Brandon Philips, CoreOS)
Brandon Philips will talk about etcd, a highly-available key/value store, and how it was built with and can be used from Go. He'll cover the basics of running an etcd cluster and the underlying consensus algorithm called raft.
He'll also get into a practical use case for service discovery and shared configuration and wrap with how you can use etcd from your Go programs using go-etcd.
About the Speaker
Brandon Philips is helping to build modern Linux server infrastructure at CoreOS. Because of this, he was recently disowned by one of his Linux kernel friends for being "one of those weirdos on the other side of the sys calls".
About the Host/Sponsor
Pivotal Labs applies collaborative, disciplined development techniques to accelerate time to market, reduce execution risk, and increase quality for all types of businesses, from start-ups to global enterprise organizations. Pivotal’s proven practices, combined with deep technical expertise in web, mobile and Big Data application development, enable customers to achieve rapid, reliable business results. (@pivotallabs (https://twitter.com/pivotallabs))
Iron.io is the maker of IronMQ, a scalable cloud-based message queue, and IronWorker, an elastic task queue/worker service and one of the first companies to use Go in production. Iron.io's services are designed for doing things asynchronously and operating at scale. (@getiron (https://twitter.com/getiron))
High Scalability is the best source for information on building bigger, faster, and more reliable websites. (@highscal (https://twitter.com/highscal))
Digital video of the event will be provided by Hakka Labs. (Links to the videos will be posted to the event page a few days after the event.)