Presentation: From a monolith to microservices + REST: The evolution of LinkedIn's service architecture

LinkedIn's evolution from a monolithic application to a microservice-based architecture has been years in the making and is still ongoing. As we scaled in terms of site traffic and the number of engineers, decomposition has been a key driver of our architecture. Decomposing not only the release vehicle but also the codebase and finally decentralizing control of the development and release process has enabled us to evolve our system more rapidly.

One of the key components in LinkedIn's transition towards a microservice based service architecture was Rest.li (http://rest.li/), the open source framework LinkedIn created for building robust, scalable RESTful architectures. We will talk about why LinkedIn decided to use RESTful communication between services, why we built Rest.li, what the key features of Rest.li are, what gains we have seen after transitioning over to microservices that communicate with each other using Rest.li, and why and how we transitioned from hardware load balancers to client side service discovery and load balancing using Apache ZooKeeper.

We will talk about tools and frameworks we built in order to help our transition over to microservices, including our URN resolution engine, and the Rest.li API Hub (https://github.com/linkedin/rest.li-api-hub). We will also talk about the challenges we faced in moving from RPC to Rest.li, which include coordinating a large scale migration from RPC to REST and ensuring consistency and quality of RESTful interfaces at a company with over 1000 engineers.

LinkedIn's transition to RESTful microservices was a massive engineering initiative that took over a year to complete. We learned a lot along the way, and want to share our experiences with the software engineering community.

Tracks

Covering innovative topics

Monday, 3 November

Tuesday, 4 November

Wednesday, 5 November

Conference for Professional Software Developers