Open source at PayPal

Post on 14-Jun-2015

498 views 2 download

Tags:

description

All things open 2014, speaking deck. On lessons learned doing open source at PayPal.

transcript

PayPal Open-source

Stuff that we learned when we opened up

@saranyan | PayPal Engineering

Hi!

I work at PayPalI run infrastructure and platforms

svigraham@paypal.com @saranyan

Engineer Experimenter Hacker

@saranyan | PayPal Engineering

At PayPal we are trying build platforms that don’t look like this

@saranyan | PayPal Engineering

1. Challenges at PayPal 2. What we learned from those 3. How we are turning things around

@saranyan | PayPal Engineering

Understanding open source

@saranyan | PayPal Engineering

We assume - Open source is using stuff that is openly available and submitting pull requests for

enhancements

@saranyan | PayPal Engineering

It is a culture of collaboration and transparency

@saranyan | PayPal Engineering

Legacy Stacks

Challenge #1

@saranyan | PayPal Engineering

Poor building blocks

@saranyan | PayPal Engineering

Challenge #2It is costly to pivot

Business demands

Learning curve

Lack of understanding

@saranyan | PayPal Engineering

Case Study PPaaS

@saranyan | PayPal Engineering

PPaaS

How can we build better REST services?

@saranyan | PayPal Engineering

PPaaS

Services should be easy to build, test and get visibility on Should be easy to deploy

@saranyan | PayPal Engineering

PPaaS

Metrics, infrastructure, testing and monitoring tools

@saranyan | PayPal Engineering

Lay of the land

Some challenges that we deal with at scale @PayPal {metrics/data, technology, deployment)

@saranyan | PayPal Engineering

CAL - eBay’s logging infra logs around 5.7TB worth of data everyday.

@saranyan | PayPal Engineering

Companies need to create a culture where we act as enablers

Learning #1

@saranyan | PayPal Engineering

Empower others to build the features they need without us having to do it.

Learning #1

@saranyan | PayPal Engineering

Organizational structure

Challenge #2

@saranyan | PayPal Engineering

Recognize that we are moving from an ecosystem of support to self-service

Learning #2

@saranyan | PayPal Engineering

On creating open-source

30%

70%

Organizational Technology

@saranyan | PayPal Engineering

On adopting opensource

60%

40%

Organizational Technology

@saranyan | PayPal Engineering

More learnings #3

@saranyan | PayPal Engineering

Creating/adopting Open source

Environment that is supportive of transparency (+tools) Culture of experimentation Rigorous communication

Culture of sharing Federated organizational structure

@saranyan | PayPal Engineering

Things that we are doing

@saranyan | PayPal Engineering

Case study

Solving environment and VM issues

@saranyan | PayPal Engineering

How services talk

Vault

Crypto

DB

DB

@saranyan | PayPal Engineering

Integration/Testing challenges

VM/Stages Reliability

@saranyan | PayPal Engineering

Docker

Our ongoing journey towards having reliable service containers

@saranyan | PayPal Engineering

Docker

- Collaboration with Platform Infra teams and Site Reliability teams

- Prototyping semi-complex services on docker and sharing the builds with other teams

Mesos + Docker registry @PayPal for few services

@saranyan | PayPal Engineering

Case study 2

GENIO

@saranyan | PayPal Engineering

GENIO

SDK autogeneration Ruby

@saranyan | PayPal Engineering

GENIO

- Picking a language/tool with low barrier to entry - Seeding the tools with use cases that are immediately

relevant

Genio is currently used for generating parts of PayPal SDK

@saranyan | PayPal Engineering

Collaboration

Team 1 Team 2

@saranyan | PayPal Engineering

Team 1 Team 2

Visible to team 2 Visible to team 1

@saranyan | PayPal Engineering

Team 1 Team 2

Visible to team 2 Visible to team 1

Medium like Github helps here

@saranyan | PayPal Engineering

For developing a culture of collaboration, it is important to tailor an environment via tools and processes

@saranyan | PayPal Engineering

Our Journey into Node

Krackenjs http://paypal.github.io/

@saranyan | PayPal Engineering

Democratization of individual teams is impossible if core technology is not open

@saranyan | PayPal Engineering

Changing a culture is not just accomplished by technology, but it is a wonderful catalyst

Closing thoughts

@saranyan | PayPal Engineering

Engineers are pragmatic dreamers, excited by possibilities of great things, and work well with a lot of freedom

Closing thoughts

@saranyan | PayPal Engineering

Questions?

I work at PayPalI run infrastructure and platforms

svigraham@paypal.com @saranyan