Advertisement
Advertisement

More Related Content

Similar to Beyond DevOps - How Netflix Bridges the Gap(20)

Advertisement
Advertisement

Beyond DevOps - How Netflix Bridges the Gap

  1. Josh Evans - Director of Operations Engineering November 16, 2015 Beyond DevOps: How Netflix Bridges the Gap
  2. Technical Debt • Java 6 • Perforce • Single Master Jenkins • Ant • CentOS • Asgard/Mimir Fall 2013
  3. How do we drive broad-based change?
  4. The Paved Road • Java 7 • Stash • Jenkins Shards • Gradle • Ubuntu
  5. 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
  6. • Expectations gap – Division of labor – Timing of solutions – Leadership • Affects – Reputation – Relationships – Lost opportunities Organizational Debt
  7. How do we bridge the gap?
  8. “Remember that TIME is money…”
  9. Time is a form of currency
  10. • Product Engineering • Operations Engineering • Challenges & Strategies Our time today…
  11. • Product Engineering • Operations Engineering • Challenges & Strategies Our time today…
  12. Product Innovation winning moments of truth
  13. ● Every facet of the product ● 1400 AB tests in the last year & accelerating Continuous Innovation
  14. But wait, there’s more…
  15. Build It • design • code • build • bake • test • deploy Run It • configure • monitor • triage • fix …at scale, globally You build it, you run it
  16. 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
  17. Relentless product innovation Building & running micro- services at scale, globally
  18. • Product Engineering • Operations Engineering • Challenges & Strategies Our time today…
  19. 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
  20. Why? How?
  21. Quality Velocity Operational Excellence
  22. Operational Excellence is the continuous improvement of the management, design, and function of operational environments to achieve greater quality, velocity, and competitive advantage.
  23. • Engineering Tools • Insight & Real-time Analytics • Performance & Reliability Operations Engineering is the application of software engineering practices to achieve and sustain operational excellence.
  24. Operations Engineering • Service provider • Operational excellence driver • Cross-cutting solutions • Undifferentiated heavy lifting
  25. • Product Engineering • Operations Engineering • Challenges & Strategies Our time today…
  26. • You’re overloading us • What took you so long? Remember that feedback? • We made assumptions – Requirements – what & when – Time for non-product work
  27. • Move from assumptions to knowledge • Affect change without imposing a tax? • Achieve and sustain operational excellence? How do we…
  28. Time is a form of currency
  29. 5 strategies for success in time-based economies software & organizational engineering
  30. 1. Reach out
  31. • 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
  32. Grease the Squeaky Wheels • low tolerance for tax • more vocal than most
  33. • High impact solutions • Clarity on deliverables • Lower operational tax • Leadership, innovation, and partnership What they wanted
  34. • Deliver on solutions • Better road map definition & communication • A more aggressive stance on automation • Deeper investment into leadership, innovation, planning Our commitments
  35. 2. Make an impact • Apply what you’ve learned • Deliver what matters
  36. • global cloud console • end to end delivery • automation platform • velocity with confidence
  37. Pipelines - Automated Global Delivery
  38. 3. Make it easy to do the right thing
  39. • Engineering time is scarce • We must do more heavy lifting Supply & Demand
  40. • Spinnaker manual step • Automated migrations – Mimir Provide on-ramps
  41. Automate proven practices
  42. • 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?
  43. • 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?
  44. Old Version (v1.0) New Version (v1.1) Load BalancerCustomers 100 Servers 5 Servers 95% 5% Metrics Canaries
  45. Old Version (v1.0) New Version (v1.1) Load BalancerCustomers 0 Servers 100 Servers 100% Metrics Canaries
  46. Define • Metrics • A threshold Every n minutes ● Classify metrics ● Compute score ● Make a decision Automated Canary Analysis
  47. Canary Analysis Performance Integration Tests Chaos Conformity Static Unit Tests Make it easy to do the right thing Static & Functional Testing
  48. 4. Reduce the cost of change
  49. • Ongoing migrations • Library propagation • 100s of micro-services • Complex dependencies Continuous, Broad-based Change
  50. Change Engineering • Locate • Communicate • Facilitate
  51. • Automated forensics – Who last touched x? – What team? – Who was their manager? Who owns this artifact, repository, service?
  52. Whitepages • Workday wrapper • App & REST API • Organization hierarchy • Metadata • Change log (###) ###-####
  53. 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" } } }
  54. /api/employees?q=jevans "employees": [ { "id": "241", "firstName": "Josh", "lastName": "Evans", "username": "jevans", "email": "jevans@netflix.com", "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" } } } ] }
  55. • Security vulnerabilities – Who owns this service? • Platform updates – Who is using this version of this library? Today – Targeted Coordination
  56. Automated, efficient technical project management • Communication • Guidance • Tracking Low tax for TPMs & engineers Security Fix Guava Future – Change Campaigns
  57. 5. Develop Partnerships Beyond supply & demand
  58. • Nearing completion • Aggressive schedule • Unexpected delays • Commitment to June delivery Spinnaker 1.0 – 1H 2015
  59. • Built their own continuous delivery solution • Not positioned for engineering-wide support • Believes common solutions Edge Engineering
  60. Partnership in Action • Strong relationship • Open discussions about concerns • Decision - leaned forward • +2 engineers on Spinnaker • Successful 1.0 launch
  61. Moving Forward Together • Containers? • Achieving alignment • Collaborative exploration – Edge, Platform, Operations – A new paved road?
  62. • Paved Road adopted – Adding new ones • Production Ready ongoing • Migrations easier • Reputation improving • Improved – Service uptime – Rate of change Payoffs
  63. Putting it to the test in 2016 • Streaming production & test - EC2 Classic to VPC • Highly cross-functional • Complex dependencies • Zero downtime Stay tuned…
  64. 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
  65. Open Sourced! https://netflix.github.io/
  66. Josh Evans jevans@netflix.com @ops_engineering Questions?

