SATURN 2017 has ended
Registration is open every day from 7:30 a.m. until the close of the day’s sessions.
Breakfast will be served starting at 6:30 a.m. for conference registrants in the Columbine Restaurant.
30-minute refreshment breaks are at 10:00 a.m. and 2:30 p.m. daily.
Lunch is 12:00-1:00 p.m. daily in the Columbine Restaurant.
Back To Schedule
Wednesday, May 3 • 1:00pm - 1:30pm
From REST to gRPC: An API Evolution Story

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

An existing REST-based microservice, a new requirement to use gRPC, a team under pressure to ship… In this talk, we describe how we moved backing Watson Discovery microservices from REST to gRPC and the lessons we learned in the process.

The APIs for components in fine-grained service-oriented architectures strongly influence the eventual properties expressed in the system. REST over HTTP is a popular choice for microservices APIs because it promotes openness, self-discovery, and simplicity. One alternative to REST is gRPC, an implementation of Protobuf. As an RPC-based API, gRPC inhibits openness and self-discovery but promotes performance and, depending on the implementation, can provide stronger compile-time (or at least call-time) guarantees, which help developers avoid mistakes. By the end of this talk, attendees will know

  • what gRPC is and how it is different from REST
  • how to organize code to make API transitions easier
  • the benefits of functional testing using Cucumber and tips for creating extensible gRPC API tests using Ruby
  • how to implement common REST patterns in gRPC
  • common pitfalls for using gRPC in a microservices architecture and some solutions

See the slides.

Watch the video.

avatar for Michael Keeling

Michael Keeling

Software Engineer, LendingHome
Michael Keeling is a software engineer at LendingHome and the author of Design It!: From Programmer to Software Architect. Prior to LendingHome, he worked at IBM on the Watson Discovery Service. Keeling has a Master of Science in Software Engineering from Carnegie Mellon University and a Bachelor of Science in Computer Science from the College of William and Mary... Read More →
avatar for Joe Runde

Joe Runde

Joe Runde is a software engineer who recently started his career at IBM. There he works on Watson while teaching about machine learning methods and learning about software design from many smarter folks. Joe has an MS in Machine Learning from Carnegie Mellon University and a BS in... Read More →

Wednesday May 3, 2017 1:00pm - 1:30pm MDT
Conference Room C