Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Monktoberfest Fast Delivery

7,008 views

Published on

Shortened version of the Fast Delivery talk with a few new slides added since the GOTO Aarhus version earlier in the week...

Published in: Technology

Monktoberfest Fast Delivery

  1. 1. Fast Delivery Adrian Cockcroft @adrianco Technology Fellow - Battery Ventures September 2014
  2. 2. Typical reactions to my Netflix talks…
  3. 3. Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009
  4. 4. Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009 “What Netflix is doing won’t work” – 2010
  5. 5. Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009 “What Netflix is doing won’t work” – 2010 It only works for ‘Unicorns’ like Netflix” – 2011
  6. 6. Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009 “What Netflix is doing won’t work” – 2010 It only works for ‘Unicorns’ like Netflix” – 2011 “We’d like to do that but can’t” – 2012
  7. 7. Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009 “What Netflix is doing won’t work” – 2010 It only works for ‘Unicorns’ like Netflix” – 2011 “We’d like to do that but can’t” – 2012 “We’re on our way using Netflix OSS code” – 2013
  8. 8. What I learned from my time at Netflix
  9. 9. What I learned from my time at Netflix •Speed wins in the marketplace
  10. 10. What I learned from my time at Netflix •Speed wins in the marketplace •Remove friction from product development
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. Cloud Adoption %*&!” By Simon Wardley http://enterpriseitadoption.com/
  17. 17. Cloud Adoption %*&!” 2009 By Simon Wardley http://enterpriseitadoption.com/
  18. 18. Cloud Adoption %*&!” 2009 By Simon Wardley http://enterpriseitadoption.com/
  19. 19. Cloud Adoption @adrianco’s new job at the intersection of cloud and Enterprise IT 2009 2014 %*&!” By Simon Wardley http://enterpriseitadoption.com/
  20. 20. This is the year that Enterprises finally embraced cloud.
  21. 21. What separates incumbents from disruptors?
  22. 22. “It isn't what we don't know that gives us trouble, it's what we know that ain't so.” ! Will Rogers
  23. 23. Assumptions
  24. 24. Optimizations
  25. 25. Assumption: Process prevents problems
  26. 26. Organizations build up slow complex “Scar tissue” processes
  27. 27. "This is the IT swamp draining manual for anyone who is neck deep in alligators.”
  28. 28. Product Development Processes
  29. 29. Observe Orient Act Continuous Delivery Decide
  30. 30. Land grab opportunity Competitive Observe Orient Decide Act Move Customer Pain Point Measure Customers Continuous Delivery
  31. 31. Land grab opportunity Competitive Observe Orient Decide Act Move Customer Pain Point INNOVATION Measure Customers Continuous Delivery
  32. 32. Land grab opportunity Competitive Observe Orient Decide Act Move Customer Pain Point Analysis Model Hypotheses INNOVATION Measure Customers Continuous Delivery
  33. 33. Land grab opportunity Competitive Observe Orient Decide Act Move Customer Pain Point Analysis BIG DATA Model Hypotheses INNOVATION Measure Customers Continuous Delivery
  34. 34. Land grab opportunity Competitive Observe Orient Decide Act Move Customer Pain Point Analysis BIG DATA Plan Response JFDI Share Plans Model Hypotheses INNOVATION Measure Customers Continuous Delivery
  35. 35. Land grab opportunity Competitive Observe Orient Decide Act Move Customer Pain Point Analysis BIG DATA Plan Response JFDI Share Plans Model Hypotheses INNOVATION CULTURE Measure Customers Continuous Delivery
  36. 36. Land grab opportunity Competitive Observe Orient Decide Act Move Customer Pain Point Analysis BIG DATA Plan Response JFDI Share Plans Launch AB Test Automatic Deploy Incremental Features Model Hypotheses INNOVATION CULTURE Measure Customers Continuous Delivery
  37. 37. Land grab opportunity Competitive Observe Orient Decide Measure Customers Act Move Customer Pain Point Analysis BIG DATA Plan Response JFDI Share Plans Launch AB Test Automatic Deploy Incremental Features Model Hypotheses INNOVATION CULTURE CLOUD Continuous Delivery
  38. 38. Land grab opportunity Competitive Observe Orient Decide Measure Customers Act Move Customer Pain Point Analysis BIG DATA Plan Response JFDI Share Plans Launch AB Test Automatic Deploy Incremental Features Model Hypotheses INNOVATION CULTURE CLOUD Continuous Delivery
  39. 39. Land grab opportunity Competitive Observe Orient Decide Measure Customers Act Move Customer Pain Point Analysis BIG DATA Plan Response JFDI Share Plans Launch AB Test Automatic Deploy Incremental Features Model Hypotheses INNOVATION CULTURE CLOUD Continuous Delivery
  40. 40. Breaking Down the SILOs
  41. 41. Breaking Down the SILOs Prod Mgr UX Dev QA DBA Sys Adm Adm Net Adm SAN
  42. 42. Breaking Down the SILOs Prod Mgr UX Dev QA DBA Sys Adm Adm Net Adm SAN Product Team Using Monolithic Delivery Product Team Using Monolithic Delivery
  43. 43. Breaking Down the SILOs Product Team Using Monolithic Delivery Prod UX Dev QA DBA Sys Net SAN Mgr Adm Adm Adm Product Team Using Microservices Product Team Using Monolithic Delivery Product Team Using Microservices Product Team Using Microservices
  44. 44. Breaking Down the SILOs Product Team Using Monolithic Delivery Prod UX Dev QA DBA Sys Net SAN Mgr Adm Adm Adm Product Team Using Microservices Product Team Using Monolithic Delivery Product Team Using Microservices Platform Team Product Team Using Microservices
  45. 45. Breaking Down the SILOs Product Team Using Monolithic Delivery Prod UX Dev QA DBA Sys Net SAN Mgr Adm Adm Adm Product Team Using Microservices Product Team Using Monolithic Delivery Platform Team A P I Product Team Using Microservices Product Team Using Microservices
  46. 46. Breaking Down the SILOs Product Team Using Monolithic Delivery Prod UX Dev QA DBA Sys Net SAN Mgr Adm Adm Adm Product Team Using Microservices Product Team Using Monolithic Delivery Platform Team A P I Product Team Using Microservices Product Team Using Microservices DevOps is a Re-Org
  47. 47. Release Plan Developer Developer Developer Developer Developer QA Release Integration Ops Replace Old With New Release Monolithic service updates Works well with a small number of developers and a single language like php, java or ruby
  48. 48. Release Plan Developer Developer Developer Developer Developer Monolithic service updates QA Release Integration Ops Replace Old With New Release Bugs Works well with a small number of developers and a single language like php, java or ruby
  49. 49. Release Plan Developer Developer Developer Developer Developer Monolithic service updates QA Release Integration Ops Replace Old With New Release Bugs Bugs Works well with a small number of developers and a single language like php, java or ruby
  50. 50. Developer Developer Developer Developer Developer Old Release Still Running Release Plan Release Plan Release Plan Release Plan Immutable microservice deployment is faster, scales with large teams and diverse platform components
  51. 51. Developer Developer Developer Developer Developer Immutable microservice deployment is faster, scales with large teams and diverse platform components Old Release Still Running Release Plan Release Plan Release Plan Release Plan Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production
  52. 52. Developer Developer Developer Developer Developer Immutable microservice deployment is faster, scales with large teams and diverse platform components Old Release Still Running Release Plan Release Plan Release Plan Release Plan Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Bugs
  53. 53. Developer Developer Developer Developer Developer Immutable microservice deployment is faster, scales with large teams and diverse platform components Old Release Still Running Release Plan Release Plan Release Plan Release Plan Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Bugs Deploy Feature to Production
  54. 54. 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
  55. 55. What Happened? Rate of change increased Cost and size and risk of change reduced
  56. 56. Disruptor: Continuous Delivery with Microservices
  57. 57. A Microservice Definition ! Loosely coupled service oriented architecture with bounded contexts
  58. 58. If every service has to be updated at the same time it’s not loosely coupled A Microservice Definition ! Loosely coupled service oriented architecture with bounded contexts
  59. 59. If every service has to be updated at the same time it’s not loosely coupled A Microservice Definition ! Loosely coupled service oriented architecture with bounded contexts If you have to know too much about surrounding services you don’t have a bounded context. See the Domain Driven Design book by Eric Evans.
  60. 60. Separate Concerns with Microservices ● Invert Conway’s Law – teams own service groups and backend stores ● One “verb” per single function micro-service, size doesn’t matter ● One developer independently produces a micro-service ● Each micro-service is it’s own build, avoids trunk conflicts ● Deploy in a container: Tomcat, AMI or Docker, whatever… ● Stateless business logic. Cattle, not pets. ● Stateful cached data access layer using replicated ephemeral instances http://en.wikipedia.org/wiki/Conway's_law
  61. 61. NetflixOSS - High Availability Patterns ● Business logic isolation in stateless micro-services ● Immutable code with instant rollback ● Auto-scaled capacity and deployment updates ● Distributed across availability zones and regions ● De-normalized single function NoSQL data stores ● See over 40 NetflixOSS projects at netflix.github.com ● Get “Technical Indigestion” trying to keep up with techblog.netflix.com
  62. 62. Separation of Concerns Bounded Contexts
  63. 63. Where to Start? Mobile Enterprise Mobile Apps Horizontal Team App-Store Provisioning APIs to Everyone DevOps Already…
  64. 64. Reaction from Fortune 100 CTO: “But Netflix has a superstar development team, we don’t!"
  65. 65. Reaction from Fortune 100 CTO: “But Netflix has a superstar development team, we don’t!" Adrian’s Response: “Netflix hired them from you, and got out of their way…”
  66. 66. Forward Thinking
  67. 67. Forward Thinking
  68. 68. Forward Thinking
  69. 69. Forward Thinking http://eugenedvorkin.com/seven-micro-services-architecture-advantages/
  70. 70. Any Questions? ● Battery Ventures http://www.battery.com ● Adrian’s Blog http://perfcap.blogspot.com ● Slideshare http://slideshare.com/adriancockcroft ! ● Monitorama Opening Keynote Portland OR - May 7th, 2014 - Video available ● GOTO Chicago Opening Keynote May 20th, 2014 ● Qcon New York – Speed and Scale - June 11th, 2014 - Video available ● Structure - Cloud Trends June 19th, 2014 - Video available ● GOTO Copenhagen/Aarhus – Denmark – Sept 25th, 2014 ● DevOps Enterprise Summit - San Francisco - Oct 21-23rd, 2014 ● GOTO Berlin - Germany - Nov 6th, 2014 ● AWS Re:Invent - Las Vegas - November 14th, 2014 Disclosure: some of the companies mentioned are Battery Ventures Portfolio Companies See www.battery.com for a list of portfolio investments

×