Editor's Notes

  1. Java 6 – needed to move forward on Java but struggled to drive adoption Perforce – many teams moving to Git – no story for supporting perforce in the cloud Jenkins – long queues & build times Ant – long build times, inefficient dependency management CentOS – slow delivery of new kernel and userland binaries Asgard served us well as a deployment & cloud management Mimir gave a great prototype and we learned a lot Tech debt kept us from doing our jobs well
  2. Does this sound familiar? Have any of you been on one side or the other of this situation?
  3. To move forward we defined the concept of the paved road The paved road promises a well supported integrated developer experience. Java 7 – just to move forward – Java 8 already on the horizon Git – organically adopted by many teams Gradle – built time reduced due to efficient dependency management Ubuntu – more frequent, well vetted userland binarie & kernels Jenkins shards to fix long build times Started building our next generation cloud console & continuous delivery platform Spinnaker We staffed up and went for it – big bang
  4. Read to the audience: He that can earn ten shillings a day by his labour, and goes abroad, or sits idle one half of that day, tho' he spends but sixpence during his diversion or idleness, ought not to reckon that the only expense; he has really spent or rather thrown away five shillings besides. - Advice to a Young Tradesman
  5. Please raise you hand if you know which puritanical workaholic wrote this? In addition to the obvious intent behind this there is a more profound message. Time spent working is related to the money you make but time is also in and of itself a form of currency. It’s the exchange or giving of time that drives the economics of an engineering organization
  6. Netflix has a freedom & responsibility culture. You build it you run it perfectly aligns with our values around autonomy & ownership
  7. This leads a high pressure situation created a shortage of time.
  8. Read definition out loud Out of curiosity – who agrees with this definition? Who disagrees? Not only is there disagreement but the general construct isn’t really that helpful
  9. It doesn’t address how to bridge the gap or why it matters to do so? What’s are the strategies for success? It’s the practices, tools, culture Motivations the reason for doing DevOps is to achieve operational excellence
  10. We do the undifferentiated heavy lifting for out customers. This means we take on the operationally oriented common engineering work across teams so that each team can focus on their core charter.
  11. We do the undifferentiated heavy lifting for out customers. This means we take on the operationally oriented common engineering work across teams so that each team can focus on their core charter.
  12. Going back to our Ben Franklin quote – time is a form of currency. In our engineering world time really is currency. We don’t pay each other to do work. We commit time to projects. In other words we have a time-based economy.
  13. Audience – can anyone name one of the strategies?
  14. Stop spamming us!
  15. Audience – can anyone name one of the strategies? A free chaos monkey for good ones
  16. \
  17. There are several approaches that you might take to solve for this problem. I’ll explore each one.
  18. And once you’ve proven that you can deliver you have some money in the bank. You have earned a seat at the table. Now you’re ready to build strong partnerships.
Advertisement