beyond devops: how netflix bridges the gap · beyond devops: how netflix bridges the gap ....

70
Josh Evans - Director of Operations Engineering November 16, 2015 Beyond DevOps: How Netflix Bridges the Gap

Upload: truongcong

Post on 01-May-2018

242 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Josh Evans - Director of Operations Engineering

November 16, 2015

Beyond DevOps: How Netflix Bridges the Gap

Page 2: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Technical Debt • Java 6 • Perforce • Single Master Jenkins • Ant • CentOS • Asgard/Mimir

Fall 2013

Page 3: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

How do we drive broad-based change?

Page 4: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

The Paved Road • Java 7 • Stash • Jenkins Shards • Gradle • Ubuntu

Page 5: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Some said

• You’re overloading us

• Too many projects

• Poor targeting

Others said

• What took you so long?

• We’ve moved on

• Now we need to migrate

That’s great but…

We’re paying a high tax

Page 6: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Expectations gap

– Division of labor

– Timing of solutions

– Leadership

• Affects

– Reputation

– Relationships

– Lost opportunities

Organizational Debt

Page 7: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

How do we bridge the gap?

Page 8: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

“Remember that TIME is money…”

Page 9: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Time is a form of currency

Page 10: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Product Engineering

• Operations Engineering

• Challenges & Strategies

Our time today…

Page 11: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Product Engineering • Operations Engineering

• Challenges & Strategies

Our time today…

Page 12: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Product Innovation

winning moments of truth

Page 13: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates
Page 14: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates
Page 15: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

● Every facet of the product ● 1400 AB tests in the last year & accelerating

Continuous Innovation

Page 16: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

But wait, there’s more…

Page 17: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Build It • design • code • build • bake • test • deploy

Run It • configure • monitor • triage • fix

…at scale, globally

You build it, you run it

Page 18: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Internet

• 1000s of starts per second • 100,000s of requests per second • 100,000,000 hours of content / day

• 3 AWS Regions, 3 AZs per region

Page 19: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Relentless product innovation

Building & running micro-services at scale, globally

Page 20: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Product Engineering

• Operations Engineering • Challenges & Strategies

Our time today…

Page 21: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

DevOps is a software development method that emphasizes the roles of both software developers and other information-technology (IT) professionals with an emphasis on IT Operations. - Wikipedia

The Gap

Page 22: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Why? How?

Page 23: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Quality Velocity

Operational Excellence

Page 24: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Operational Excellence is the continuous improvement of the management, design, and function of operational environments to achieve greater quality, velocity, and competitive advantage.

Page 25: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Engineering Tools • Insight & Real-time Analytics • Performance & Reliability

Operations Engineering is the application of software engineering practices to achieve and sustain operational excellence.

Page 26: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Operations Engineering

• Service provider • Operational excellence driver • Cross-cutting solutions • Undifferentiated heavy lifting

Page 27: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Product Engineering

• Operations Engineering

• Challenges & Strategies

Our time today…

Page 28: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• You’re overloading us

• What took you so long?

Remember that feedback?

• We made assumptions – Requirements – what & when

– Time for non-product work

Page 29: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Move from assumptions to knowledge

• Affect change without imposing a tax?

• Achieve and sustain operational excellence?

How do we…

Page 30: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Time is a form of currency

Page 31: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

5 strategies for success in time-based economies

software & organizational engineering

Page 32: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

1. Reach out

Page 33: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• What are your biggest operational pain points?

• How can we help?

• How well are we meeting your needs today?

• What would you like to see from us in the future?

Listen

Shower, rinse, repeat

Talk to your engineering customers

Page 34: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Grease the Squeaky Wheels

• low tolerance for tax

• more vocal than most

Page 35: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• High impact solutions

• Clarity on deliverables

• Lower operational tax

• Leadership, innovation, and partnership

What they wanted

Page 36: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Deliver on solutions

• Better road map definition & communication

• A more aggressive stance on automation

• Deeper investment into leadership, innovation, planning

Our commitments

Page 37: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

2. Make an impact

• Apply what you’ve learned

• Deliver what matters

Page 38: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• global cloud console • end to end delivery • automation platform • velocity with confidence

Page 39: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates
Page 40: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Pipelines - Automated Global Delivery

Page 41: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates
Page 42: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

3. Make it easy to do the right thing

Page 43: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Engineering time is scarce

• We must do more heavy lifting

Supply & Demand

Page 44: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Spinnaker manual step

• Automated migrations – Mimir

Provide on-ramps

Page 45: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Automate proven practices

Page 46: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Alerting and Monitoring • Apache & Tomcat Hardening • Automated Canary Analysis • Autoscaling • Chaos Participation • Consistent Naming • ELB Configuration • Healthcheck Configured • Red-Black Pipeline • Squeeze Testing • Timeout & Fallback Tuning • Workload Reliability

