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

Open source at PayPal

Embed Size (px)

DESCRIPTION

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

Citation preview

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