Pro Yearly is on sale from $80 to $50! »

Innovating Cloud Service Delivery at a Global Enterprise

Innovating Cloud Service Delivery at a Global Enterprise

Martin Etmajer takes you on his journey working with a global top 10 life sciences company, where he instills Agile and Lean values, and where he’s heading up the modernization of traditional infrastructure provisioning to arrive at a high-quality, compliant and fully automated hybrid cloud delivery process with their newly-established Cloud Center of Excellence. In this presentation, you’ll discover how the team has come to understand the big picture of ‘what’ they want to build and ‘why’ using a practice named User Story Mapping. He also covers why ‘starting out simple and learning what you actually need’ using a Lean composition of open source technology fosters innovation better than a so-called one-fits-all solutions, and how they're applying principles and practices from Agile Software Development to enable automated testing of their infrastructure (as code) - whether on-premises or in the cloud.

374ccc5bcc36b5a07fa84af039e0cb95?s=128

GetCloudnative

October 06, 2018
Tweet

Transcript

  1. MARTIN ETMAJER Founder | GetCloudnative e.U. Version: 20181006 Innovating Cloud

    Service Delivery at a Global Enterprise From Fragile to Agile
  2. metmajer@getcloudnative.io @metmajer Innovation Technologist & Strategist. Founder at GetCloudnative. Open

    Source Maintainer. Martin Etmajer
  3. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 3 Meet the

    Enterprise top 10 in life sciences
  4. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 4 Meet the

    Enterprise ~100k employees top 10 in life sciences
  5. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 5 Meet the

    Enterprise globally distributed ~100k employees top 10 in life sciences
  6. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 6 About ’Life

    Sciences’ All sciences that have to do with living organisms (plants, animals, and human beings). Medication Vaccines Research discovery of new medicine to prevent and treat diseases
  7. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 7 About ’Life

    Sciences’ Life sciences are entering the digital arena. bring doctors and patients closer together voice analysis for early diagnosis of illnesses
  8. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 8 Meet the

    Enterprise Cloud Center of Excellence
  9. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 9 § A

    growing team of subject matter experts § Most with a strong background in IT operations § Internal hires, some architects and former team leads The Cloud Center of Excellence Fuel the organization with production-ready cloud architectures and best practices.
  10. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 10 The Cloud

    Center of Excellence Together, we discovered a few things… Globally Distributed timezone differences hinder collaboration
  11. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 11 The Cloud

    Center of Excellence Together, we discovered a few things… Hero Culture Globally Distributed trying to do too many things in parallel
  12. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 12 The Cloud

    Center of Excellence Together, we discovered a few things… Hero Culture Complexity over Simplicity Globally Distributed getting lost in technical discussions
  13. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 13 The Cloud

    Center of Excellence Together, we discovered a few things… Hero Culture Complexity over Simplicity Globally Distributed solving problems they don‘t have
  14. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 14 The Cloud

    Center of Excellence Together, we discovered a few things… Hero Culture Complexity over Simplicity Globally Distributed continuously searching for the one-fits-all solution
  15. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 15 The Cloud

    Center of Excellence Together, we discovered a few things… management losing confidence Hero Culture Complexity over Simplicity Globally Distributed Keeping the Trust
  16. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 16 The Cloud

    Center of Excellence They had an idea… Reusable Components provides a cloud service
  17. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 17 The Cloud

    Center of Excellence They had an idea… Hybrid Cloud Architecture Reusable Components assemble into provides a cloud service
  18. The Innovation Workshop

  19. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 20 The Innovation

    Workshop Vision Which goal do we want to achieve?
  20. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 21 The Innovation

    Workshop Strategy Vision Which goal do we want to achieve? What do we need to achieve our goal?
  21. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 22 The Innovation

    Workshop Strategy Execution Vision Which goal do we want to achieve? What do we need to achieve our goal? What are the specific actions we need to take?
  22. Vision Which goal do we want to achieve?

  23. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 24 1 Vision

    Our vision is a world, where we can… …design arbitrary cloud architectures from small, reusable components.
  24. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 25 2 1

    Vision Our vision is a world, where we can… …design arbitrary cloud architectures from small, reusable components. …automatically deliver and test cloud architectures simply by pushing a button.
  25. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 26 3 2

    1 Vision Our vision is a world, where we can… …design arbitrary cloud architectures from small, reusable components. …automatically deliver and test cloud architectures simply by pushing a button. …dramatically improve time-to-delivery and foster a self-service culture.
  26. Demo An early prototype.

  27. Strategy What do you need to do to achieve your

    goal?
  28. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 29 The Flat

    User Story Backlog priority things to be done Do stuff... Do more stuff... Do even more stuff... SPRINT 1 SPRINT 1 SPRINT 2 SPRINT 2
  29. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 30 The Flat

    User Story Backlog priority things to be done Do stuff... Do more stuff... Do even more stuff... SPRINT 1 SPRINT 1 SPRINT 2 SPRINT 2 What does the system you‘re building do?
  30. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 31 The Flat

    User Story Backlog priority things to be done Do stuff... Do more stuff... Do even more stuff... SPRINT 1 SPRINT 1 SPRINT 2 SPRINT 2 How does this all fit together?
  31. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 32 The Flat

    User Story Backlog priority things to be done Do stuff... Do more stuff... Do even more stuff... SPRINT 1 SPRINT 1 SPRINT 2 SPRINT 2 Sure we haven‘t forgotten about anything?
  32. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 33 The Flat

    User Story Backlog priority things to be done Do stuff... Do more stuff... Do even more stuff... SPRINT 1 SPRINT 1 SPRINT 2 SPRINT 2 Are we building the right thing?
  33. User Story Mapping The Standard Reference „Discover the whole story,

    build the right product.“
  34. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 35 User Story

    Mapping „User Story Mapping is about telling a story, and breaking it down into smaller parts.“ Jeff Patton, Author of User Story Mapping
  35. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 36 The User

    Story Map
  36. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 37 The User

    Story Map wall, whiteboard or flip chart paper sticky notes 4-6 people (cross-functional including real user)
  37. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 38 The User

    Story Map Users Who are your users and what are their goals?
  38. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 39 The User

    Story Map User Tasks Things users do to achieve a goal, e.g., „Buy Product“.
  39. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 40 The User

    Story Map User Stories Flesh out the user journey in detail: sub-tasks, alternatives, exceptions, etc.
  40. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 41 The User

    Story Map Narrative Flow Tell a day in your users‘ life from left-to-right and top-to-bottom.
  41. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 42 The User

    Story Map Release Slice Identifies the smallest number of user stories for each task. Achieves your user‘s goals. Goal
  42. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 43 The User

    Story Map A Simple Example Search View Product Listing View Product Page Find Product View Product Search By Name View Names View Description
  43. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 44 The User

    Story Map A Simple Example Search View Product Listing View Product Page Find Product View Product Search By Name View Names View Description What if there are many results?
  44. User Story Mapping 101 via speakerdeck.com/getcloudnative

  45. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 46 User Story

    Mapping
  46. collaboratively built a shared understanding of what needs to be

    done
  47. created a coherent, value-driven release roadmap

  48. understood and were able to communicate the big picture

  49. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 50 Strategy 1)

    Design arbitrary cloud architectures from small, reusable components. Reusable Components Hybrid Cloud Solution Architecture assemble into provides a cloud service automated generation of component- and compliance- related documentation automated tests
  50. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 51 Strategy 2)

    Automatically deliver and test cloud architectures by pushing a button. test Reusable Components Hybrid Cloud Architecture Continuous Delivery Deployment Pipeline test deploy configuration
  51. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 52 Strategy 2)

    Automatically deliver and test cloud architectures by pushing a button. fast feedback loops exhaustive log trail auto-generation of architecture- and compliance-related documentation
  52. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 53 Strategy 3)

    Dramatically improve time-to-delivery and foster a self-service organization. building quality in enable other teams to become self-sufficient full automation
  53. Execution What are the specific actions you need to take?

  54. Technology Evaluation Making appropriate technology choices.

  55. Source: https://octoverse.github.com/ The Technology Space is Exploding GitHub‘s Path to

    10 Million Repositories by 2014 67 Million by 2017
  56. None
  57. None
  58. None
  59. None
  60. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 61 What is

    Technology Evaluation? Judging the value of technology to solve a specific problem. problem space
  61. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 62 What is

    Technology Evaluation? Judging the value of technology to solve a specific problem. potential solution space
  62. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 63 What is

    Technology Evaluation? Judging the value of technology to solve a specific problem. potential solution space (infinitely large and complex)
  63. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 64 What is

    Technology Evaluation? effective solution space (simple and efficient) Judging the value of technology to solve a specific problem.
  64. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 65 Keep it

    Simple „Simple things should be simple, complex things should be possible.“ Alan Kay, American Computer Scientist pioneer in object-oriented programming
  65. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 66 How to

    Technology Evaluation? Treat the solution as a composition problem (avoid building it yourself unless you really have to) Component A Component B Component C does one thing and does it well
  66. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 67 How to

    Technology Evaluation? Treat the solution as a composition problem (avoid building it yourself unless you really have to) API API Component A Component C Component B Component D enhances existing stack?
  67. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 68 How to

    Technology Evaluation? Treat the solution as a composition problem (avoid building it yourself unless you really have to) API API Component A Component C Component B Component D if it sucks, replace it with something better
  68. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 69 How to

    Technology Evaluation? Realize the ideal solution doesn‘t exist :-( every solution was designed to solve a specific problem
  69. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 70 How to

    Technology Evaluation? Realize the ideal solution doesn‘t exist :-( there is no one-fits-all-solution
  70. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 71 How to

    Technology Evaluation? Realize the ideal solution doesn‘t exist :-( workarounds occur as the solution eventually reaches its (defined) limits
  71. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 72 How to

    Technology Evaluation? Realize the ideal solution doesn‘t exist :-( adapt the solution as needed
  72. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 73 How to

    Technology Evaluation? Realize the ideal solution doesn‘t exist :-( look ahead, but avoid solving problems you don‘t already see
  73. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 74 Don‘t Fall

    in Love With Your Solution „The tools and systems that you've invested so much time in today will be considered obsolete tomorrow. Accept that as part of what you do as professional engineers – it's part of the joy of software. “ Stuart Davidson, Head of Development at Skyscanner
  74. Technology Evaluation 101 via speakerdeck.com/getcloudnative

  75. None
  76. Test-Driven Infrastructure Building quality into your infrastructure (as code).

  77. Why Test Infrastructure? Because with Infrastructure as Code… you‘re running

    on code!
  78. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 79 „Make it

    work. Make it right. Make it fast.“ Kent Beck, Creator of Extreme Programming
  79. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 80 „Make it

    work. Make it right. Make it fast.“ Kent Beck, Creator of Extreme Programming get the code to operate correctly
  80. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 81 „Make it

    work. Make it right. Make it fast.“ Kent Beck, Creator of Extreme Programming make the code clear and enforce good design
  81. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 82 „Make it

    work. Make it right. Make it fast.“ Kent Beck, Creator of Extreme Programming optimize
  82. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 83 The Red-Green-Refactor

    Cycle of Test-Driven Development Write a Failing Test
  83. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 84 The Red-Green-Refactor

    Cycle of Test-Driven Development Write a Failing Test Make the Test Pass
  84. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 85 The Red-Green-Refactor

    Cycle of Test-Driven Development Clean up Your Code Write a Failing Test Make the Test Pass code is designed and tested
  85. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 86 The Red-Green-Refactor

    Cycle of Test-Driven Development Write a Failing Test Make the Test Pass Clean up Your Code code is of higher quality
  86. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 87 The Red-Green-Refactor

    Cycle of Test-Driven Development cycle iterates in small increments Write a Failing Test Make the Test Pass Clean up Your Code cycle creates regression safety
  87. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 88 „With TDD,

    you express your intentions twice; once as a test, and once as production code. If the two approaches don’t match, your tests fail, and you’ve caught a bug.“ Unknown
  88. Test Kitchen Infrastructure Integration Testing

  89. Serverspec RSpec Tests for your Servers

  90. Slide 91 File 1 12 2 13 3 14 4

    15 5 16 6 17 7 18 8 19 9 20 10 21 11 22 MARTIN ETMAJER Founder | GetCloudnative e.U. Serverspec RSpec Tests for your Servers File server_spec.rb 1 require “serverspec” 12 describe service(“bar”) do 2 describe user(“foo”) do 13 it { should be_enabled } 3 it { should exist } 14 it { should be_running } 4 it { should belong_to_group “foo” } 15 end 5 end 16 describe port(8080) do 6 describe file(“/opt/bar”) do 17 it { should be_listening } 7 it { should be_directory } 18 end 8 it { should be_mode 777 } 19 describe command(“apachectl –M”) do 9 it { should be_owned_by “foo” } 20 its(:stdout) { should contain(“proxy_module”) } 10 it { should be_grouped_into “foo” } 21 end 11 end
  91. Test-Driven Infrastructure 101 via speakerdeck.com/getcloudnative

  92. Enablement How do we empower people for change?

  93. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 94 Enablement Because

    change is hard. Trainings and Webinars Workshops and Hackdays Working in Pairs