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
-
Architectures You've Always Wondered about
The newest and biggest Internet architectures
-
Real World Functional
Putting functional programming concepts to work in the real world.
-
The Future of Mobile
The future of mobile and performance improvements
-
Continuous Delivery: From Heroics to Becoming Invisible
Continuous Delivery philosophies, cultures, hiccups, and best practices.
-
Unleashing the Power of Streaming Data
This track explores a variety of use-cases, platforms, and techniques for processing and analyzing stream data from the companies deploying them at scale!
-
Sponsored Solutions Track I
Tuesday, 4 November
-
Engineering for Product Success
Architectures that make products more successful
-
Reactive Service Architecture
Reactive, Responsive, Fault Tolerant and More.
-
Modern CS In the Real World
How modern CS tackles problems in the real world.
-
Applied Machine Learning and Data Science
Understand your big big data!
-
Deploying at Scale
Containerizing Applications, Discovering Services, and Deploying to the Grid.
-
Sponsored Solutions Track II
Wednesday, 5 November
-
Beyond Hadoop
Emerging Big Data Frameworks and Technology
-
Scalable Microservice Architectures
This track addresses the ways companies with hundreds of fine-grained web-services (e.g. Netflix, LinkedIn) manage complexity!
-
Java at the Cutting Edge
The latest and greatest in the Java ecosystem
-
Engineering culture
Successes and failures in creating an engineering culture.
-
Next gen HTML5 and JS
How Web Components, the Future of CSS, and more are changing the web.
-
Sponsored Solutions Track III