GoSF - Go 1.10 Update, Building Microservices in Go, & BadgerDB (@Cloudflare)

Wednesday, February 21, 2018 - 18:00
San Francisco


6:00 Networking | Food | Drink

6:30 Speakers

• Talk 1: BadgerDB – A Go-native Key-Value Database – Manish Jain, Dgraph Labs
• Talk 2: Microservices in Go - Tools, Patterns & Abstractions, Ryan Djurovich, Cloudflare
• Talk 3: Go 1.10 Update – Deep Dive into Go 1.10, Francesc Campoy Flores

8:00 End


About the Host

Cloudflare, Inc. makes any Internet application lightning fast, protects them from attacks, ensures they are always online, and makes it simple to add web apps with a single click. Regardless of size or platform, Cloudflare supercharges Internet applications with no need to add hardware, install software, or change a line of code.

http://www.cloudflare.com | https://twitter.com/cloudflare


Talk 1: BadgerDB – A Go-native Key-Value Database

Badger is a fast key-value database, written to provide a Go native alternative to RocksDB. Typical LSM tree based KV DBs are fast in writes, but slower in reads. Badger provides better write throughput than RocksDB while maintaining at least the same level of read performance as B+-tree based stores like Bolt. Badger achieves this remarkable feat by utilizing a new design which stores values separately from keys, based on a paper called WiscKey. In this talk, Manish will talk about the motivation to build Badger and the unique design which makes this amazing read-write performance possible. He'll also talk about how Go made it possible to build this DB with a high level of concurrency built in, and with few engineering resources.


About the Speaker
Manish R Jain is the founder of Dgraph Labs and main author of Dgraph and Badger. He got thrust into web-scale distributed systems right out of college, working in Google Search for over 6 years. While at Google, he worked on real-time web indexing system; after which he lead various projects to consolidate and serve knowledge graph right behind web search.


Talk 2: Microservices in Go - Tools, Patterns & Abstractions

The ecosystem for implementing microservices Go is solidifying. RPC frameworks like gRPC, Go Micro, and Twitch have appealing IDL’s and code generation. Go kit provides a set of packages and best practices with pluggable serialization and transport; supporting both RPC and REST. These foundations are fantastic for getting your new service up-and-running, but where does it leave you after that? How do you build a service that can handle production-level calls and maintain high availability.

Ryan Djurovich from Cloudflare will talk about evolving Go microservices while supporting legacy APIs. He’ll cover common pitfalls, patterns that are working well, and friction seen when dealing with abstractions. Above all, he'll address how to scale microservices to carrier-grade levels.

About the Speaker
Ryan Djurovich is Engineering Manager of the Billing team at Cloudflare in San Francisco. Cloudflare improves the performance and security of over 7 million domains. Ryan enjoys using Go to solve distributed systems problems at scale. Prior to moving to SF, Ryan was co-organizer of the Go Melbourne meetup group.


Talk 3: State of Go – Deep Dive on Go 1.10
Francesc Campoy Flores will go into technical details on everything that is new for Go 1.10.

About the Speaker
Francesc Campoy Flores is the VP of Developer Relations at source{d} working to change the way developers write code around the world. Prior to source{d} he was a Senior Developer Advocate at Google where he helped developers understand and use Google technologies. His specialities has long-been been on the Go programming language, Kubernetes, and scalable archiectures.