open source at paypal

42
PayPal Open- source Stuff that we learned when we opened up

Upload: saranyan-vigraham

Post on 14-Jun-2015

498 views

Category:

Engineering


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Open source at PayPal

PayPal Open-source

Stuff that we learned when we opened up

Page 2: Open source at PayPal

@saranyan | PayPal Engineering

Hi!

I work at PayPalI run infrastructure and platforms

[email protected] @saranyan

Engineer Experimenter Hacker

Page 3: Open source at PayPal

@saranyan | PayPal Engineering

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

Page 4: Open source at PayPal

@saranyan | PayPal Engineering

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

Page 5: Open source at PayPal

@saranyan | PayPal Engineering

Understanding open source

Page 6: Open source at PayPal

@saranyan | PayPal Engineering

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

enhancements

Page 7: Open source at PayPal

@saranyan | PayPal Engineering

It is a culture of collaboration and transparency

Page 8: Open source at PayPal

@saranyan | PayPal Engineering

Legacy Stacks

Challenge #1

Page 9: Open source at PayPal

@saranyan | PayPal Engineering

Poor building blocks

Page 10: Open source at PayPal

@saranyan | PayPal Engineering

Challenge #2It is costly to pivot

Business demands

Learning curve

Lack of understanding

Page 11: Open source at PayPal

@saranyan | PayPal Engineering

Case Study PPaaS

Page 12: Open source at PayPal

@saranyan | PayPal Engineering

PPaaS

How can we build better REST services?

Page 13: Open source at PayPal

@saranyan | PayPal Engineering

PPaaS

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

Page 14: Open source at PayPal

@saranyan | PayPal Engineering

PPaaS

Metrics, infrastructure, testing and monitoring tools

Page 15: Open source at PayPal

@saranyan | PayPal Engineering

Lay of the land

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

Page 16: Open source at PayPal

@saranyan | PayPal Engineering

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

Page 17: Open source at PayPal

@saranyan | PayPal Engineering

Companies need to create a culture where we act as enablers

Learning #1

Page 18: Open source at PayPal

@saranyan | PayPal Engineering

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

Learning #1

Page 19: Open source at PayPal

@saranyan | PayPal Engineering

Organizational structure

Challenge #2

Page 20: Open source at PayPal

@saranyan | PayPal Engineering

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

Learning #2

Page 21: Open source at PayPal

@saranyan | PayPal Engineering

On creating open-source

30%

70%

Organizational Technology

Page 22: Open source at PayPal

@saranyan | PayPal Engineering

On adopting opensource

60%

40%

Organizational Technology

Page 23: Open source at PayPal

@saranyan | PayPal Engineering

More learnings #3

Page 24: Open source at PayPal

@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

Page 25: Open source at PayPal

@saranyan | PayPal Engineering

Things that we are doing

Page 26: Open source at PayPal

@saranyan | PayPal Engineering

Case study

Solving environment and VM issues

Page 27: Open source at PayPal

@saranyan | PayPal Engineering

How services talk

Vault

Crypto

DB

DB

Page 28: Open source at PayPal

@saranyan | PayPal Engineering

Integration/Testing challenges

VM/Stages Reliability

Page 29: Open source at PayPal

@saranyan | PayPal Engineering

Docker

Our ongoing journey towards having reliable service containers

Page 30: Open source at PayPal

@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

Page 31: Open source at PayPal

@saranyan | PayPal Engineering

Case study 2

GENIO

Page 32: Open source at PayPal

@saranyan | PayPal Engineering

GENIO

SDK autogeneration Ruby

Page 33: Open source at PayPal

@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

Page 34: Open source at PayPal

@saranyan | PayPal Engineering

Collaboration

Team 1 Team 2

Page 35: Open source at PayPal

@saranyan | PayPal Engineering

Team 1 Team 2

Visible to team 2 Visible to team 1

Page 36: Open source at PayPal

@saranyan | PayPal Engineering

Team 1 Team 2

Visible to team 2 Visible to team 1

Medium like Github helps here

Page 37: Open source at PayPal

@saranyan | PayPal Engineering

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

Page 38: Open source at PayPal

@saranyan | PayPal Engineering

Our Journey into Node

Krackenjs http://paypal.github.io/

Page 39: Open source at PayPal

@saranyan | PayPal Engineering

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

Page 40: Open source at PayPal

@saranyan | PayPal Engineering

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

Closing thoughts

Page 41: Open source at PayPal

@saranyan | PayPal Engineering

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

Closing thoughts

Page 42: Open source at PayPal

@saranyan | PayPal Engineering

Questions?

I work at PayPalI run infrastructure and platforms

[email protected] @saranyan