speed and scale how to get there
play

Speed and Scale: How to get there. Adrian Cockcroft @adrianco May - PowerPoint PPT Presentation

Speed and Scale: How to get there. Adrian Cockcroft @adrianco May 2014 # | Battery Ventures Typical reactions to my Netflix talks What Netflix is doing You guys are wont work crazy! Cant 2010 It only works for


  1. Speed and Scale: How to get there. Adrian Cockcroft @adrianco May 2014

  2. ‹#› | Battery Ventures

  3. Typical reactions to my Netflix talks … “What Netflix is doing “You guys are won’t work” crazy! Can’t – 2010 It only works for believe it” ‘Unicorns’ like – 2009 Netflix” – 2011 “We’d like to do 
 “We’re on our way using that but can’t” Netflix OSS code” – 2012 – 2013 ‹#› | Battery Ventures

  4. What I learned from my time at Netflix ● Speed wins in the marketplace ● Remove friction from product development ● High trust, low process, no hand-offs between teams ● Freedom and responsibility culture ● Don’t do your own undifferentiated heavy lifting ● Use simple patterns automated by tooling ● Self service cloud makes impossible things instant ‹#› | Battery Ventures

  5. Enterprise IT Adoption of Cloud Now %*&!” By Simon Wardley http://enterpriseitadoption.com/ ‹#› | Battery Ventures

  6. Speed ‹#› | Battery Ventures

  7. Innovation ‹#› | Battery Ventures

  8. New ideas ‹#› | Battery Ventures

  9. New products ‹#› | Battery Ventures

  10. What separates incumbents from disruptors? ‹#› | Battery Ventures

  11. Assumptions ‹#› | Battery Ventures

  12. Optimizations ‹#› | Battery Ventures

  13. “It isn't what we don't know that gives us trouble, it's what we know that ain't so.” � Will Rogers http://www.brainyquote.com/quotes/quotes/w/willrogers385286.html ‹#› | Battery Ventures

  14. Incumbents follow the $$$ Market size lags disruption because high price products are replaced by low priced products ‹#› | Battery Ventures

  15. Disruptors find what used to be expensive ‹#› | Battery Ventures

  16. Learn to waste them to save money elsewhere ‹#› | Battery Ventures

  17. Examples ‹#› | Battery Ventures

  18. Solid State Disk Example ‹#› | Battery Ventures

  19. Storage systems assume random reads are expensive Decades of filesystems and storage array development based on spinning rust ‹#› | Battery Ventures

  20. RR is free Immutable writes Log-merge SSD works best for random reads and sequential writes. Bad for updates. ‹#› | Battery Ventures

  21. SSD packaging as disk, as PCI card now as memory DIMM Each generation reduces overhead and improves price/performance ‹#› | Battery Ventures

  22. Disclosure: Diablo Technologies is a Battery Ventures Portfolio Company See www.battery.com for a list of portfolio investments ‹#› | Battery Ventures

  23. Traditional vs. Cloud Native Storage Architectures Business Business Logic Logic Database Database Cassandra Cassandra Cassandra Master Slave Zone A nodes Zone B nodes Zone C nodes SSDs inside Fabric Fabric SSDs inside ephemeral arrays disrupt instances incumbent disrupt an Storage Storage Cloud Object suppliers entire industry Arrays Arrays Store Backups ‹#› | Battery Ventures

  24. How to Scale Storage Beyond Ludicrous ● Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used ● Cassandra scale using high end AWS storage instances ● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD ● 100 nodes = 30 million iops and 640 TB - Ludicrous ● 1000 nodes = 300 million iops and 6.4 PB - Plaid! http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html ‹#› | Battery Ventures

  25. Disruptor Cassandra Perfect match for SSD, no write amplification, no updates, scales to plaid ‹#› | Battery Ventures

  26. Product Development Another disruptive example ‹#› | Battery Ventures

  27. Assumption: Process prevents problems Another disruptive example ‹#› | Battery Ventures

  28. Non-Cloud Product Development Business Approval IaaS Hardware Software Deployment and Customer Need Process Purchase Development Testing Feedback • Documents • Meetings Cloud • Negotiations • Specifications • Reports • It sucks! • Weeks • Weeks • Weeks • Weeks • Weeks • Weeks Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS Months before you find out whether the product meets the need ‹#› | Battery Ventures

  29. Process Hand-Off Steps for Product Development on IaaS Product Manager Development Team QA Integration Team Operations Deploy Team BI Analytics Team ‹#› | Battery Ventures

  30. IaaS Based Product Development etc … Business Need Software Development Deployment and Testing Customer Feedback PaaS • Documents • Specifications • Reports • It sucks! • Weeks • Weeks • Days Cloud • Days Software provisioning is undifferentiated heavy lifting – replace it with PaaS Weeks before you find out whether the product meets the need ‹#› | Battery Ventures

  31. Process Hand-Off Steps for Feature Development on PaaS Product Manager Developer BI Analytics Team ‹#› | Battery Ventures

  32. PaaS Based Product Feature Development etc … SaaS/ Business Need Software Development Customer Feedback • Discussions • Code • Fix this Bit! BPaaS • Days • Days • Hours Cloud Building your own business apps is undifferentiated heavy lifting – use SaaS Days before you find out whether the feature meets the need ‹#› | Battery Ventures

  33. SaaS Based Business App Development and thousands more … Business Need Customer Feedback •GUI Builder •Fix this bit! •Hours •Seconds Hours before you find out whether the feature meets the need ‹#› | Battery Ventures

  34. What Happened? Rate of change increased Cost and size and risk of change reduced ‹#› | Battery Ventures

  35. INNOVATION Land grab opportunity Competitive Move Measure Customer Pain Observe Customers Launch AB Point Test Analysis Automatic Continuous Deploy Delivery on Act Orient BIG DATA Cloud Model Incremental Hypotheses CLOUD Features Plan Decide Response Share Plans JFDI CULTURE ‹#› | Battery Ventures

  36. Note: Non-Destructive Production Updates ● “Immutable Code” Service Pattern ● Existing services are unchanged, old code remains in service ● New code deploys as a new service group ● No impact to production until traffic routing changes ● A|B Tests, Feature Flags and Version Routing control traffic ● First users in the test cell are the developer and test engineers ● A cohort of users is added looking for measurable improvement ● Finally make default for everyone, keeping old code for a while ‹#› | Battery Ventures

  37. Disruptor Continuous Delivery Compute capacity is an ephemeral commodity, learn to waste it to save time and get agility ‹#› | Battery Ventures

  38. Development and Operations Another disruptive example, if you assume they don’t mix … ‹#› | Battery Ventures

  39. Developers make code ‹#› | Battery Ventures

  40. Operations run code ‹#› | Battery Ventures

  41. It can take weeks to get a VM after a developer files a ticket … ‹#› | Battery Ventures

  42. But if operations is a self service API … ‹#› | Battery Ventures

  43. Developers run their own code ‹#› | Battery Ventures

  44. Developers are on call ‹#› | Battery Ventures

  45. Developers have freedom ‹#› | Battery Ventures

  46. Developers have incentives to be responsible Avoids the externalities of over-dependence on operations to fix everything ‹#› | Battery Ventures

  47. Less down time With the right incentives and tooling developers write code that scales and doesn't break ‹#› | Battery Ventures

  48. No meetings Developers end up spending more time developing than when they had to keep explaining their code to ops ‹#› | Battery Ventures

  49. DevOps is a re-org, not a new team to hire For most companies, the cultural transformation needed to do DevOps is the blocker ‹#› | Battery Ventures

  50. Disruptor High Trust Culture DevOps Give up central coordination and control, to get speed and align incentives ‹#› | Battery Ventures

  51. It’s what you know that isn’t so … ● Make your assumptions explicit ● Extrapolate trends to the limit ● Listen to non-customers ● Follow developer adoption, not IT spend ● Map evolution of products to services to utilities ● Re-organize your teams for speed of execution ‹#› | Battery Ventures

  52. How do we get there? ‹#› | Battery Ventures

  53. "This is the IT swamp draining manual for anyone who is neck deep in alligators.” ‹#› | Battery Ventures

  54. Once you’re out of the swamp, read this … ‹#› | Battery Ventures

  55. Open Source Ecosystems ● The most advanced, scalable and stable code you can get is OSS ● No procurement cycle, fix and extend it yourself ● Github is a developer’s online resume ● Github is also your company’s online resume! ● Extensible platforms create ecosystems ● Give up control to get ubiquity – Apache license � Innovate, Leverage and Commoditize ‹#› | Battery Ventures

Recommend


More recommend