The evolution of configuration management thinking
as a business problem (in 2 simultaneous universes) ...

Or how to distance yourself from yourself

With the help of the Quantum Food Guide and Devomonitorama Brain Extender, we are able to overhear the thoughts of two parallel instances of Charlie Ops in parallel universes contemplate the meaning of configuration management in their businesses... In universe #1, Charlie runs an online business; in universe #2 he runs a hotel/restaurant business. His thoughts allow us to see how CM is really a question of managing what you know about what you want and what you've got.

universe #1: IT business universe #2: hotel/restaurant
I'm starting in the information business.

Going to need some kind of IT infrastructure, servers, software, applications, etc.

How do I get started?

I'm starting up in the hotel/restaurant business.

Going to need some kind of hotel infrastructure, tables, chairs, appliances, etc.

How do I get started?

It's not as easy as it sounds. Too many devices and configuration settings to decide--

COMPLEXITY OVERWHELMS!

It's not as easy as it sounds. Too many tables, chairs, kitchen equipment to decide --

COMPLEXITY OVERWHELMS!

Ok, I've got IT skills, we can do this! Foreach file, bit, do chmod, ..... If config has changes, restore... search, clear garbage...

(Shout imperative commands -- and hope they succeed!)

Now for each host, ssh, scp, and do it all over again ...

I will fix this with my management skills! Take each one of these tables and move them to the folllwing positions ... then take each one of these chairs and take them to a table, and then take each ... For each chair, if chair has moved from position, move chair back, clear tables...

(Shout imperative commands -- and hope someone is listening!)

Now take identical chairs over to these other hotels and arrange them like this...

Seriously? Why not just figure out and tell me your policy.

Our agents can figure out the details in situ.

(Declarative/Convergent)

Seriously? Just show me the floor plan.

Staff will figure out about setting it up and when stuff has to be moved and needs cleaning at their own locations.

(Declarative/Convergent)

Now the business needs to build a new service. Download software, config tools, ... start building stuff. Now the business needs to expand into a new room. Get some wood, tables, carpets, ... start building stuff.

STUPID TOOLS! I haven't got the time or patience to start from raw systems and learn configuration language before knowing what I need.

Wait, why am I blaming my tools? Perhaps I'm thinking about myself and not the business...

STUPID TOOLS! Haven't got the time or tools/skills to work with raw materials and unclear goals.

Wait, why am I blaming my tools?? Perhaps I'm thinking about myself and not the business...

