Loading…
gRPC Conf 2019 has ended

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Thursday, March 21
 

8:45am

Welcome Breakfast
Thursday March 21, 2019 8:45am - 9:30am
Lobby area next to Raster

9:30am

Opening Remarks - April Nassi & Kailash Sethuraman, Google
Speakers
avatar for April Nassi

April Nassi

Community Manager, Google
April Kyle Nassi is an Istio and gRPC community manager at Google focused on open source strategy. Previously, she created the Salesforce Developer community program and put on many a Dreamforce DevZone. She’s a CNCF Ambassador, crazy dog lady, and native Texan. You can find her... Read More →
KS

Kailash Sethuraman

Staff Technical Program Manager, Google


Thursday March 21, 2019 9:30am - 9:35am
Raster
  • Skill Level Any

9:35am

Keynote: Anna Berenberg, Distinguished Engineer, Google
Speakers
avatar for Anna Berenberg

Anna Berenberg

Distinguished Engineer, Google
Anna is Technical Lead at Google focused on Open Cloud and next generation networking for Google Cloud Platform. She leads teams which build foundational infrastructure for powering hybrid/multi-cloud applications. Anna joined Google in 2006 and spent the next 9 years leading the... Read More →



Thursday March 21, 2019 9:35am - 10:15am
Raster
  • Skill Level Any

10:20am

Setting Yourself Up for gRPC Success - Joe Blubaugh, LightStep
gRPC provides powerful capabilities for teams building distributed computing systems. This power comes with a wide variety of footguns, and your team only has so many feet! In this session we'll discuss several pitfalls we've encountered using gRPC at LightStep and the practices we've implemented to help all of our engineers use gRPC effectively.

We'll talk about client load balancing strategies (and when to avoid using client-side load balancing!), service discovery setups that work at small and medium scales, and observability configurations that help you build understandable systems. We'll talk about a few mistakes LightStep's made so you can avoid some of the holes we stepped in.

Speakers
avatar for Joe Blubaugh

Joe Blubaugh

Software Engineer, LightStep
Joe's an engineering manager at LightStep, where his team uses gRPC every day to build LightStep's backends. In past jobs he's worked with gRPC's cousin Stubby, Apache Thrift & Finagle, and CORBA for inter-service communication.



Thursday March 21, 2019 10:20am - 10:50am
Raster

11:00am

Coffee Break
Thursday March 21, 2019 11:00am - 11:30am
Lobby area next to Raster

11:30am

Courier: Dropbox's gRPC-Based Framework for Microservices - Mehrdad Afshari, Dropbox
Dropbox's new service oriented architecture relies on Courier, a gRPC-based stack, to connect and manage microservices. Today Courier securely and seamlessly connects thousands of mission-critical production services written in Go, Java, Python, and Rust. In this session, you learn about the experience of one of the largest and complex gRPC deployments, migrating to gRPC, what has worked and what hasn't, and our future plans.

Speakers
MA

Mehrdad Afshari

Dropbox
Dr. Mehrdad Afshari works on Production Infrastructure at Dropbox and is responsible to the gRPC-based runtime and RPC stack called Courier. Prior to Dropbox, Mehrdad was a Technical Lead on the gRPC team at Google. Before that, he had founded and served as the CEO of a developer... Read More →



Thursday March 21, 2019 11:30am - 11:50am
Raster

11:50am

gRPC for the Thrifty: gRPC at Slack - Josh Wills, Slack
When Slack first started breaking up our various monoliths into services in 2016, we used Apache Thrift over HTTP as our primary RPC mechanism due to its simplicity and compatibility with services written in Go, Java, and PHP/Hack. As our scale has grown and we began to encounter a number of the performance limitations that other large-scale Thrift users have come across, we decided to migrate to gRPC as our preferred RPC framework. In this talk, we will walk through our overall approach to the migration and discuss how tools like Armeria and our home-grown proto-hack library have been essential in keeping the bits flowing quickly and smoothly.

Speakers
avatar for Josh Wills

Josh Wills

Software Engineer, Slack
Josh Wills is a software engineer at who has worked on Slack's configuration and experimentation system, search infrastructure, and data infrastructure. He is a recovering manager, having formerly led the data engineering team at Slack and the data science team at Cloudera, a member... Read More →



Thursday March 21, 2019 11:50am - 12:20pm
Raster
  • Skill Level Any

12:20pm

Lunch
Thursday March 21, 2019 12:20pm - 2:00pm
Lobby area next to Raster

2:05pm

Moving to gRPC Java - Mya Pitzeruse, Indeed.com
Historically, Indeed has used Boxcar (Indeed’s proprietary framework) to build distributed systems. Over the last year, we have been shifting several of our systems to use gRPC. The first question product teams often ask is “How does gRPC compare to Boxcar?” In this presentation, I put the two frameworks head to head and present the results. I show how my team established some common workloads and gathered metrics to better inform other engineers. We learned a lot about how to optimize the gRPC Java library when performing this analysis. In closing, I present the lessons that we learned performance tuning gRPC services and how you can leverage this information for your own services.

