Building LinkedIn's Next Generation Architecture with OSGI
Over the course of the last 5 years, LinkedIn has been built using relatively simple technologies: front end web applications (tomcat/servlet/jsp), backend services (jetty/spring remoting), databases, replication, jms, ... Although the web site was scaling adequately, LinkedIn had some big challenges to overcome:
- a growing engineering team working on a monolithic code base (albeit modular)
- a growing product team wanting more and more features, faster
- a growing operations team deploying more and more servers
- and more...
In March of 2008, a group of Senior Engineers started a project to explore the best available technologies which could help in building the next generation of the architecture that would address those challenges. The new architecture involved using OSGI/Spring DM as the foundation because it had the right properties we were interested in. The code was migrated to a more modular paradigm using binary consumption...
This session will demonstrate how we integrated OSGI, the pros and cons of the changes, the pain points as well as the migration strategy:
- auto discovery/load balancing of services accross multiple OSGI containers
- version management at the service level, for no downtime upgrade
- web applications (frontend) as lightweight bundles
- and more...
is a Distinguished Software Engineer at LinkedIn. As a member of the founding team of LinkedIn, Yan has been involved in a lot of various areas of the product: architecture, ui framework, wiring framework, security, replication, scalability, and many more... Yan is currently working with the platform team on building the next iteration of the software that will scale both from a product point of view and from a developper point of view.
Yan has 12 years of professional experience with a total of 25 years of passion for computers (dating back to the era of the TI-99/4A).