gRPC Migration Automation at LinkedIn

LinkedIn is in the process of migrating from Rest.li, an internally developed open source framework for building RESTful APIs to gRPC for better framework capabilities, runtime efficiency, and developer productivity.

For this migration across ~8k services and ~100M LoC to be ROI positive, we built an in-house automation framework that drastically reduces human toil and calendar time (from millions to hundreds of dev hours), and provides an incremental migration path without hurting feature development velocity.

This presentation will delve into:

  • Schema translation from pegasus (used by rest.li) to proto3 (used by gRPC)
  • Runtime translation between rest.li and grpc on client and server
  • Automated migration of routing configurations and operational dashboards/alerts
  • Incremental ramp and validation framework
  • AST and Generative AI based techniques for code migration
  • Results and learnings from our journey so far
  • Leverage in other software migration projects at LinkedIn

Speaker

Karthik Ramgopal

Distinguished Engineer & Tech Lead of the Product Engineering Team @LinkedIn

Karthik is a Distinguished Engineer and the tech lead of the product engineering team at LinkedIn, which delivers innovative and engaging consumer and enterprise product experiences for 1B+ members and customers worldwide. He has over 14 years of experience in software development, design, and architecture, spanning product and application infrastructure teams.

Read more
Find Karthik Ramgopal at:

Speaker

Min Chen

Principal Staff Software Engineer @LinkedIn, Caltech CS PhD With Over 20-Year Extensive Software Development Experience

Min is a principal staff engineer at LinkedIn and the tech lead of service infrastructure division which provides the efficient serving stack and automation for LinkedIn online services. She holds a PhD degree in computer science from Caltech and has over 22 years of experience in software design and development. Before joining LinkedIn, she worked on various service and cloud infrastructure areas at IBM research, Oracle, BMC, Zynga, and Citrix.

Read more
Find Min Chen at:

From the same track

Session architecture

Modernizing in Healthcare – From On-Prem to the Cloud

Tuesday Apr 9 / 02:45PM BST

Change is hard. Changing an industry as complex as Healthcare is doubly hard. With conflicting interests, complicated synchronization practices, diverse api integration requirements and an aging, overly complex application, our path from on-prem to cloud-native was not simple.

Speaker image - Leander Vanderbijl

Leander Vanderbijl

Senior Engineer @Livi, Previously Principal Engineer @Informa, 13 Years Developing, Managing, and Integrating Diverse Online Systems and Applications

Session testing

Production Comes First - An Outside-In Approach to Building Microservices

Tuesday Apr 9 / 05:05PM BST

The software world is moving towards multiple interconnected applications that service our customer needs, but this makes development so much harder. Now we need to think about how were interact we other systems that we don't necessarily own.

Speaker image - Martin Thwaites

Martin Thwaites

Developer & Developer Advocate @Honeycomb.io, Observability Activist

Session Long running

Are You Done Yet? Mastering Long-Running Processes in Modern Architectures

Tuesday Apr 9 / 10:35AM BST

Navigating the challenges of long-running processes is an important skill to survive modern architecture. The complexities arise from the growing distribution of systems and the need to address issues related to remote communication and the unavailability of peers.

Speaker image - Bernd Ruecker

Bernd Ruecker

Co-Founder and Chief Technologist @Camunda

Session architecture

Sidecar-Less or Sidecars for Your Applications in Istio Service Mesh?

Tuesday Apr 9 / 01:35PM BST

Sidecar-less functionality has emerged as an alternative approach in service mesh architectures, addressing concerns related to costs and complexity associated with sidecars.

Speaker image - Lin Sun

Lin Sun

Open Source @solo.io, Istio TOC Member, CNCF TAG Network Cochair & Ambassador

Session

Unconference: Connecting Systems

Tuesday Apr 9 / 03:55PM BST

An unconference is a participant-driven meeting. Attendees come together, bringing their challenges and relying on the experience and know-how of their peers for solutions.