dev2ops on Twitter
spacer
Newer Older
spacer
Newer Older
spacer
Newer Older
spacer
Newer Older
Navigation
  • About dev2ops
  • DevOps Toolchain Project
  • DevOps Meetup
  • Links
Popular Posts

What is DevOps?

DevOps is not a technology problem. DevOps is a business problem.

How to measure the impact of IT operations on your business (Part 1)

Stone Axes -- the tale of secret development

6 Months In: Fully Automated Provisioning Revisited

The (Comedic) Truth about DevOps

Podcast

DevOps Cafe Podcast (with John Willis & Damon Edwards)

DevOps Toolchain Project

Project information and discussion group

Interested in DevOps?

View all posts about DevOps

Interviews

Q&A: Pascal Perez and Eishay Smith on Continuous Deployment at kaChing 

Q&A: Ernest Mueller on bringing Agile to operations

Videos: Jesse Robbins, Ezra Zygmuntowicz, Colleen Smith at Cloud Connect 2010

Q&A: Erik Troan on the role of version control in Operations

Videos: Michael Coté, Travis Campbell, Erica Brescia, Andrew Shafer at OpsCamp Austin 2010

Videos: Luke Kanies, Bill Karpovich, Ernest Mueller at OpsCamp Austin 2010

Meet Lee Thompson: Former E*TRADE Chief Technologist

 

 

 

Search dev2ops
Subscribe
  • Blog RSS
Archive
  • May 2012 (1)
  • March 2012 (3)
  • January 2012 (1)
  • December 2011 (2)
  • September 2011 (3)
  • August 2011 (7)
  • July 2011 (13)
  • June 2011 (3)
  • May 2011 (6)
  • April 2011 (1)
  • March 2011 (1)
  • February 2011 (1)
  • December 2010 (1)
  • November 2010 (3)
  • September 2010 (1)
  • August 2010 (2)
  • July 2010 (2)
  • June 2010 (2)
  • May 2010 (3)
  • April 2010 (5)
  • March 2010 (5)
  • February 2010 (6)
  • January 2010 (3)
  • November 2009 (2)
  • September 2009 (2)
  • August 2009 (1)
  • July 2009 (1)
  • June 2009 (3)
  • May 2009 (1)
  • April 2009 (2)
  • March 2009 (2)
  • December 2008 (1)
  • October 2008 (1)
  • August 2008 (2)
  • July 2008 (1)
  • June 2008 (3)
  • May 2008 (2)
  • April 2008 (1)
  • March 2008 (2)
  • February 2008 (4)
  • January 2008 (13)
  • December 2007 (1)
  • November 2007 (1)
  • October 2007 (4)
  • September 2007 (5)
  • August 2007 (7)
« "Meet the DevOps Experts" panel at Cloud Connect 2011 (video) | Main | Video: Lloyd Taylor on diagnosing and transforming your organization »
Wednesday
Feb162011

Peanut butter in my chocolate? Convergence vs. Ad hoc Control

spacer Alex Honor | spacer Wednesday, February 16, 2011 at 10:29AM

Recently, I've been in several conversations about how to reconcile two links in the management tool chain, configuration management and ad hoc control. The conversation usually revolves around conventional viewpoints about the nature and roles of these tools:

Configuration management wants to achieve and enforce a system state. The normal mode of operation is for the configuration management tool to run autonomously on each node, applying the rules of that node's specification. In the large, the set of hosts eventually converge on the declarations made in the specification.

spacer

Ad hoc control tools are generally used to for special problems or on-demand management activities. Their use is often arbitrary and driven by management need and not on a regular periodic basis. Problem diagnosis, information gathering, deployment changes, emergency fixes across many hosts are example cases where ad hoc control tools are often used.

spacer

If these tools are used independently, one or more scenarios like the following can arise:

 

  • Changes made by ad hoc tools are reverted or partly undone by the configuration management tool
  • Configuration management tool is turned off and only run directly when the rules are needed to fire
  • Administration code is reinvented in each tool but their implementations focus on different concerns
  • One tool gets thrown out or its role and scope are severely diminished in favor of the other

 

These tools can interfere with each other and to some they can appear mutually exclusive.

spacer

Clearly, both management modes are important. On the one hand, it's beneficial to have an ongoing compliance and enforcement loop driven by specification. On the other hand, issues of the day require near instantaneous action. Those actions may not become routine and deemed part of the desired permanent state maintained by configuration management.

Planning out how these two kinds of tools can interoperate begins with a discussion of boundaries and lines of responsibilities. It also helps interoperation when both tools share a common model and points of control.

spacer

Here are a few areas where I have seen interoperation facilitated:

  • Centralize the control loop: Initiate the control loop from a central point of administration. Configuration management loses some autonomy but the pull model is preserved which is important for scalable execution. 
  • Split Install from Startup: Separate the startup action from the installation procedures in the provisioning process. This defers startup to a centrally orchestrated authority. This is vital for multi-tier applications.
  • System control interface: Define a set of system commands that control service state on each host. Configuration management and ad hoc tools can avoid reinventing the wheel. This also gives a point of collaboration between teams.
  • Dependency driven packaging: Use packages to install files on node. Use package dependencies to install files in an order. System package utilities provide other benefits like verification and repositories.

 

 

spacer 2 Comments | spacer Share Article | spacer Permalink | spacer Email Article

Reader Comments (2)

Alex,

This is one of the reasons I'm creating Noah. While Chef and Puppet both can handle application level configuration perfectly well (for instance see Chef's data-driven configuration stuff), the requirement to perform a new Chef or Puppet run is pretty much a pain in the butt just to change a logging level or update a list of memcache nodes.

I would wager that 95% of users of either tools run them in an ad-hoc fashion because of concerns about changes applied to the CM repo going out "before they're tested".

Look at Wealthfront (formerly KaChing!) and how they use ZooKeeper (my inspiration for Noah) as a coordination tool for the entire infrastructure.

Noah/Zookeeper/whatever can happily coexist with existing CM tools as long as the system of record is determined to be the CM tool. Bootstrap a new memcached node via Chef? The base config file for your application gets updated but memcached startup (or some CM task) also registers the new node with Noah so that existing and running nodes can be instantly aware and reconfigure themselves.

Excellent post and something that I've been meaning to write about myself!

February 16, 2011 | spacer John E. Vincent

John,

I agree there is a missing link the chain. Having something like Noah/Zookeeper that can be used to store and access both configuration and operational state is extremely useful.

Alex

February 17, 2011 | spacer Alex Honor

spacer Post a New Comment

Enter your information below to add a new comment.

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.