open source at paypal
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
[email protected] @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
[email protected] @saranyan