Speakers
avatar for Mya Pitzeruse

Mya Pitzeruse

Senior Software Engineer, Indeed.com
Mya is a Senior Software Engineer working on service infrastructure at Indeed.com. She is involved in several ongoing initiatives to improve Indeed’s infrastructure and capabilities. One such effort is the migration from Indeed’s proprietary services framework to gRPC.Mya first... Read More →



Thursday March 21, 2019 2:05pm - 2:35pm
Bioscope

2:05pm

gRPC in Rust - Liu Tang & DongXu Huang, PingCAP
Two years before, we decided to introduce gRPC to TiKV. However, at that time, there was no implementation which could be used in production in Rust, so we decided to build it by ourselves. In this talk, we will show how we wrap C gRPC library in Rust, and how we use Rust futures-rs library to provide an ergonomic and elegant API for users. Meanwhile, we will also introduce how to optimize gRPC in TiKV. In the end, we will share something about another pure Rust implementation - tower-grpc and how to use it in TiKV.

Speakers
DH

DongXu Huang

CTO, PingCAP
CTO of PingCAP, distributed database expert, author of well-known open source software TiDB, TiKV, codis.
avatar for Liu Tang

Liu Tang

Chief Engineer, PingCAP
Chief Engineer of PingCAP, distributed database expert, author of well-known open source software TiKV, go-mysql, raft-rs, grpc-rs, rust-prometheus, etc.



Thursday March 21, 2019 2:05pm - 2:35pm
Shadow Mask

2:05pm

Making Great Remote Procedure Calls with gRPC and Node.js - Colin Ihrig, Joyent
gRPC is a language independent framework for making remote procedure calls. gRPC's incorporation of technologies such as HTTP2 and protocol buffers makes it an efficient solution for building distributed systems, and has lead to adoption by large companies such as Netflix, Docker, and more. This talk will introduce the background and basics of gRPC, as well as demonstrating how it can be utilized in JavaScript applications. This talk will also introduce grpc-server-js, a pure JavaScript gRPC server that leverages the Node.js http2 module. From there, the talk will explore how gRPC can be integrated into modern application architectures.

Speakers
avatar for Colin Ihrig

Colin Ihrig

Software Engineer, Joyent
Colin Ihrig is a member of the Node.js Technical Steering Committee, a libuv collaborator, and a hapi.js core team member. Colin is the author of Pro Node.js for Developers, and co-author of Full Stack JavaScript Development with MEAN. Colin is currently an engineer at Joyent, focusing... Read More →



Thursday March 21, 2019 2:05pm - 2:35pm
Atomic Clock

2:40pm

gRPC is Dead; Long Live gRPC - Isobel Redelmeier, LightStep
"gRPC is the worst form of APIs, except for all the others."

Those may not have been Churchill's *exact* words, but the point stands. gRPC has warts, yet I miss it when it's gone.

I'll delve into some war stories experienced as an end user of both gRPC and various alternatives, as well as some nontraditional practices (whether "best" or not is left as an exercise to the reader) I've developed as workarounds for various problems. Ultimately, I'll posit some dreams for the next big version of gRPC.

Expect to walk away thinking about what gRPC's future could hold - and what to do in the mean time!

Speakers
avatar for Isobel Redelmeier

Isobel Redelmeier

OSS Engineer, LightStep
Isobel Redelmeier is an Open Source Engineer at LightStep, where she focuses on OpenTracing and the overall goal of making the software world more observable. She's worked deep in the bowels of Cloud Foundry at Pivotal, had a brief front-end spell at Flux.io, and pushed production... Read More →



Thursday March 21, 2019 2:40pm - 3:10pm
Atomic Clock

2:40pm

Exploring gRPC Extensibility - Ryan Michela, Salesforce
gRPC is a powerful framework for building scalable, performant microservices. As the framework matured, extension points were added to allow users to customize gRPC's behavior to fit their needs. This session explores gRPC's extensibility, giving you the knowledge you need to adapt gRPC for your requirements.

This survey of gRPC's extensibility will shine a light onto some of the less well known features of gRPC, and will compare their availability across gRPC's supported platforms. Extension points we will discuss include:

* Request and response interceptors,
* Name resolution,
* Client-side load balancing,
* Serialization,
* Tracing and metrics, and
* The gRPC request context

By the end of this session, you will have a detailed understanding of gRPC's extension points, their usage, and their maturity across platforms.

Speakers
avatar for Ryan Michela

Ryan Michela

