velocity and volume or speed wins
play

Velocity and Volume (or Speed Wins) Flowcon November 2013 - PowerPoint PPT Presentation

Velocity and Volume (or Speed Wins) Flowcon November 2013 Adrian CockcroB @adrianco @NeDlixOSS hHp://www.linkedin.com/in/adriancockcroB "This is the IT swamp


  1. Velocity ¡and ¡Volume ¡ (or ¡Speed ¡Wins) ¡ Flowcon ¡November ¡2013 ¡ Adrian ¡CockcroB ¡ @adrianco ¡@NeDlixOSS ¡ hHp://www.linkedin.com/in/adriancockcroB ¡

  2. "This ¡is ¡the ¡IT ¡swamp ¡draining ¡manual ¡for ¡anyone ¡who ¡is ¡neck ¡deep ¡in ¡alligators." ¡ -­‑ ¡Adrian ¡Cockcro-, ¡Cloud ¡Architect ¡at ¡Ne5lix ¡

  3. Web-­‑scale ¡ Cloud ¡ Commodity ¡ Client-­‑Server ¡ Mainframe ¡

  4. Goal ¡of ¡TradiQonal ¡IT: ¡ Reliable ¡hardware ¡ running ¡stable ¡soBware ¡ ¡

  5. SCALE ¡ Breaks ¡hardware ¡

  6. ….SPEED ¡ Breaks ¡soBware ¡

  7. SPEED ¡ at ¡ SCALE ¡ Breaks ¡everything ¡

  8. Incidents ¡– ¡Impact ¡and ¡MiQgaQon ¡ Y ¡incidents ¡miQgated ¡by ¡AcQve ¡ Public ¡RelaQons ¡ AcQve, ¡game ¡day ¡pracQcing ¡ Media ¡ ¡Impact ¡ PR ¡ X ¡Incidents ¡ YY ¡incidents ¡ miQgated ¡by ¡ High ¡Customer ¡ beHer ¡tools ¡and ¡ Service ¡Calls ¡ CS ¡ pracQces ¡ XX ¡Incidents ¡ Affects ¡AB ¡ YYY ¡incidents ¡ Test ¡Results ¡ miQgated ¡by ¡beHer ¡ Metrics ¡impact ¡– ¡Feature ¡disable ¡ data ¡tagging ¡ XXX ¡Incidents ¡ No ¡Impact ¡– ¡fast ¡retry ¡or ¡automated ¡failover ¡ XXXX ¡Incidents ¡

  9. Web ¡Scale ¡Architecture ¡ AWS ¡ DynECT ¡ DNS ¡ Route53 ¡ UltraDNS ¡ DNS ¡ AutomaQon ¡ Regional ¡Load ¡Balancers ¡ Regional ¡Load ¡Balancers ¡ Zone ¡A ¡ Zone ¡B ¡ Zone ¡C ¡ Zone ¡A ¡ Zone ¡B ¡ Zone ¡C ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡

  10. CIO ¡Says ¡Speed ¡IT ¡Up! ¡ ¡

  11. “Get ¡inside ¡your ¡adversaries' ¡ OODA ¡loop ¡to ¡disorient ¡them” ¡ Colonel ¡Boyd, ¡USAF ¡

  12. Land ¡grab ¡ opportunity ¡ CompeQQve ¡ Move ¡ Measure ¡ Observe ¡ Customer ¡ Customers ¡ Engage ¡ Pain ¡Point ¡ customers ¡ Analysis ¡ Colonel ¡Boyd, ¡ USAF ¡ Deliver ¡ Act ¡ “Get ¡inside ¡your ¡ Orient ¡ adversaries' ¡ OODA ¡loop ¡to ¡ disorient ¡them” ¡ Model ¡ Implement ¡ Hypotheses ¡ Plan ¡ Decide ¡ Response ¡ Commit ¡ Resources ¡ Get ¡Buy-­‑in ¡

  13. Territory ¡ Expansion ¡ Foreign ¡ CompeQQon ¡ Measure ¡ Observe ¡ Customer ¡ Revenue ¡ Print ¡Ad ¡ Pain ¡Point ¡ Campaign ¡ Systems ¡ Upgrade ¡ Analysis ¡ Mainframe ¡ Mainframe ¡ Act ¡ Orient ¡ Era ¡-­‑ ¡1 ¡year ¡ cycle ¡ Capacity ¡ Customize ¡ Model ¡ Vendor ¡SW ¡ Decide ¡ 5 ¡year ¡Plan ¡ Vendor ¡ EvaluaQon ¡ Board ¡Level ¡ Buy-­‑in ¡

  14. Mainframe ¡InnovaQon ¡Cycle ¡ • Cost ¡$1M ¡to ¡$100M ¡ • DuraQon ¡1 ¡to ¡5 ¡years ¡ • Bet ¡the ¡whole ¡company ¡ • Cost ¡of ¡failure ¡– ¡bankrupt ¡or ¡bought ¡ • Cobol ¡and ¡DB2 ¡on ¡MVS ¡

  15. Territory ¡ Expansion ¡ Foreign ¡ CompeQQon ¡ Measure ¡ Observe ¡ Customer ¡ Revenue ¡ TV ¡Advert ¡ Pain ¡Point ¡ Campaign ¡ Data ¡ Install ¡ Warehouse ¡ Client/Server ¡ Servers ¡ Act ¡ Orient ¡ Era ¡– ¡3 ¡ month ¡cycle ¡ Capacity ¡ Customize ¡ EsQmate ¡ Vendor ¡SW ¡ Decide ¡ 1 ¡year ¡Plan ¡ Vendor ¡ EvaluaQon ¡ CIO ¡Level ¡ Buy-­‑in ¡

  16. Client ¡Server ¡InnovaQon ¡Cycle ¡ • Cost ¡$100K ¡to ¡$10M ¡ • DuraQon ¡3 ¡– ¡12 ¡months ¡ • Bet ¡a ¡product ¡line ¡or ¡division ¡ • Cost ¡of ¡failure ¡– ¡revenue ¡hit, ¡CIO’s ¡job ¡ • C++ ¡and ¡Oracle ¡on ¡Solaris ¡

  17. Territory ¡ Expansion ¡ CompeQQve ¡ Moves ¡ Measure ¡ Observe ¡ Customer ¡ Sales ¡ Web ¡ Pain ¡Point ¡ Display ¡Ads ¡ ¡ Data ¡ Install ¡ Warehouse ¡ Commodity ¡ Capacity ¡ Act ¡ Orient ¡ Era ¡– ¡2 ¡week ¡ agile ¡train ¡ Capacity ¡ Code ¡ EsQmate ¡ Feature ¡ 2 ¡Week ¡ Decide ¡ Plan ¡ Feature ¡ Priority ¡ Business ¡ Buy-­‑in ¡

  18. Commodity ¡Agile ¡InnovaQon ¡Cycle ¡ • Cost ¡$10K ¡to ¡$1M ¡ • DuraQon ¡2 ¡– ¡12 ¡weeks ¡ • Bet ¡a ¡product ¡feature ¡ • Cost ¡of ¡failure ¡– ¡product ¡mgr ¡reputaQon ¡ • Java ¡and ¡MySQL ¡on ¡Linux ¡

  19. Train ¡Model ¡Process ¡Hand-­‑Off ¡Steps ¡ Product ¡Manager ¡ Developer ¡ QA ¡IntegraQon ¡Team ¡ OperaQons ¡Deploy ¡Team ¡ BI ¡AnalyQcs ¡Team ¡

  20. What ¡Happened? ¡ Rate ¡of ¡change ¡ increased ¡ Cost ¡and ¡size ¡ and ¡risk ¡of ¡ change ¡reduced ¡

  21. Cloud ¡NaQve ¡ Construct ¡a ¡highly ¡agile ¡and ¡highly ¡ available ¡service ¡from ¡ephemeral ¡and ¡ assumed ¡broken ¡components ¡

  22. Real ¡Web ¡Server ¡Dependencies ¡Flow ¡ (NeDlix ¡Home ¡page ¡business ¡transacQon ¡as ¡seen ¡by ¡AppDynamics) ¡ Each ¡icon ¡is ¡ three ¡to ¡a ¡few ¡ hundred ¡ instances ¡ Cassandra ¡ across ¡three ¡ AWS ¡zones ¡ memcached ¡ Web ¡service ¡ Start ¡Here ¡ S3 ¡bucket ¡ PersonalizaQon ¡movie ¡group ¡choosers ¡ (for ¡US, ¡Canada ¡and ¡Latam) ¡

  23. ConQnuous ¡Deployment ¡ No ¡Qme ¡for ¡handoff ¡to ¡IT ¡

  24. Developer ¡Self ¡Service ¡ Freedom ¡and ¡Responsibility ¡

  25. Developers ¡run ¡what ¡ they ¡wrote ¡ Root ¡access ¡ and ¡pagerduty ¡

  26. IT ¡is ¡a ¡Cloud ¡API ¡ DEVops ¡automaQon ¡

  27. Github ¡all ¡the ¡things! ¡ Leverage ¡social ¡coding ¡

  28. Pupng ¡it ¡all ¡together… ¡

  29. Land ¡grab ¡ opportunity ¡ CompeQQve ¡ Move ¡ Measure ¡ Observe ¡ Customer ¡ Customers ¡ Launch ¡AB ¡ Pain ¡Point ¡ Test ¡ Analysis ¡ ConQnuous ¡ AutomaQc ¡ Delivery ¡on ¡ Deploy ¡ Act ¡ Orient ¡ Cloud ¡ Model ¡ Increment ¡ Hypotheses ¡ Implement ¡ Plan ¡ Decide ¡ Response ¡ Share ¡Plans ¡ JFDI ¡

  30. ConQnuous ¡InnovaQon ¡Cycle ¡ • Cost ¡near ¡zero, ¡variable ¡expense ¡ • DuraQon ¡hours ¡to ¡days ¡ • Bet ¡a ¡decoupled ¡microservice ¡code ¡push ¡ • Cost ¡of ¡failure ¡– ¡near ¡zero, ¡instant ¡rollback ¡ • Clojure/Scala/Python ¡on ¡NoSQL ¡on ¡Cloud ¡

  31. ConQnuous ¡Deploy ¡Hand-­‑Off ¡Steps ¡ Product ¡Manager ¡ A/B ¡test ¡setup ¡and ¡enable ¡ Self ¡service ¡hypothesis ¡test ¡results ¡ Developer ¡ Automated ¡test ¡ Self ¡service ¡deploy, ¡on ¡call ¡ Self ¡service ¡analyQcs ¡

  32. ConQnuous ¡Deploy ¡AutomaQon ¡ Check ¡in ¡code, ¡Jenkins ¡build ¡ Bake ¡AMI, ¡launch ¡in ¡test ¡env ¡ FuncQonal ¡and ¡performance ¡test ¡ ProducQon ¡canary ¡test ¡ ProducQon ¡red/black ¡push ¡

  33. Bad ¡Canary ¡Signature ¡

  34. Happy ¡Canary ¡Signature ¡

  35. Global ¡Deploy ¡AutomaQon ¡ ABernoon ¡in ¡California ¡ Night-­‑Qme ¡in ¡Europe ¡ If ¡passes ¡test ¡suite, ¡canary ¡then ¡deploy ¡ West ¡Coast ¡Load ¡Balancers ¡ East ¡Coast ¡Load ¡Balancers ¡ Europe ¡Load ¡Balancers ¡ Zone ¡A ¡ Zone ¡B ¡ Zone ¡C ¡ Zone ¡A ¡ Zone ¡B ¡ Zone ¡C ¡ Zone ¡A ¡ Zone ¡B ¡ Zone ¡C ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Cassandra ¡Replicas ¡ Canary ¡then ¡deploy ¡ Canary ¡then ¡deploy ¡ Next ¡day ¡on ¡West ¡Coast ¡ ABer ¡peak ¡in ¡Europe ¡ Next ¡day ¡on ¡East ¡Coast ¡

  36. InspiraQon ¡

  37. Takeaway ¡ ¡Speed ¡Wins ¡ Assume ¡Broken ¡ Cloud ¡NaDve ¡AutomaDon ¡ Github ¡is ¡your ¡“app ¡store” ¡and ¡resumé ¡ ¡ ¡ @adrianco ¡@NeDlixOSS ¡ hHp://neDlix.github.com ¡

  38. A/B ¡Test ¡Hypothesis ¡ You ¡would ¡prefer ¡the ¡Halloween ¡ Scooby ¡Doo ¡Ending ¡

  39. I’d ¡have ¡got ¡away ¡with ¡it ¡if ¡it ¡wasn’t ¡for ¡ you ¡meddlesome ¡kids! ¡

Recommend


More recommend