cm1
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
4231b160e1
commit
fd8b5c47c0
1 changed files with 80 additions and 0 deletions
80
blog/what-is-configuration-management.mdwn
Normal file
80
blog/what-is-configuration-management.mdwn
Normal file
|
@ -0,0 +1,80 @@
|
|||
[[!meta title="What is configuration management?"]]
|
||||
|
||||
As I'm currently thinking about writing a configuration management tool,
|
||||
I'm sitting in the train and philosophise about
|
||||
the general question: ***What is configuration management (CM)?***
|
||||
|
||||
## View 1: The System
|
||||
|
||||
Let's imagine I am a computer system.
|
||||
What happens to me, if I am put it under version control?
|
||||
Somebody (**a process**) which is running on me, changes
|
||||
stuff on me, so that she (the process) is happy afterwards.
|
||||
|
||||
I recognise that some files are added, changed or deleted.
|
||||
Some processes are being run, some killed.
|
||||
|
||||
That's probably it, because I don't own anything else, she
|
||||
can change.
|
||||
|
||||
## View 2: The Sysadmin
|
||||
|
||||
I'm one of those guys, who are told to do world domination,
|
||||
but got bored. I'm a sysadmin. I am very, very lazy.
|
||||
|
||||
I installed a lot of systems, just for fun.
|
||||
Now somebody (probably even a user!) tells me, he wants
|
||||
something to be changed, because he wants to actually
|
||||
use the system (pretty awkward idea, but heard about
|
||||
those situations).
|
||||
|
||||
As my boss told me that we cannot exist without users,
|
||||
I even consider doing the change, though I'm afraid:
|
||||
|
||||
* What happens if the user requests more changes?
|
||||
* What if the machine crashes?
|
||||
* What if another sysadmin needs to add changes?
|
||||
* What if two system should look very identical, though not completly?
|
||||
|
||||
This leads to some easy objectives:
|
||||
|
||||
* CM must be easy to read and understand, so I can understand tomorrow what I did today.
|
||||
* CM must be able to redo the work
|
||||
* CM must provide a way to have multiple commiters
|
||||
* Having a way to reuse already defined stuff is helpful
|
||||
|
||||
Oh, there's another interesting point:
|
||||
To be able to communicate with a user and to understand him,
|
||||
it would be very helpful, if I can tell my CM **this is what
|
||||
the user wants** instead of **do x, y and z**, which neither
|
||||
the user understand, nor do I know why I did it.
|
||||
|
||||
|
||||
## View 3: The manager
|
||||
|
||||
Yes, it can get even worse, there may be managers or bosses
|
||||
around, who pay the poor sysadmin. The sysadmin claims to do
|
||||
her best job, but as a manager, I don't understand what he's
|
||||
doing. Nor do I really care. I care about the users
|
||||
(which could be customers as well!) and that their demands.
|
||||
And about how many users and how many demands my sysadmin
|
||||
fullfilled. And I want fancy graphics, 24 bit coloured pie
|
||||
charts in 3D and whatever comes to my crazy manager mind.
|
||||
And numbers. Many numbers.
|
||||
|
||||
## View 4: Merging the views
|
||||
|
||||
Assuming these are the players in my first round of CM
|
||||
brainstorming, there are some outcomes:
|
||||
|
||||
* CM must be easy to use, so the lazy sysadmin will use it
|
||||
* CM includes ideas from users
|
||||
* The implementation is done by the sysadmin
|
||||
* Your managers are happy, if the CM outputs "manager readable data"
|
||||
|
||||
## More stuff
|
||||
|
||||
I'll add more ideas about CM here soon. If you (dis|)agree with me,
|
||||
just [let me know|about] so I can include your critics in the next article.
|
||||
|
||||
[[!tag config eth unix]]
|
Loading…
Reference in a new issue