Principal Member of Technical Staff, Salesforce
Ryan Michela is Principal Engineer at Salesforce, where he’s working to integrate the Salesforce ecosystem with microservices. His passions are distributed systems and helping other developers grow. When he’s not digging into the heart of software, Ryan enjoys hiking and exploring... Read More →



Thursday March 21, 2019 2:40pm - 3:10pm
Shadow Mask

2:40pm

Seamless Cloud-Native Apps with gRPC-Web and Istio - Venil Noronha, VMware
Web applications have evolved from monoliths to microservices leveraging architectural styles like REST APIs, WebSockets, etc. for communication. gRPC provides benefits like optimization, type safety, etc. over traditional JSON-based protocols. Given gRPC's support for a vast number of languages, backend services can easily reap these benefits by leveraging gRPC. Browsers, however, don't yet support the gRPC, making it difficult for Web UIs from taking advantage of this protocol.

By introducing a Service Mesh into the mix, a lot can be changed. Web UIs can now talk to a Service Mesh like Istio via gRPC-Web, while the Istio proxy (Envoy) does the transcoding into gRPC. You also gain a whole lot of features like Observability, Service Discovery, etc. by using a Service Mesh. By switching over to this new gRPC-Web and Istio paradigm, developing a Cloud-Native application becomes a seamless experience. Join Venil Noronha in this presentation to learn to do this yourself!

Speakers
avatar for Venil Noronha

Venil Noronha

Open Source Engineer, VMware
Venil Noronha is an engineer with the Open Source Technology Center at VMware. He primarily contributes upstream to open source projects in the service mesh domain, like Istio and Envoy proxy. In the past, he has contributed to several open source projects including Kubernetes, Spring... Read More →



Thursday March 21, 2019 2:40pm - 3:10pm
Bioscope
  • Skill Level Any

3:10pm

Coffee Break
Thursday March 21, 2019 3:10pm - 3:40pm
Lobby area next to Raster

3:40pm

gRPC Forensics: Investigating Problems in Production - Thomas Rampelberg, Buoyant
When you’re operating multiple services in production, building out forensics tools such as monitoring and observability becomes essential. Unfortunately, it is a real challenge balancing priorities between building new features and tools to help pinpoint root causes. Linkerd provides many of the tools you need to tame the chaos of operating gRPC based microservices in a cloud native world.

Because Linkerd is a transparent proxy that runs alongside your application, there are no code changes required. It even comes with Prometheus to store the metrics for you and pre-built Grafana dashboards to show exactly what is important for your services - success rate, latency, and throughput.

In this session, we’ll explain what Linkerd provides for you, demo the installation of Linkerd on Kubernetes and debug a real world problem. We will also dig into what functionality you can build on top of the tools provided by Linkerd such as alerting and autoscaling.

Speakers
avatar for Thomas Rampelberg

Thomas Rampelberg

Software Engineer, Buoyant
Thomas Rampelberg is a Software Engineer at Buoyant Inc. He has made a career of building infrastructure software that allows developers and operators to focus on what is important to them. He is focused on one of the big problems in this space: providing insight into what is happening... Read More →


slides pdf

Thursday March 21, 2019 3:40pm - 4:10pm
Shadow Mask
  • Skill Level Any

3:40pm

Network Management at Scale with gRPC - Anees Shaikh & Rob Shakir, Google
For decades, network operators running large global backbones or small enterprise campuses were encumbered by monitoring and management systems based on legacy, inefficient protocols that limit data utility, or proprietary implementations that add further complexity to already heterogeneous environments.

Motivated by these limitations, the networking industry set out to reimagine what a modern network management system could look like, by developing a set of software systems to manage network devices in a vendor-neutral, scalable, and secure way based on gRPC. In this talk, we will describe a comprehensive ecosystem of open tools and services for network management, covering configuration, forwarding, and operational management, network telemetry, and network testing. With growing adoption by network operators and vendors, all of these tools leverage gRPC as their underlying substrate, and demonstrate its versatility and applicability to infrastructure management.

Speakers
avatar for Anees Shaikh

Anees Shaikh

Network Architect, Google
Anees Shaikh is a Network Architect in the Network Infrastructure team at Google where he works on management automation, cloud networking, and network reliability in Google’s production networks. Prior to joining Google, he was the Chief SDN Architect at IBM where he was responsible... Read More →
RS

Rob Shakir

Network Architect, Google
Rob works in Google’s Network Architecture team where he focuses on the software surrounding the network - particularly, defining interfaces to network devices suitable for the needs of modern network operations, and evolving on/off-box control planes. Prior to Google, Rob contributed... Read More →



Thursday March 21, 2019 3:40pm - 4:10pm
Bioscope

3:40pm

