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

    View full-size slide

  2. [email protected]
    @metmajer
    Innovation Technologist & Strategist.
    Founder at GetCloudnative.
    Open Source Maintainer.
    Martin Etmajer

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  8. MARTIN ETMAJER
    Founder | GetCloudnative e.U. Slide 8
    Meet the Enterprise
    Cloud Center of Excellence

    View full-size slide

  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.

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  18. The Innovation Workshop

    View full-size slide

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

    View full-size slide

  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?

    View full-size slide

  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?

    View full-size slide

  22. Vision
    Which goal do we want to achieve?

    View full-size slide

  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.

    View full-size slide

  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.

    View full-size slide

  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.

    View full-size slide

  26. Demo
    An early prototype.

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  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?

    View full-size slide

  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?

    View full-size slide

  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?

    View full-size slide

  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?

    View full-size slide

  33. User Story Mapping
    The Standard Reference
    „Discover the whole story,
    build the right product.“

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

  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)

    View full-size slide

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

    View full-size slide

  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“.

    View full-size slide

  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.

    View full-size slide

  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.

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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?

    View full-size slide

  44. User Story Mapping 101 via speakerdeck.com/getcloudnative

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  47. created a coherent, value-driven release roadmap

    View full-size slide

  48. understood and were able to communicate the big picture

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  53. Execution
    What are the specific actions you need to take?

    View full-size slide

  54. Technology Evaluation
    Making appropriate technology choices.

    View full-size slide

  55. Source: https://octoverse.github.com/
    The Technology Space is Exploding
    GitHub‘s Path to 10 Million Repositories by 2014 67 Million by 2017

    View full-size slide

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

    View full-size slide

  57. 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

    View full-size slide

  58. 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)

    View full-size slide

  59. 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.

    View full-size slide

  60. 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

    View full-size slide

  61. 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

    View full-size slide

  62. 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?

    View full-size slide

  63. 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

    View full-size slide

  64. 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

    View full-size slide

  65. 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

    View full-size slide

  66. 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

    View full-size slide

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

    View full-size slide

  68. 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

    View full-size slide

  69. 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

    View full-size slide

  70. Technology Evaluation 101 via speakerdeck.com/getcloudnative

    View full-size slide

  71. Test-Driven Infrastructure
    Building quality into your infrastructure (as code).

    View full-size slide

  72. Why Test Infrastructure?
    Because with Infrastructure as Code… you‘re running on code!

    View full-size slide

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

    View full-size slide

  74. 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

    View full-size slide

  75. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  78. 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

    View full-size slide

  79. 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

    View full-size slide

  80. 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

    View full-size slide

  81. 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

    View full-size slide

  82. 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

    View full-size slide

  83. Test Kitchen
    Infrastructure Integration Testing

    View full-size slide

  84. Serverspec
    RSpec Tests for your Servers

    View full-size slide

  85. 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

    View full-size slide

  86. Test-Driven Infrastructure 101 via speakerdeck.com/getcloudnative

    View full-size slide

  87. Enablement
    How do we empower people for change?

    View full-size slide

  88. MARTIN ETMAJER
    Founder | GetCloudnative e.U. Slide 94
    Enablement
    Because change is hard.
    Trainings and Webinars Workshops and Hackdays Working in Pairs

    View full-size slide