SlideShare a Scribd company logo
1 of 38
Download to read offline
Python Through the
Back Door
!

CodeMash 2014
!

Roy Rapoport
@royrapoport rsr@netflix.com
www.linkedin.com/in/royrapoport
A Word About Me
• About 20 years in technology
• Systems engineering, networking,
software development, QA, release
management
• Time at Netflix: 1655 days (4y:6m:11d)
• Before at Netflix: Service Delivery in
the IT/Ops, troubleshooter, Builder of
Python Things[tm]
• Current role: Insight Engineering
•Real-Time Operational Insight

!2
Problem
Python
People

Stories We Tell
• Technical Problems
• Howler Monkey
• Alerting
• Python As a First-Class Language
• Culture and People

!3
People

“Netflix Company Profile
Now via self service*
Go to your favorite Python REPL and type the following:
import re, requests!
content = requests.get(“http://ir.netflix.com").content!
content = content.replace(“ ", " ")!
p = re.compile(r”.*over (d+) .*in (d+)”, re.S)!
m = re.match(p, content)!
print "Netflix is the world's leading Internet !
subscription service for enjoying TV and movies, !
with more than {} million subscribers in {} !
countries.”.format(m.group(1), m.group(2))!

*No whining. Remember that you’ll never again need to wait for me to update this
slide like you had to wait for database access when you started your last job.”
- Jay Zarfoss, http://www.slideshare.net/zarfide
!4
People

Design Your Culture for
Desired Outcomes
1. Speed of innovation!
2. Availability!
3. Cost

!5
People

Design For What’s Important
Freedom and Responsibility!
Hire Smart Experienced People!
Set them Loose!
Watch Magic Happen

!6
People

Policies
Raise your hand if you love them
People

Policies
(How They Usually Work)

8
People

Policies
(How They Usually Work)

11/27/2006	

“Sorry, but the standard monitor...is the HP 17 flat panel. I
actually told a director last week that they couldn't have a
19 for a new office so I am not picking on just you.”	


9
People

Policies
(How They Usually Work)

!

6/18/2007	

“There is a request for quantity 2 17” flat panels. We have
received direction from the CIO that no one will have
more than 1 flat panel monitor. I just wanted to let you
know that there will only be one monitor ordered ... The
17” is our only standard except for Legal.”

10
People

Policies
(How They Usually Work)

•Prescriptive	

•Inflexible	

•Determined by others	

•Slow to change
11
People

Policies
@nflx

12
People

Policies
@nflx
!
01/30/2013, 15:22 PST	

I'd like to request a 15” MBP w/ Retina Display. I don't know how much
you guys care about CPU specs -- it looks like the bump from 2.3GHz to
2.6GHz is reasonably priced at only about $100, so if it works for you
that'd be nice. 16GB RAM and at least 512GB drive. 	

!
01/31/2013	

12:00 PST: “Forwarded to IT Purchasing to provide a quote to Roy for
the requested configuration.”	

13:33 PST: “Requesting quote from vendor”	

15:32 PST: “Attached is the quote, please approve and I’ll place order”	

15:46 PST: “Thanks for the rapid response. Please order.”	

15:52 PST: “Ordered. PO #...”

13
People

Policies
@nflx

•
•
•

Descriptive	


•

Evolve quickly

As flexible as we are	

Describe what we
choose to do/get	


14
Problem

The Before Time
Dozens of SSL Certificates	

Decentralized	

Kept Expiring	

Hilarity would ensue	

Amazon Resources	

“No Preset Limit”	

You know when you hit it	

Hilarity would ensue
15
Python

The Before Time
•

Well-developed Developer Ecosystem	

•
•

DB Client	


•

Credentials Management	


•

Memory Object Cache	


•

Server Infrastructure	


•
•

Discovery	


Telemetry	


You wanted that for Java, right?
16
The Before Time
•

Just moved from IT/Ops	


•

Problem
Python

Formally tasked with SSL cert
issue as quarterly goal	

•

•
•

Limits issue “tacked” on	


Happily hackily Pythonic	

Presenter Selfie

Didn’t know Java

17
Problem

Architecture
7/10/2011 Ready for beta
Cassandra
ELB

EC2

CherryPy
Filesystem
Certificate

IP Range

Nagger
DNS Domain

18
Python

Persistence
•

Started with SimpleDB

•

Then Cassandra

•

Drove creation of …
•
•

•

import Discovery
import Cassandra

And a design error
!19
Python

Abstraction
•

“The process of separating
ideas from specific instances of
those ideas at work.”

•

Some abstraction: Good

•

Too much abstraction burns
your tongue*

•

Known bug
* Mixed metaphor is mixed
!20
Problem

Architecture

21
Problem

Architecture

22
Problem

Alerting
• Enterprise IT Solution
• Managed by the Enterprise IT Alerting People
• File Tickets
• Send alerts to NOC
• Completely separate from telemetry system

Copyright USAID Microlinks. CC Attribution 2.0

23
Problem

Alerting
• Enterprise IT Solution
• Managed by the Enterprise IT Alerting People
• File Tickets
• Send alerts to NOC
• Completely separate from telemetry system

Copyright: http://www.flickr.com/photos/s_w_ellis
CC Attribution 2.0 License

24
Problem

Alerting
Monitoring

Alerting

Notification

• Already had a good telemetry system
• Outsourced notification to PagerDuty
• No alert routing (and deduplication)
25
People

Alerting
•Space crunch
•New cube mate: @jedberg
•One Month Deadline

26
Problem

Alerting
Central	

Alert 	

Gateway

Atlas

Pager	

Duty

alerting

Amazon	

SES

api

Let’s Wake Someone Up
(Livecoding for Fun and Profit)
27
Python

But Now We Need…
• import Discovery.publish
• import EVCache
• import EpicMetrics
• import Archaius
• import Asgard.Registry
• import AKMS
28
Python

AKMS?
In [1]: import AKMS!
In [2]: ak = AKMS.AKMS(RoyWasHere)!
In [3]: ak.keys()!
Out[3]: ['MLQBAYLLDIGXPBQB', ‘eMr+Mdhv+E4xD+paPCxXF+’]!
In [4]: a, s = ak.keys()!
In [5]: s3_object = boto.connect_s3(a, s)!
In [6]: ak = AKMS.AKMS(RoyWasHere, version=2)!
In [7]: ak.keys()!
Out[7]: [‘yn[…]G’, ‘rV[…]bKfSUHDSA’, ‘reallyLongStringElided']!
In [8]: ak.expiration!
Out[8]: 1389165118!
In [9]: a, s, s2 = ak.keys()!
In [10]: s3_object = boto.connect_s3(a, s, security_token=s2)

29
People

So AKMS
• Server more paranoid than most
• Making Python library was a pain
• Remember Jay?
• High lateral trust
• Prioritization autonomy
• Never ask for permission
30
People

Lateral Trust
• Humans are good game players
• What are the rules?
• Zero-sum games: I want you to lose
• Stack ranking
• Fixed bonus / raise pools
31
People

Lateral Trust @nflx
• No fixed pools for anything
• No ranking (at all)
• Reviews != raises
• Smart people generally make good decisions
• Global optimization
32
People

Subordinate Trust @nflx
• Focus on results
• Unleash employees
• Encourage disagreement
• Accept dissent
• Job #1: Attract and retain world-class talent
33
People

Manager Trust @nflx
• Question, question, question
• Drive for context, not decisions
• Nobody is above questioning

34
Python

Field of Dreams
• Turned out I wasn’t the only one
• Striking the right balance between MVP
and future growth (maybe)
• And if it hadn’t … it’d still have been the
right choice

35
A Virtuous Cycle
• Requirement for high impact
• No process for permission
• Unorthodox language choice
• Lateral support for development
• Increased adoption
•…
• Profit!*
* (or at least a new standard)
36

Python
People
Problem
Tell me what you think.
You know you want to.
http://bit.ly/netflixcmpython
!37
Attributions
http://www.flickr.com/photos/watchsmart/	

http://www.flickr.com/photos/yaketyyakyak/	

Pem Dorjee Sherpa

38

More Related Content

What's hot

System insight without Interference
System insight without InterferenceSystem insight without Interference
System insight without InterferenceTony Tam
 
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Interactive Data Analysis with Apache Flink @ Flink Meetup in BerlinInteractive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Interactive Data Analysis with Apache Flink @ Flink Meetup in BerlinTill Rohrmann
 
An introduction to Reactive applications, Reactive Streams, and options for t...
An introduction to Reactive applications, Reactive Streams, and options for t...An introduction to Reactive applications, Reactive Streams, and options for t...
An introduction to Reactive applications, Reactive Streams, and options for t...Steve Pember
 
Engineering Netflix Global Operations in the Cloud
Engineering Netflix Global Operations in the CloudEngineering Netflix Global Operations in the Cloud
Engineering Netflix Global Operations in the CloudJosh Evans
 
Accelerate Your OpenStack Deployment
Accelerate Your OpenStack Deployment Accelerate Your OpenStack Deployment
Accelerate Your OpenStack Deployment NetApp
 
Groovy Options for Reactive Applications - Greach 2015
Groovy Options for Reactive Applications - Greach 2015Groovy Options for Reactive Applications - Greach 2015
Groovy Options for Reactive Applications - Greach 2015Steve Pember
 
Welcome to a Computing Revolution - Alex Lesser
Welcome to a Computing Revolution - Alex LesserWelcome to a Computing Revolution - Alex Lesser
Welcome to a Computing Revolution - Alex LesserDatadog
 
Reactive programming and Hystrix fault tolerance by Max Myslyvtsev
Reactive programming and Hystrix fault tolerance by Max MyslyvtsevReactive programming and Hystrix fault tolerance by Max Myslyvtsev
Reactive programming and Hystrix fault tolerance by Max MyslyvtsevJavaDayUA
 
Building a Modern Website for Scale (QCon NY 2013)
Building a Modern Website for Scale (QCon NY 2013)Building a Modern Website for Scale (QCon NY 2013)
Building a Modern Website for Scale (QCon NY 2013)Sid Anand
 
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...DataStax
 
Springone2gx 2015 Reactive Options for Groovy
Springone2gx 2015  Reactive Options for GroovySpringone2gx 2015  Reactive Options for Groovy
Springone2gx 2015 Reactive Options for GroovySteve Pember
 
Making Glance tasks work for you - OpenStack Summit May 2015 Vancouver
Making Glance tasks work for you - OpenStack Summit May 2015 VancouverMaking Glance tasks work for you - OpenStack Summit May 2015 Vancouver
Making Glance tasks work for you - OpenStack Summit May 2015 VancouverBrian Rosmaita
 
Benchmarking at Parse
Benchmarking at ParseBenchmarking at Parse
Benchmarking at ParseTravis Redman
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovyReactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovySteve Pember
 
Transactional Streaming: If you can compute it, you can probably stream it.
Transactional Streaming: If you can compute it, you can probably stream it.Transactional Streaming: If you can compute it, you can probably stream it.
Transactional Streaming: If you can compute it, you can probably stream it.jhugg
 
Logs Are Magic! Why git workflows & commit structure should matter to you
Logs Are Magic! Why git workflows & commit structure should matter to youLogs Are Magic! Why git workflows & commit structure should matter to you
Logs Are Magic! Why git workflows & commit structure should matter to youJohn Anderson
 
Airflow @ Agari
Airflow @ Agari Airflow @ Agari
Airflow @ Agari Sid Anand
 

What's hot (20)

DrupalCon 2011 Highlight
DrupalCon 2011 HighlightDrupalCon 2011 Highlight
DrupalCon 2011 Highlight
 
System insight without Interference
System insight without InterferenceSystem insight without Interference
System insight without Interference
 
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Interactive Data Analysis with Apache Flink @ Flink Meetup in BerlinInteractive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
 
An introduction to Reactive applications, Reactive Streams, and options for t...
An introduction to Reactive applications, Reactive Streams, and options for t...An introduction to Reactive applications, Reactive Streams, and options for t...
An introduction to Reactive applications, Reactive Streams, and options for t...
 
Engineering Netflix Global Operations in the Cloud
Engineering Netflix Global Operations in the CloudEngineering Netflix Global Operations in the Cloud
Engineering Netflix Global Operations in the Cloud
 
Accelerate Your OpenStack Deployment
Accelerate Your OpenStack Deployment Accelerate Your OpenStack Deployment
Accelerate Your OpenStack Deployment
 
Groovy Options for Reactive Applications - Greach 2015
Groovy Options for Reactive Applications - Greach 2015Groovy Options for Reactive Applications - Greach 2015
Groovy Options for Reactive Applications - Greach 2015
 
Welcome to a Computing Revolution - Alex Lesser
Welcome to a Computing Revolution - Alex LesserWelcome to a Computing Revolution - Alex Lesser
Welcome to a Computing Revolution - Alex Lesser
 
Reactive programming and Hystrix fault tolerance by Max Myslyvtsev
Reactive programming and Hystrix fault tolerance by Max MyslyvtsevReactive programming and Hystrix fault tolerance by Max Myslyvtsev
Reactive programming and Hystrix fault tolerance by Max Myslyvtsev
 
Building a Modern Website for Scale (QCon NY 2013)
Building a Modern Website for Scale (QCon NY 2013)Building a Modern Website for Scale (QCon NY 2013)
Building a Modern Website for Scale (QCon NY 2013)
 
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
 
Springone2gx 2015 Reactive Options for Groovy
Springone2gx 2015  Reactive Options for GroovySpringone2gx 2015  Reactive Options for Groovy
Springone2gx 2015 Reactive Options for Groovy
 
Making Glance tasks work for you - OpenStack Summit May 2015 Vancouver
Making Glance tasks work for you - OpenStack Summit May 2015 VancouverMaking Glance tasks work for you - OpenStack Summit May 2015 Vancouver
Making Glance tasks work for you - OpenStack Summit May 2015 Vancouver
 
Benchmarking at Parse
Benchmarking at ParseBenchmarking at Parse
Benchmarking at Parse
 
Ds @ bol
Ds @ bolDs @ bol
Ds @ bol
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovyReactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of Groovy
 
Transactional Streaming: If you can compute it, you can probably stream it.
Transactional Streaming: If you can compute it, you can probably stream it.Transactional Streaming: If you can compute it, you can probably stream it.
Transactional Streaming: If you can compute it, you can probably stream it.
 
Dev Ops without the Ops
Dev Ops without the OpsDev Ops without the Ops
Dev Ops without the Ops
 
Logs Are Magic! Why git workflows & commit structure should matter to you
Logs Are Magic! Why git workflows & commit structure should matter to youLogs Are Magic! Why git workflows & commit structure should matter to you
Logs Are Magic! Why git workflows & commit structure should matter to you
 
Airflow @ Agari
Airflow @ Agari Airflow @ Agari
Airflow @ Agari
 

Viewers also liked

Cloud Tech III: Actionable Metrics
Cloud Tech III: Actionable MetricsCloud Tech III: Actionable Metrics
Cloud Tech III: Actionable Metricsroyrapoport
 
SSL Certificate Expiration and Howler Monkey's Inception
SSL Certificate Expiration and Howler Monkey's InceptionSSL Certificate Expiration and Howler Monkey's Inception
SSL Certificate Expiration and Howler Monkey's Inceptionroyrapoport
 
Operational Insight: Concepts and Examples (w/o Presenter Notes)
Operational Insight: Concepts and Examples (w/o Presenter Notes)Operational Insight: Concepts and Examples (w/o Presenter Notes)
Operational Insight: Concepts and Examples (w/o Presenter Notes)royrapoport
 
Operational Insight: Concepts and Examples
Operational Insight: Concepts and ExamplesOperational Insight: Concepts and Examples
Operational Insight: Concepts and Examplesroyrapoport
 
Cloud Security At Netflix, October 2013
Cloud Security At Netflix, October 2013Cloud Security At Netflix, October 2013
Cloud Security At Netflix, October 2013Jay Zarfoss
 
Keeping Movies Running Amid Thunderstorms!
Keeping Movies Running Amid Thunderstorms!Keeping Movies Running Amid Thunderstorms!
Keeping Movies Running Amid Thunderstorms!Sid Anand
 
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial IntroductionGluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial IntroductionAdrian Cockcroft
 
SV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformSV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformAdrian Cockcroft
 
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...Adrian Cockcroft
 
Anomaly Detection for Security
Anomaly Detection for SecurityAnomaly Detection for Security
Anomaly Detection for SecurityCody Rioux
 
Traffic anomaly detection and attack
Traffic anomaly detection and attackTraffic anomaly detection and attack
Traffic anomaly detection and attackQrator Labs
 
The Dark of Building an Production Incident Syste
The Dark of Building an Production Incident SysteThe Dark of Building an Production Incident Syste
The Dark of Building an Production Incident SysteAlois Reitbauer
 
Cassandra Performance and Scalability on AWS
Cassandra Performance and Scalability on AWSCassandra Performance and Scalability on AWS
Cassandra Performance and Scalability on AWSAdrian Cockcroft
 
Anomaly Detection for Real-World Systems
Anomaly Detection for Real-World SystemsAnomaly Detection for Real-World Systems
Anomaly Detection for Real-World SystemsManojit Nandi
 
Where is Data Going? - RMDC Keynote
Where is Data Going? - RMDC KeynoteWhere is Data Going? - RMDC Keynote
Where is Data Going? - RMDC KeynoteTed Dunning
 
Parallel Programming in Python: Speeding up your analysis
Parallel Programming in Python: Speeding up your analysisParallel Programming in Python: Speeding up your analysis
Parallel Programming in Python: Speeding up your analysisManojit Nandi
 
The Dark Art of Production Alerting
The Dark Art of Production AlertingThe Dark Art of Production Alerting
The Dark Art of Production AlertingAlois Reitbauer
 
Monitoring without alerts
Monitoring without alertsMonitoring without alerts
Monitoring without alertsAlois Reitbauer
 
Monitoring large scale Docker production environments
Monitoring large scale Docker production environmentsMonitoring large scale Docker production environments
Monitoring large scale Docker production environmentsAlois Reitbauer
 

Viewers also liked (20)

Cloud Tech III: Actionable Metrics
Cloud Tech III: Actionable MetricsCloud Tech III: Actionable Metrics
Cloud Tech III: Actionable Metrics
 
SSL Certificate Expiration and Howler Monkey's Inception
SSL Certificate Expiration and Howler Monkey's InceptionSSL Certificate Expiration and Howler Monkey's Inception
SSL Certificate Expiration and Howler Monkey's Inception
 
Operational Insight: Concepts and Examples (w/o Presenter Notes)
Operational Insight: Concepts and Examples (w/o Presenter Notes)Operational Insight: Concepts and Examples (w/o Presenter Notes)
Operational Insight: Concepts and Examples (w/o Presenter Notes)
 
Operational Insight: Concepts and Examples
Operational Insight: Concepts and ExamplesOperational Insight: Concepts and Examples
Operational Insight: Concepts and Examples
 
Cloud Security At Netflix, October 2013
Cloud Security At Netflix, October 2013Cloud Security At Netflix, October 2013
Cloud Security At Netflix, October 2013
 
Gluecon keynote
Gluecon keynoteGluecon keynote
Gluecon keynote
 
Keeping Movies Running Amid Thunderstorms!
Keeping Movies Running Amid Thunderstorms!Keeping Movies Running Amid Thunderstorms!
Keeping Movies Running Amid Thunderstorms!
 
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial IntroductionGluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
 
SV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformSV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source Platform
 
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
 
Anomaly Detection for Security
Anomaly Detection for SecurityAnomaly Detection for Security
Anomaly Detection for Security
 
Traffic anomaly detection and attack
Traffic anomaly detection and attackTraffic anomaly detection and attack
Traffic anomaly detection and attack
 
The Dark of Building an Production Incident Syste
The Dark of Building an Production Incident SysteThe Dark of Building an Production Incident Syste
The Dark of Building an Production Incident Syste
 
Cassandra Performance and Scalability on AWS
Cassandra Performance and Scalability on AWSCassandra Performance and Scalability on AWS
Cassandra Performance and Scalability on AWS
 
Anomaly Detection for Real-World Systems
Anomaly Detection for Real-World SystemsAnomaly Detection for Real-World Systems
Anomaly Detection for Real-World Systems
 
Where is Data Going? - RMDC Keynote
Where is Data Going? - RMDC KeynoteWhere is Data Going? - RMDC Keynote
Where is Data Going? - RMDC Keynote
 
Parallel Programming in Python: Speeding up your analysis
Parallel Programming in Python: Speeding up your analysisParallel Programming in Python: Speeding up your analysis
Parallel Programming in Python: Speeding up your analysis
 
The Dark Art of Production Alerting
The Dark Art of Production AlertingThe Dark Art of Production Alerting
The Dark Art of Production Alerting
 
Monitoring without alerts
Monitoring without alertsMonitoring without alerts
Monitoring without alerts
 
Monitoring large scale Docker production environments
Monitoring large scale Docker production environmentsMonitoring large scale Docker production environments
Monitoring large scale Docker production environments
 

Similar to Python Through the Back Door: Netflix Presentation at CodeMash 2014

Cloud: From Unmanned Data Center to Algorithmic Economy using Openstack
Cloud: From Unmanned Data Center to Algorithmic Economy using OpenstackCloud: From Unmanned Data Center to Algorithmic Economy using Openstack
Cloud: From Unmanned Data Center to Algorithmic Economy using OpenstackAndrew Yongjoon Kong
 
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...Lucidworks
 
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterChirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterJohn Adams
 
ClickHouse Analytical DBMS. Introduction and usage, by Alexander Zaitsev
ClickHouse Analytical DBMS. Introduction and usage, by Alexander ZaitsevClickHouse Analytical DBMS. Introduction and usage, by Alexander Zaitsev
ClickHouse Analytical DBMS. Introduction and usage, by Alexander ZaitsevAltinity Ltd
 
AOL - Ian Holsman - Hadoop World 2010
AOL - Ian Holsman - Hadoop World 2010AOL - Ian Holsman - Hadoop World 2010
AOL - Ian Holsman - Hadoop World 2010Cloudera, Inc.
 
Check Point Big Data Forum m3
Check Point Big Data Forum m3Check Point Big Data Forum m3
Check Point Big Data Forum m3Alex Fok
 
Hacklu2011 tricaud
Hacklu2011 tricaudHacklu2011 tricaud
Hacklu2011 tricaudstricaud
 
Capacity Planning for fun & profit
Capacity Planning for fun & profitCapacity Planning for fun & profit
Capacity Planning for fun & profitRodrigo Campos
 
The Land Sharks are on the Squawk Box (Where Did Postgres Come From?)
The Land Sharks are on the Squawk Box (Where Did Postgres Come From?)The Land Sharks are on the Squawk Box (Where Did Postgres Come From?)
The Land Sharks are on the Squawk Box (Where Did Postgres Come From?)EDB
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nlbartzon
 
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...RightScale
 
Introduction to Neo4j and .Net
Introduction to Neo4j and .NetIntroduction to Neo4j and .Net
Introduction to Neo4j and .NetNeo4j
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nltieleman
 
The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...Eric Reiche
 
Forcelandia 2016 PK Chunking
Forcelandia 2016 PK ChunkingForcelandia 2016 PK Chunking
Forcelandia 2016 PK ChunkingDaniel Peter
 
MySQL Performance Monitoring
MySQL Performance MonitoringMySQL Performance Monitoring
MySQL Performance Monitoringspil-engineering
 
IoT Workshop Nashville
IoT Workshop NashvilleIoT Workshop Nashville
IoT Workshop NashvilleMike Branstein
 
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...Amazon Web Services
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudyJohn Adams
 
Ben Coverston - The Apache Cassandra Project
Ben Coverston - The Apache Cassandra ProjectBen Coverston - The Apache Cassandra Project
Ben Coverston - The Apache Cassandra ProjectMorningstar Tech Talks
 

Similar to Python Through the Back Door: Netflix Presentation at CodeMash 2014 (20)

Cloud: From Unmanned Data Center to Algorithmic Economy using Openstack
Cloud: From Unmanned Data Center to Algorithmic Economy using OpenstackCloud: From Unmanned Data Center to Algorithmic Economy using Openstack
Cloud: From Unmanned Data Center to Algorithmic Economy using Openstack
 
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
 
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterChirp 2010: Scaling Twitter
Chirp 2010: Scaling Twitter
 
ClickHouse Analytical DBMS. Introduction and usage, by Alexander Zaitsev
ClickHouse Analytical DBMS. Introduction and usage, by Alexander ZaitsevClickHouse Analytical DBMS. Introduction and usage, by Alexander Zaitsev
ClickHouse Analytical DBMS. Introduction and usage, by Alexander Zaitsev
 
AOL - Ian Holsman - Hadoop World 2010
AOL - Ian Holsman - Hadoop World 2010AOL - Ian Holsman - Hadoop World 2010
AOL - Ian Holsman - Hadoop World 2010
 
Check Point Big Data Forum m3
Check Point Big Data Forum m3Check Point Big Data Forum m3
Check Point Big Data Forum m3
 
Hacklu2011 tricaud
Hacklu2011 tricaudHacklu2011 tricaud
Hacklu2011 tricaud
 
Capacity Planning for fun & profit
Capacity Planning for fun & profitCapacity Planning for fun & profit
Capacity Planning for fun & profit
 
The Land Sharks are on the Squawk Box (Where Did Postgres Come From?)
The Land Sharks are on the Squawk Box (Where Did Postgres Come From?)The Land Sharks are on the Squawk Box (Where Did Postgres Come From?)
The Land Sharks are on the Squawk Box (Where Did Postgres Come From?)
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
 
Introduction to Neo4j and .Net
Introduction to Neo4j and .NetIntroduction to Neo4j and .Net
Introduction to Neo4j and .Net
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...
 
Forcelandia 2016 PK Chunking
Forcelandia 2016 PK ChunkingForcelandia 2016 PK Chunking
Forcelandia 2016 PK Chunking
 
MySQL Performance Monitoring
MySQL Performance MonitoringMySQL Performance Monitoring
MySQL Performance Monitoring
 
IoT Workshop Nashville
IoT Workshop NashvilleIoT Workshop Nashville
IoT Workshop Nashville
 
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
 
Ben Coverston - The Apache Cassandra Project
Ben Coverston - The Apache Cassandra ProjectBen Coverston - The Apache Cassandra Project
Ben Coverston - The Apache Cassandra Project
 

Recently uploaded

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Python Through the Back Door: Netflix Presentation at CodeMash 2014

  • 1. Python Through the Back Door ! CodeMash 2014 ! Roy Rapoport @royrapoport rsr@netflix.com www.linkedin.com/in/royrapoport
  • 2. A Word About Me • About 20 years in technology • Systems engineering, networking, software development, QA, release management • Time at Netflix: 1655 days (4y:6m:11d) • Before at Netflix: Service Delivery in the IT/Ops, troubleshooter, Builder of Python Things[tm] • Current role: Insight Engineering •Real-Time Operational Insight !2
  • 3. Problem Python People Stories We Tell • Technical Problems • Howler Monkey • Alerting • Python As a First-Class Language • Culture and People !3
  • 4. People “Netflix Company Profile Now via self service* Go to your favorite Python REPL and type the following: import re, requests! content = requests.get(“http://ir.netflix.com").content! content = content.replace(“ ", " ")! p = re.compile(r”.*over (d+) .*in (d+)”, re.S)! m = re.match(p, content)! print "Netflix is the world's leading Internet ! subscription service for enjoying TV and movies, ! with more than {} million subscribers in {} ! countries.”.format(m.group(1), m.group(2))! *No whining. Remember that you’ll never again need to wait for me to update this slide like you had to wait for database access when you started your last job.” - Jay Zarfoss, http://www.slideshare.net/zarfide !4
  • 5. People Design Your Culture for Desired Outcomes 1. Speed of innovation! 2. Availability! 3. Cost !5
  • 6. People Design For What’s Important Freedom and Responsibility! Hire Smart Experienced People! Set them Loose! Watch Magic Happen !6
  • 9. People Policies (How They Usually Work) 11/27/2006 “Sorry, but the standard monitor...is the HP 17 flat panel. I actually told a director last week that they couldn't have a 19 for a new office so I am not picking on just you.” 9
  • 10. People Policies (How They Usually Work) ! 6/18/2007 “There is a request for quantity 2 17” flat panels. We have received direction from the CIO that no one will have more than 1 flat panel monitor. I just wanted to let you know that there will only be one monitor ordered ... The 17” is our only standard except for Legal.” 10
  • 11. People Policies (How They Usually Work) •Prescriptive •Inflexible •Determined by others •Slow to change 11
  • 13. People Policies @nflx ! 01/30/2013, 15:22 PST I'd like to request a 15” MBP w/ Retina Display. I don't know how much you guys care about CPU specs -- it looks like the bump from 2.3GHz to 2.6GHz is reasonably priced at only about $100, so if it works for you that'd be nice. 16GB RAM and at least 512GB drive. ! 01/31/2013 12:00 PST: “Forwarded to IT Purchasing to provide a quote to Roy for the requested configuration.” 13:33 PST: “Requesting quote from vendor” 15:32 PST: “Attached is the quote, please approve and I’ll place order” 15:46 PST: “Thanks for the rapid response. Please order.” 15:52 PST: “Ordered. PO #...” 13
  • 15. Problem The Before Time Dozens of SSL Certificates Decentralized Kept Expiring Hilarity would ensue Amazon Resources “No Preset Limit” You know when you hit it Hilarity would ensue 15
  • 16. Python The Before Time • Well-developed Developer Ecosystem • • DB Client • Credentials Management • Memory Object Cache • Server Infrastructure • • Discovery Telemetry You wanted that for Java, right? 16
  • 17. The Before Time • Just moved from IT/Ops • Problem Python Formally tasked with SSL cert issue as quarterly goal • • • Limits issue “tacked” on Happily hackily Pythonic Presenter Selfie Didn’t know Java 17
  • 18. Problem Architecture 7/10/2011 Ready for beta Cassandra ELB EC2 CherryPy Filesystem Certificate IP Range Nagger DNS Domain 18
  • 19. Python Persistence • Started with SimpleDB • Then Cassandra • Drove creation of … • • • import Discovery import Cassandra And a design error !19
  • 20. Python Abstraction • “The process of separating ideas from specific instances of those ideas at work.” • Some abstraction: Good • Too much abstraction burns your tongue* • Known bug * Mixed metaphor is mixed !20
  • 23. Problem Alerting • Enterprise IT Solution • Managed by the Enterprise IT Alerting People • File Tickets • Send alerts to NOC • Completely separate from telemetry system Copyright USAID Microlinks. CC Attribution 2.0 23
  • 24. Problem Alerting • Enterprise IT Solution • Managed by the Enterprise IT Alerting People • File Tickets • Send alerts to NOC • Completely separate from telemetry system Copyright: http://www.flickr.com/photos/s_w_ellis CC Attribution 2.0 License 24
  • 25. Problem Alerting Monitoring Alerting Notification • Already had a good telemetry system • Outsourced notification to PagerDuty • No alert routing (and deduplication) 25
  • 26. People Alerting •Space crunch •New cube mate: @jedberg •One Month Deadline 26
  • 28. Python But Now We Need… • import Discovery.publish • import EVCache • import EpicMetrics • import Archaius • import Asgard.Registry • import AKMS 28
  • 29. Python AKMS? In [1]: import AKMS! In [2]: ak = AKMS.AKMS(RoyWasHere)! In [3]: ak.keys()! Out[3]: ['MLQBAYLLDIGXPBQB', ‘eMr+Mdhv+E4xD+paPCxXF+’]! In [4]: a, s = ak.keys()! In [5]: s3_object = boto.connect_s3(a, s)! In [6]: ak = AKMS.AKMS(RoyWasHere, version=2)! In [7]: ak.keys()! Out[7]: [‘yn[…]G’, ‘rV[…]bKfSUHDSA’, ‘reallyLongStringElided']! In [8]: ak.expiration! Out[8]: 1389165118! In [9]: a, s, s2 = ak.keys()! In [10]: s3_object = boto.connect_s3(a, s, security_token=s2) 29
  • 30. People So AKMS • Server more paranoid than most • Making Python library was a pain • Remember Jay? • High lateral trust • Prioritization autonomy • Never ask for permission 30
  • 31. People Lateral Trust • Humans are good game players • What are the rules? • Zero-sum games: I want you to lose • Stack ranking • Fixed bonus / raise pools 31
  • 32. People Lateral Trust @nflx • No fixed pools for anything • No ranking (at all) • Reviews != raises • Smart people generally make good decisions • Global optimization 32
  • 33. People Subordinate Trust @nflx • Focus on results • Unleash employees • Encourage disagreement • Accept dissent • Job #1: Attract and retain world-class talent 33
  • 34. People Manager Trust @nflx • Question, question, question • Drive for context, not decisions • Nobody is above questioning 34
  • 35. Python Field of Dreams • Turned out I wasn’t the only one • Striking the right balance between MVP and future growth (maybe) • And if it hadn’t … it’d still have been the right choice 35
  • 36. A Virtuous Cycle • Requirement for high impact • No process for permission • Unorthodox language choice • Lateral support for development • Increased adoption •… • Profit!* * (or at least a new standard) 36 Python People Problem
  • 37. Tell me what you think. You know you want to. http://bit.ly/netflixcmpython !37