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.
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.