Yan Pujante

LinkedIn

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:

LinkedIn was mostly member centric, with the traditional member login / session pattern. When the need arose to open up an API, LinkedIn revisited the model in order to seamlessly integrate calls coming from the main website as well as calls coming from the APIs. This session will cover several aspects of the changes:

how to make the business logic code unaware of who the caller is from a security point of view (RBAC)

which security model was chosen for the API and why (Yahoo model vs Amazon model)

This talk will also cover how LinkedIn retrofitted the security model chosen for the API into the mainstream website, which helped tremendously in the scalability of the website by allowing stateless frontend / single sign on (SSO), and improved security by removing sessions entirely.

Yan Pujante 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).