Production Ready?

Page 47: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Alerting and Monitoring • Apache & Tomcat Hardening

• Automated Canary Analysis • Autoscaling • Chaos Participation • Consistent Naming • ELB Configuration • Healthcheck Configured • Red-Black Pipeline • Squeeze Testing • Timeout & Fallback Tuning • Workload Reliability

Production Ready?

Page 48: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Old Version (v1.0)

New Version

(v1.1)

Load Balancer Customers

100 Servers

5 Servers

95%

5%

Metrics

Canaries

Page 49: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Old Version (v1.0)

New Version

(v1.1)

Load Balancer Customers

0 Servers

100 Servers

100%

Metrics

Canaries

Page 50: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Define • Metrics • A threshold

Every n minutes ● Classify metrics

● Compute score

● Make a decision

Automated Canary Analysis

Page 51: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Canary Analysis

Performance

Integration Tests

Chaos

Conformity

Static

Unit Tests

Make it easy to do the right thing

Static & Functional Testing

Page 52: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

4. Reduce the cost of change

Page 53: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Ongoing migrations

• Library propagation

• 100s of micro-services

• Complex dependencies

Continuous, Broad-based Change

Page 54: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Change Engineering

• Locate

• Communicate

• Facilitate

Page 55: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Automated forensics

– Who last touched x?

– What team?

– Who was their manager?

Who owns this artifact, repository, service?

Page 56: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Whitepages

• Workday wrapper • App & REST API

• Organization hierarchy

• Metadata

• Change log

(###) ###-####

Page 57: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Krieger

• REST-based service

• Sources – Whitepages

– Stash

– Edda

– Jenkins

– Spinnaker

– Etc…

{

"content": {},

"_links": {

"employees": {

"href": "/api/employees/"

},

"projects": {

"href": "/api/projects/"

},

"teams": {

"href": "/api/teams/"

},

"applications": {

"href": "/api/applications/"

},

"jobs": {

"href": "/api/build/jobs"

},

"masters": {

"href": "/api/build/masters"

},

"projectDistribution": {

"href": "/api/teams/projectDistribution"

}

}

}

Page 58: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

/api/employees?q=jevans

"employees": [

{

"id": "241",

"firstName": "Josh",

"lastName": "Evans",

"username": "jevans",

"email": "[email protected]",

"jobTitle": "Director of Operations Engineering",

"isManager": true,

"isCurrent": true,

"title": "Josh Evans (jevans) - Operations Engineering",

"_links": {

"self": {

"href": "/api/employees/241"

},

"manager": {

"href": "/api/employees/117890"

},

"team": {

"href": "/api/teams/f9134a81"

},

"projects": {

"href": "/api/teams/f9134a81/projects"

}

}

}

]

}

Page 59: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Security vulnerabilities

– Who owns this service?

• Platform updates

– Who is using this version of this library?

Today – Targeted Coordination

Page 60: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Automated, efficient technical project management • Communication • Guidance • Tracking

Low tax for TPMs & engineers

Security Fix Guava

Future – Change Campaigns

Page 61: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

5. Develop Partnerships

Beyond supply & demand

Page 62: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Nearing completion

• Aggressive schedule

• Unexpected delays

• Commitment to June delivery

Spinnaker 1.0 – 1H 2015

Page 63: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Built their own continuous delivery solution

• Not positioned for engineering-wide support

• Believes common solutions

Edge Engineering

Page 64: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Partnership in Action

• Strong relationship

• Open discussions about concerns

• Decision - leaned forward

• +2 engineers on Spinnaker

• Successful 1.0 launch

Page 65: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Moving Forward Together

• Containers?

• Achieving alignment

• Collaborative exploration – Edge, Platform, Operations

– A new paved road?

Page 66: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

• Paved Road adopted – Adding new ones

• Production Ready ongoing

• Migrations easier

• Reputation improving

• Improved – Service uptime

– Rate of change

Payoffs

Page 67: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Putting it to the test in 2016

• Streaming production & test - EC2 Classic to VPC

• Highly cross-functional

• Complex dependencies

• Zero downtime

Stay tuned…

Page 68: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Five Strategies

1. Reach out 2. Make an impact 3. Make it easy to do the right thing 4. Reduce the cost of change 5. Develop partnerships

Page 69: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Open Sourced!

https://netflix.github.io/

Page 70: Beyond DevOps: How Netflix Bridges the Gap · Beyond DevOps: How Netflix Bridges the Gap . Technical Debt ... Every facet of the product ... •Platform updates

Josh Evans [email protected] @ops_engineering

Questions?