DevOps Concepts: Bake vs Fry 1

Part 1: Configuration Methods during the Iron Age

  1. The Iron Age
  2. The Cloud Age (Virtualization)
  3. The Cloud Age (Containers)

The Iron Age

Baking Client Systems

The Golden Image Problem

Frying on Iron Servers

Change Configuration

Rise of Virtualization

  • Provisioning will configure at launch of the system
  • Mixed Approach usually installs and change configuration agent launch, then afterward converge the configuration to the desired state.
  • Change Configuration will converge the configuration to the to desired state after the system is launched.

Deploying Applications

Frying with Push or Pull
Pull Deploy using Change Configuration
Push Deploy using Orchestration Tool

Push Deploy or Pull Deploy?

Zero Configuration with Discovery

  • Apache Zookeeper (2010): key-value store, discovery must be built into application logic itself
  • AirBnB Smart Stack (2012): service discovery, key-value store, health checking
  • CoreOS Etcd (2013): service discovery, key-value store, events
  • Hashicorp Serf (2013): node discovery, group membership, failure detection, events
  • Hashicorp Consul (2014): service discovery, key-value store, health checking
  • Hashicorp Vault (2015): store secrets artifacts in a secure way (using Consul or another solution as a backend), as well as provide encryption services, certificate authority, auditing of secrets, etc.
  • Consul-Template: query either Consul or Vault to apply templates and configure systems, frying.

Conclusion

Next Article

References

Iron Age vs Cloud Age

Change Configuration Topics

Deployment and Orchestration

Service Discovery

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Joaquín Menchaca (智裕)

Linux NinjaPants Automation Engineering Mutant — exploring DevOps, o11y, k8s, progressive deployment (ci/cd), cloud native infra, infra as code