ConfigurationManagement
Puppet LabsGareth Rushgrove
For future infrastructure
What is configuration management?
Any input to your infrastructure is configuration
Gareth Rushgrove
Configuration management is about managing all of those inputs over time
Gareth Rushgrove
Configuration management is about managing all of those inputs over time
Gareth Rushgrove
A little history
Gareth Rushgrove
Emerging patterns
Gareth Rushgrove
Immutable infrastructureInfrastructure APIsAutonomous systemsSimpler hosts
Gareth Rushgrove
Immutable infrastructureInfrastructure APIsAutonomous systemsSimpler hosts
Gareth Rushgrove
Immutable infrastructureInfrastructure APIsAutonomous systemsSimpler hosts
Gareth Rushgrove
Immutable infrastructureInfrastructure APIsAutonomous systemsSimpler hosts
Gareth Rushgrove
Future infrastructureas code
Gareth Rushgrove
1950s research, 1960s 480 series, 1991 MIL-HDBK-61, 1998 ANSI-EIA-649
Gareth Rushgrove
Military Handbook Configuration Management GuidanceMIL-HDBK-61B
Gareth Rushgrove
IdentificationControlStatus accountingVerification and audit
Gareth Rushgrove
National Consensus Standard for Configuration ManagementEIA-649
Gareth Rushgrove
Configuration management verifies that a system is identified and documented in sufficient detail
Gareth Rushgrove
Configuration management verifies that a system performs as intended
Gareth Rushgrove
Service management, ITIL, ISO 20000
Gareth Rushgrove
Infrastructure as code
Gareth Rushgrove
Immutable infrastructure
Build once, runmany times
Gareth Rushgrove
Amazon Machine Images
Gareth Rushgrove
End-to-end automation to avoid the golden image problem
Gareth Rushgrove
Containers
Gareth Rushgrove
Docker as the user interface
Gareth Rushgrove
How immutable are your docker containers?
Gareth Rushgrove
Infrastructure with APIs
Infrastructure as a service
Gareth Rushgrove
Platform as a service
Gareth Rushgrove
OSv
Gareth Rushgrove
Not just compute, but network and storage too
Gareth Rushgrove
Not just *nix
Gareth Rushgrove
Configuration at a distance
Gareth Rushgrove
Configuring autonomous
systems
We’re increasingly managing higher level systems
Gareth Rushgrove
If servers are cattle not pets, we need to talk about fields and farms
Gareth Rushgrove
Autoscaling groups
Gareth Rushgrove
Combinatorial package explosion
Gareth Rushgrove
Gareth Rushgrove
OSTree
CoreOS is a firmware for running containers
Gareth Rushgrove
John Vincent - http://blog.lusis.org/blog/2014/11/21/a-few-things/
Moving configuration from hosts to the network
Gareth Rushgrove
Etcd, Consul, Zookeeper
Gareth Rushgrove
Future infrastructure
as code
From:Host centricLocalisedExecutable for integration
Gareth Rushgrove
To:Cluster centricDistributedHTTP for integration
Gareth Rushgrove
Going from Puppet to etcd
Gareth Rushgrove
Where similar interfaces exist we can provide abstractions
Gareth Rushgrove
Gareth Rushgrove
garethr/key_value_config
Going from etcd to Puppet with Hiera
Gareth Rushgrove
Gareth Rushgrove
garethr/hiera-etcd
Installing systems
Gareth Rushgrove
More interestingly, using systems via APIs
Gareth Rushgrove
garethr/garethr-docker
Gareth Rushgrove
puppetlabs/puppetlabs-aws
Gareth Rushgrove
garethr/digitalocean
Gareth Rushgrove
Gareth Rushgrove
I want a pony
Managing an autoscaling CoreOS/Atomic cluster in AWS…
Gareth Rushgrove
…with configuration in etcd/consul…
Gareth Rushgrove
…with the network in VPC /Weave…
Gareth Rushgrove
…with docker containers arranged by Kubernetes…
Gareth Rushgrove
All from the Puppet DSL
Gareth Rushgrove
The future is already here — it's just not very evenly distributed.
Gareth Rushgrove
William Gibson
Manage. Not just provision
Gareth Rushgrove
Gareth Rushgrove
Questions?And thanks for listening