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

Patterns for succeeding with Azure in the Enterprise

Hibri Marzook
September 24, 2019

Patterns for succeeding with Azure in the Enterprise

Patterns for a successful and sustainable Azure adoption in the Enterprise.

Hibri Marzook

September 24, 2019
Tweet

More Decks by Hibri Marzook

Other Decks in Technology

Transcript

  1. Hibri Marzook
    1

    View Slide

  2. 2
    Helps teams deliver ideas and technology.
    Likes the challenge of using Public Cloud and
    Continuous Delivery to help teams deliver at a sustainable
    pace.
    @hibri
    www.hibri.net

    View Slide

  3. How do we know what’s going on our Azure estate?
    1
    Which team takes care of Azure?
    2
    How do we have control over Azure usage?
    3
    How do we make it easy for our engineers to use Azure?
    4
    We are in a regulated industry. Can we trust it?
    5
    How do I install Azure?
    6
    3

    View Slide

  4. The NIST Definition of Public Cloud Computing 800-145
    01
    On-demand
    self-service
    02
    Broad
    network
    access
    03
    Resource
    pooling
    04
    Rapid
    elasticity
    05
    Measured/
    Metered
    service
    4

    View Slide

  5. Accelerate: State of DevOps 2019 5

    View Slide

  6. 6

    View Slide

  7. https://www.flickr.com/photos/liverpoolhls/
    “A Walking Skeleton is a tiny implementation of
    the system that performs a small end-to-end
    function. It need not use the final architecture,
    but it should link together the main architectural
    components. The architecture and the
    functionality can then evolve in parallel”
    Alistair Cockburn
    7

    View Slide

  8. 8

    View Slide

  9. 9

    View Slide

  10. 10

    View Slide

  11. 11
    Use the Walking Skeleton to
    validate that you can use
    Azure in your organisation

    View Slide

  12. 12
    ● Deal with risk incrementally rather than in
    one go
    ● Flag up heavyweight design reviews and
    manual approvals early

    View Slide

  13. 13

    View Slide

  14. Large Enterprises tend to fear
    things they can’t control and
    default to IaaS in the cloud
    14

    View Slide

  15. 15

    View Slide

  16. 16

    View Slide

  17. https://blogs.msdn.microsoft.com/azuresecurity/2016/04/18/what-does-shared-responsibility-in-the-cloud-mean/
    17
    Understand the Azure
    Shared Responsibility
    Model

    View Slide

  18. 18

    View Slide

  19. An evolutionary
    architecture supports
    guided, incremental
    change across
    multiple dimensions
    Ford N, Parsons R, and Kua P (2017) - Building Evolutionary Architectures, O’Reilly Press
    19

    View Slide

  20. An architectural fitness function provides an objective
    integrity assessment of some architectural
    characteristic(s)
    Ford N, Parsons R, and Kua P (2017) - Building Evolutionary Architectures, O’Reilly Press
    20

    View Slide

  21. Azure Policy Azure Monitor
    21

    View Slide

  22. ● Allows teams to use Azure resources
    as long as they don’t break the policy
    ● Don’t need to rely only on build time
    controls
    ● Allows iteration towards a compliant
    solution, without intervention from a
    central authority
    22

    View Slide

  23. ● Use Log Analytics to query across all
    resources
    ● Identify services that are
    non-performant
    ● Query resource attributes to find bad
    patterns
    23

    View Slide

  24. https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/04/12/what-are-azure-blueprints/
    24

    View Slide

  25. 25

    View Slide

  26. Conway’s Law
    “Organisations which design
    systems are constrained to
    produce designs which are
    copies of the communication
    structures of these
    organisations”
    Melvin Conway
    26

    View Slide

  27. 27
    ● Self organising teams focussing
    on customer problems, aligned
    with the company goals and
    vision
    ● Enable teams to have autonomy
    and responsibility
    ● Help teams reduce their blast
    radius
    ● Don’t copy the org chart to Azure

    View Slide

  28. 28

    View Slide

  29. 29

    View Slide

  30. 30

    View Slide

  31. ● Architectural layers should allow teams who own each layer to iterate
    independently
    ● Layers at the bottom provide a service to layers above
    31

    View Slide

  32. 32

    View Slide

  33. ● Demonstrate security best practices
    early to win trust
    ● Use RBAC
    ● Access with least privilege
    ● Don’t use God accounts to make
    things just work
    33

    View Slide

  34. ● Use service principals and managed identities from day
    one
    ● Add users to Groups
    ● Assign Azure AD Groups to roles
    ● Avoid God accounts for automation
    34

    View Slide

  35. 35

    View Slide

  36. 36

    View Slide

  37. Empathise with product teams and
    users
    Build with a product that has real users,
    and has real business value
    37

    View Slide

  38. Continuously validate the platform
    Is it fit for purpose?
    38

    View Slide

  39. 39

    View Slide

  40. ● Devs who build on the platform
    ● Devs who build the platform
    40

    View Slide

  41. Developers will find a workaround to help them deliver
    Make it easier for devs to do the right thing, safely
    41

    View Slide

  42. ● Don’t lock developers out of the Azure portal
    ● Provide sandboxes for devs to play around with
    ● Read only access to production environments
    ● Access to metrics and alerts
    ● Allow teams to make their own dashboards
    42

    View Slide

  43. ● Turn on diagnostics early
    ● Show devs the
    debugging options in
    Azure, if not you’ll have
    to resolve every issue
    43

    View Slide

  44. 44

    View Slide

  45. 45

    View Slide

  46. 46

    View Slide

  47. 47

    View Slide

  48. 48

    View Slide

  49. 49

    View Slide

  50. 50

    View Slide

  51. 51

    View Slide

  52. 52

    View Slide

  53. 53

    View Slide

  54. 54

    View Slide

  55. 55

    View Slide

  56. 56

    View Slide

  57. 1. Show what’s been built, not diagrams.
    It’s easier to address concerns with
    a working system
    2. Weekly/fortnightly technology and
    architectural sessions
    57

    View Slide

  58. 1. Do regular demos, show and tells
    to other teams/departments
    2. Do take time to document
    3. Do Azure Certs together
    58

    View Slide

  59. 59

    View Slide

  60. 60

    View Slide

  61. 61

    View Slide

  62. 62

    View Slide

  63. 63

    View Slide

  64. 64

    View Slide

  65. 65
    1. Build the Walking Skeleton first
    2. Adopt a PaaS first approach
    3. Adopt Evolutionary Architecture
    practices
    4. Be aware of Conway’s Law
    5. Build in trust
    6. Build together
    7. Make the developer experience
    awesome
    8. Adopt CI/CD
    9. Build in Operability
    10. Build an internal Azure community
    of practice

    View Slide

  66. 66

    View Slide

  67. Atlanta
    contino.io continohq contino
    London New York Melbourne Sydney
    67

    View Slide