I could just hire a consultant or go to Design Center, module/cookbook repo, . I could just hire a consultant or go to IKEA/Kinnarps.
I know! Let's get everything as pre-packaged appliances, sketches, recipes and don't worry about details (commodity thinking!) I know! let's buy everything as snap-together packages with pre-made parts -- good enough off the shelf (commodity thinking!)
Ah wait! How can I tell which service configurations will fit together as optional parts of a combined service? (which versions www,db,java fit together?) Ah wait! How can I tell which IKEA boxes form optional parts of a compatible set? (which kitchen bench, sink, taps, dishwasher fit together?)
Oh no! My original complexity is still there, just wrapped in bigger boxes
(I still have to understand the sketches, recipes, modules I've chosen)

Maybe it's me, not you. I have a knowledge gap?

Oh no! My original complexity is still there, just wrapped in bigger boxes
(I can't understand all the different boxes/brands/series)

Maybe it's me, not you. I have a knowledge gap?

I wish I had a smarter catalogue, with fewer instructions, showing suggestions, services, functions, and how they can be used together (not the details of how they are built).

I'm smart, I could figure someting out from there.

I wish I had a smarter catalogue, with fewer instructions showing suggestions, furniture/fittings, functions, and how they can be used together (not what's inside the boxes)

I'm smart, I could figure someting out from there.

I need an overview of my business units/sites and their special requirements to correlate with the policy. I need an overview of my business outlets/sites and their special requirements to correlate with the plan.
It feels like a cop out to use Design Center. I'm not a real engineer anymore ... but I can personalize at the business level, where my attention really needs to be It feels like a cop out to buy from IKEA. I'm not a real designer anymore... but I can personalize at the business level, where my attention really needs to be

WHAT did we just build? Fitness for purpose? WHY these choices in the first place?

universe #1: IT business universe #2: hotel/restaurant
Do we understand what we're building and why? Installing lots of stuff onto a bunch of servers is maybe not the way to think about a business. Do we understand what we're building and why? Stuffing tables and chairs in rooms is maybe not the best starting point for running a hotel/restaurant.
Where can I keep track of inter-operable sets of resources: services, applications, transactions Where can I keep track of inter-operable sets of resources: furniture, cutlery, food, bookings
How do we map common business needs/choices to configuration settings? (One service per host, containers, bare metal?) How do we map common customer needs/choices to furniture layouts? (Horse-shoe confguration, cabaret, or classroom layout?)
Help! I need a composer/architect or CAD/CAM orchestrator to help me design a solution for my business needs (back to consulting, or tool?) Help! I need a designer/architect or CAD/CAM consultant to help me design a kitchen/interior solution for my business needs (back to consulting, or tool?)
What business goal/purpose does this choice of configuration enable? A particular service? How does it help our business by arranging the tables in this configuration? A particular event?
How can everyone (temps, permanent employees, management) see which policies support which business goals (web sales, devops, cost reduction) so they learn about business value? How can everyone (temps, permanent employees, management) see which procedures/designs/seating plans address which business goals (more bookings/menu preparation/cut costs) so they can learn about customer service?
Ok, I know I'm an engineer and all, but I don't want to think about individual hosts anymore, but about policy at the service/resource pool level and how these support our business (clusters, elastic groups etc)

I want to contribute to the mission itself!

Ok, I know I'm a planner and all, I don't want to think about individual tables, chairs anymore, but about lounge/restaurant design and how it supports our purpose (public/private rooms, special parties etc).

I want to contribute to the mission itself!

Help me to keep track of all the different software requirements. Save me time so I can think about more important stuff. Help me to see which furniture items can be used in which environments. Save me time so I can think about more important stuff.
Show me choices I have made that are risky, insecure, or fault prone Show me which food/layout decisions cause us trouble every night
Help me with compliance requirements Help me with health and safety requirements
How can I find the machines/sketches with a faulty configuration and fix them? How do I locate the seating groups that have dirty knives, missing forks, etc to fix them?
Tell me who are the stakeholders and business owners/goals associated with this configuration promise? Can I change it? Tell me which customers/users and business objectives are affected by keeping this room layout/these oven settings? Can I change it?

Then we're underway with operations/maintenance

universe #1: IT business universe #2: hotel/restaurant
Having convergent policy maintenance agent so all environments are ready for business and repaired quickly, ready for next user. Having housekeeping and maintenance cleaning restaurant, setting up tables according to the current customer event-plan, bew cutlery and glasses...
Having an inventory DB of hardware is nice to have for auditing once a year, but I'm more interested in knowing if I can get some extra capacity or save cost by reducing ("elastic scaling") Having a list of tables/chairs is good for planning sometimes, but I'm more interested in knowing if I can get some extra capacity, or save space by removing some? (Can I adapt to business needs? Where can I get stuff when I need it?)
How could I see if there is likely to be an outage beause I am overloading? How can I see if the fuse is likely to blow, or the shelf will collapse because I am overloading?
I find myself staring at logs, notifications, alarms, waiting for someting to happen... help me to look at something more relevant to the business! I find myself staring at smoke detectors, timers, waiting for something to happen... help me to look at something more relevant to the business!
How can I keep track of the user experience: software versions, defaults, response time How can I keep track of the user experience: temperature, lighting, waiting time?
Show me your infrastructure dashboard Show me the electrical panel and fusebox
No, show me a business dashboard that shows me how design and performance are related No, show me how bookings, sales, progress boards, depend on design choices
I want some analytics. How does business result depend on operational configuration policy? (response time, queue length, service implementation) I want some analytics. How does business result depend on operational design/decisions? (meal delivery time, number of tables in restaurant, menu design)
Thinking ahead: what else do I need to associate with this error message/configuration/OS type Share your experience: what other things do I need to associate with this event/menu/type of knife? (people, use cases, technical resources, )

Hmmm ... I might be onto something ...

Time to read The Phoenix project?