Protolock: Stop Breaking Your gRPC API Compatibility Promises - Steve Manuel, Fanatics
This session will cover an in-depth overview of the Protolock CLI tool. I created Protolock after one-too-many accidental rollouts where our gRPC APIs had backward-incompatible changes. Maybe the new team member forgot about reserving names or changing identifiers, or a PR slipped through review with less attention than needed. Regardless, the Java team just @here'd our slack channel with a massive stack trace culminating with a null pointer exception... thanks to our API breaking their client. Protolock solves this problem with built-in rules checking for API incompatible changes (renaming fields, changing field types, changing streaming in/out of RPCs, etc) and can block builds or code-gen when changes are detected. It's plugin system allows developers to extend Protolock's functionality with their own rules, written in any language. Here's more about Protolock: https://docs.google.com/presentation/d/1QUGZ2VqTAIR-lF-dXI7b_vUjFA3C45bXpGhPWUX7AvI/edit#slide=id.p (note: old deck!)

Speakers
avatar for Steve Manuel

Steve Manuel

Member of Technical Staff, Fanatics
Steve is a Sr. Software Engineer, MTS at Fanatics, the worlds leading e-commerce and retail source of officially licensed sports merchandise. Steve mainly writes distributed systems and network software in Go, and authors/maintains open source projects such as Ponzu (https://ponzu-cms.org... Read More →



Thursday March 21, 2019 3:40pm - 4:10pm
Atomic Clock
  • Skill Level Any

4:15pm

Future Proofing: Adapting HAProxy to Support gRPC and the Future of HTTP - Baptiste Assmann, HAProxy Technologies
HAProxy, the popular, open-source, software load balancer, has been steadily adding features for the past 17 years. Yet, as HTTP/2 and gRPC gained momentum, it became clear that core parts of the HAProxy engine should be redesigned to support them. In this talk, we'll share our process, challenges, and breakthroughs as we updated HAProxy to support the latest HTTP standard. Hear how recent changes allowed the project to add gRPC support even earlier than expected and how they'll continue to help accelerate cutting-edge feature delivery for modern environments.

Speakers
avatar for Baptiste Assmann

Baptiste Assmann

Principal Solutions Architect, HAProxy Technologies
Baptiste is a Solutions Architect, with a long experience and various roles in the Web industry.Working on HAProxy for 8 years now, contributor and maintainer of some features such as runtime DNS resolution, send/expect health check or server state file.Love designing, experiencing... Read More →



Thursday March 21, 2019 4:15pm - 4:45pm
Atomic Clock
  • Skill Level Any

4:15pm

Birds of a Feather: Using Java with gRPC
Using Java with gRPC? Join fellow attendees in this informal discussion to learn from one another on how each of us uses Java with gRPC.

Thursday March 21, 2019 4:15pm - 4:45pm
Shadow Mask
  • Skill Level Any

4:15pm

Metastore - A gRPC/Proto Registry - Alex Van Boxel, Vente-Exclusive.com
Protobuf and gRPC are build from the ground up to be forward and backward compatible. Due to this compatibility the need of a native schema registry has never got off the ground. Sharing was simple done by sharing git repositories.

In the big data ecosystem Kafka is gaining popularity and the schema registry is a centerpiece of architectures build on top of Kafka, while proto doesn’t have an answer to this. That's why we build metastore, a schema registry, to facilitates a contract first workflow for gRPC and Protobuf across different teams. The store is able to collect, validate and even lint proto contracts against historical version but still backed by a git repo.

This talk will present metastore and a few workflows that uses the store. But we’ll also try to propose a standard gRPC that could be part of the gRPC spec.

Speakers
avatar for Alex Van Boxel

Alex Van Boxel

Software Architect, Veepee.com
Alex Van Boxel is a Big Data and Cloud Architect and Veepee.com. He loves working on operational requirement and kicking new initiatives out of the ground. Alex has a engineering and testing background in Research and Development at Alcatel-Lucent and Progress Software. He loves... Read More →



Thursday March 21, 2019 4:15pm - 4:45pm
Bioscope

4:50pm

Closing Remarks - April Nassi & Kailash Sethuraman, Google
Speakers
avatar for April Nassi

April Nassi

Community Manager, Google
April Kyle Nassi is an Istio and gRPC community manager at Google focused on open source strategy. Previously, she created the Salesforce Developer community program and put on many a Dreamforce DevZone. She’s a CNCF Ambassador, crazy dog lady, and native Texan. You can find her... Read More →
KS

Kailash Sethuraman

Staff Technical Program Manager, Google


Thursday March 21, 2019 4:50pm - 5:00pm
Raster
  • Skill Level Any

5:00pm

Evening Reception
After a day of sessions, join us in the Java Corner Cafe to enjoy food and drinks while networking with fellow attendees.

Thursday March 21, 2019 5:00pm - 7:00pm
Building MP2 Cafe (main event is in Building MP3)