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

Configuration management for future operating systems

Configuration management for future operating systems

Talk given at the New Directions in Operating Systems conference. A run through some of the history of configuration management as a discipline, on to future trends in infrastructure management and finally examples of using Puppet to manage high level or at-a-distance resources.

Gareth Rushgrove

November 25, 2014
Tweet

More Decks by Gareth Rushgrove

Other Decks in Technology

Transcript

  1. Configuration

    Management

    Puppet Labs
    Gareth Rushgrove
    For future infrastructure

    View full-size slide

  2. Gareth Rushgrove

    View full-size slide

  3. Gareth Rushgrove

    View full-size slide

  4. What is
    configuration
    management?

    View full-size slide

  5. Any input to your
    infrastructure is
    configuration
    Gareth Rushgrove

    View full-size slide

  6. Configuration
    management is about
    managing all of those
    inputs over time
    Gareth Rushgrove

    View full-size slide

  7. Configuration
    management is about
    managing all of those
    inputs over time
    Gareth Rushgrove

    View full-size slide

  8. A little history
    Gareth Rushgrove

    View full-size slide

  9. Emerging patterns
    Gareth Rushgrove

    View full-size slide

  10. Immutable infrastructure
    Infrastructure APIs
    Autonomous systems
    Simpler hosts
    Gareth Rushgrove

    View full-size slide

  11. Immutable infrastructure
    Infrastructure APIs
    Autonomous systems
    Simpler hosts
    Gareth Rushgrove

    View full-size slide

  12. Immutable infrastructure
    Infrastructure APIs
    Autonomous systems
    Simpler hosts
    Gareth Rushgrove

    View full-size slide

  13. Immutable infrastructure
    Infrastructure APIs
    Autonomous systems
    Simpler hosts
    Gareth Rushgrove

    View full-size slide

  14. Future infrastructure
    as code
    Gareth Rushgrove

    View full-size slide

  15. A little history

    View full-size slide

  16. 1950s research, 1960s
    480 series, 1991 MIL-
    HDBK-61, 1998 ANSI-
    EIA-649
    Gareth Rushgrove

    View full-size slide

  17. Military Handbook
    Configuration
    Management Guidance
    MIL-HDBK-61B
    Gareth Rushgrove

    View full-size slide

  18. Identification
    Control
    Status accounting
    Verification and audit
    Gareth Rushgrove

    View full-size slide

  19. National Consensus
    Standard for Configuration
    Management
    EIA-649
    Gareth Rushgrove

    View full-size slide

  20. Configuration management
    verifies that a system is
    identified and documented in
    sufficient detail
    Gareth Rushgrove

    View full-size slide

  21. Configuration management
    verifies that a system
    performs as intended
    Gareth Rushgrove

    View full-size slide

  22. Service management,
    ITIL, ISO 20000
    Gareth Rushgrove

    View full-size slide

  23. Infrastructure as code
    Gareth Rushgrove

    View full-size slide

  24. Gareth Rushgrove

    View full-size slide

  25. Immutable
    infrastructure

    View full-size slide

  26. Build once, run
    many times
    Gareth Rushgrove

    View full-size slide

  27. Amazon Machine Images
    Gareth Rushgrove

    View full-size slide

  28. End-to-end automation to
    avoid the golden image
    problem
    Gareth Rushgrove

    View full-size slide

  29. Gareth Rushgrove

    View full-size slide

  30. Containers
    Gareth Rushgrove

    View full-size slide

  31. Gareth Rushgrove

    View full-size slide

  32. Docker as the user
    interface
    Gareth Rushgrove

    View full-size slide

  33. How immutable are your
    docker containers?
    Gareth Rushgrove

    View full-size slide

  34. Infrastructure
    with APIs

    View full-size slide

  35. Infrastructure as a service
    Gareth Rushgrove

    View full-size slide

  36. Gareth Rushgrove

    View full-size slide

  37. Gareth Rushgrove

    View full-size slide

  38. Gareth Rushgrove

    View full-size slide

  39. Platform as a service
    Gareth Rushgrove

    View full-size slide

  40. Gareth Rushgrove

    View full-size slide

  41. Gareth Rushgrove

    View full-size slide

  42. Gareth Rushgrove

    View full-size slide

  43. OSv
    Gareth Rushgrove

    View full-size slide

  44. Gareth Rushgrove

    View full-size slide

  45. Not just compute, but
    network and storage too
    Gareth Rushgrove

    View full-size slide

  46. Gareth Rushgrove

    View full-size slide

  47. Not just *nix
    Gareth Rushgrove

    View full-size slide

  48. Gareth Rushgrove

    View full-size slide

  49. Configuration at a
    distance
    Gareth Rushgrove

    View full-size slide

  50. Configuring
    autonomous
    systems

    View full-size slide

  51. We’re increasingly
    managing higher level
    systems
    Gareth Rushgrove

    View full-size slide

  52. If servers are cattle not
    pets, we need to talk
    about fields and farms
    Gareth Rushgrove

    View full-size slide

  53. Autoscaling groups
    Gareth Rushgrove

    View full-size slide

  54. Gareth Rushgrove

    View full-size slide

  55. Gareth Rushgrove

    View full-size slide

  56. Simpler hosts

    View full-size slide

  57. Combinatorial package
    explosion
    Gareth Rushgrove

    View full-size slide

  58. Gareth Rushgrove

    View full-size slide

  59. Gareth Rushgrove
    OSTree

    View full-size slide

  60. Gareth Rushgrove

    View full-size slide

  61. Gareth Rushgrove

    View full-size slide

  62. Gareth Rushgrove

    View full-size slide

  63. CoreOS is a firmware for
    running containers
    Gareth Rushgrove
    John Vincent - http://blog.lusis.org/blog/2014/11/21/a-few-things/

    View full-size slide

  64. Moving configuration from
    hosts to the network
    Gareth Rushgrove

    View full-size slide

  65. Etcd, Consul, Zookeeper
    Gareth Rushgrove

    View full-size slide

  66. Future
    infrastructure
    as code

    View full-size slide

  67. From:
    Host centric
    Localised
    Executable for integration
    Gareth Rushgrove

    View full-size slide

  68. To:
    Cluster centric
    Distributed
    HTTP for integration
    Gareth Rushgrove

    View full-size slide

  69. Going from Puppet to etcd
    Gareth Rushgrove

    View full-size slide

  70. Gareth Rushgrove

    View full-size slide

  71. Where similar interfaces
    exist we can provide
    abstractions
    Gareth Rushgrove

    View full-size slide

  72. Gareth Rushgrove

    View full-size slide

  73. Gareth Rushgrove
    garethr/key_value_config

    View full-size slide

  74. Going from etcd to Puppet
    with Hiera
    Gareth Rushgrove

    View full-size slide

  75. Gareth Rushgrove

    View full-size slide

  76. Gareth Rushgrove
    garethr/hiera-etcd

    View full-size slide

  77. Installing systems
    Gareth Rushgrove

    View full-size slide

  78. Gareth Rushgrove

    View full-size slide

  79. Gareth Rushgrove

    View full-size slide

  80. More interestingly, using
    systems via APIs
    Gareth Rushgrove

    View full-size slide

  81. Gareth Rushgrove

    View full-size slide

  82. garethr/garethr-docker
    Gareth Rushgrove

    View full-size slide

  83. Gareth Rushgrove

    View full-size slide

  84. Gareth Rushgrove

    View full-size slide

  85. puppetlabs/puppetlabs-aws
    Gareth Rushgrove

    View full-size slide

  86. Gareth Rushgrove

    View full-size slide

  87. garethr/digitalocean
    Gareth Rushgrove

    View full-size slide

  88. Gareth Rushgrove

    View full-size slide

  89. Gareth Rushgrove
    I want a pony

    View full-size slide

  90. Managing an autoscaling
    CoreOS/Atomic cluster in
    AWS…
    Gareth Rushgrove

    View full-size slide

  91. …with configuration in
    etcd/consul…
    Gareth Rushgrove

    View full-size slide

  92. …with the network in VPC
    /Weave…
    Gareth Rushgrove

    View full-size slide

  93. …with docker containers
    arranged by Kubernetes…
    Gareth Rushgrove

    View full-size slide

  94. All from the Puppet DSL
    Gareth Rushgrove

    View full-size slide

  95. The future is already here
    — it's just not very evenly
    distributed.
    Gareth Rushgrove
    William Gibson

    View full-size slide

  96. Manage. Not just provision
    Gareth Rushgrove

    View full-size slide

  97. Gareth Rushgrove

    View full-size slide

  98. Questions?
    And thanks for listening

    View full-size slide