Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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.

GetCloudnative

October 06, 2018
Tweet

More Decks by GetCloudnative

Other Decks in Business

Transcript

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

    Service Delivery at a Global Enterprise From Fragile to Agile
  2. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 4 Meet the

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

    Enterprise globally distributed ~100k employees top 10 in life sciences
  4. 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
  5. 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
  6. 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.
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 16 The Cloud

    Center of Excellence They had an idea… Reusable Components provides a cloud service
  14. 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
  15. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 20 The Innovation

    Workshop Vision Which goal do we want to achieve?
  16. 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?
  17. 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?
  18. 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.
  19. 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.
  20. 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.
  21. 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
  22. 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?
  23. 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?
  24. 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?
  25. 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?
  26. 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
  27. 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)
  28. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 38 The User

    Story Map Users Who are your users and what are their goals?
  29. 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“.
  30. 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.
  31. 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.
  32. 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
  33. 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
  34. 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?
  35. 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
  36. 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
  37. 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
  38. 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
  39. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 61 What is

    Technology Evaluation? Judging the value of technology to solve a specific problem. problem space
  40. 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
  41. 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)
  42. 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.
  43. 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
  44. 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
  45. 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?
  46. 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
  47. 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
  48. 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
  49. 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
  50. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 72 How to

    Technology Evaluation? Realize the ideal solution doesn‘t exist :-( adapt the solution as needed
  51. 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
  52. 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
  53. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 79 „Make it

    work. Make it right. Make it fast.“ Kent Beck, Creator of Extreme Programming
  54. 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
  55. 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
  56. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 82 „Make it

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

    Cycle of Test-Driven Development Write a Failing Test
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. MARTIN ETMAJER Founder | GetCloudnative e.U. Slide 94 Enablement Because

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