more reasons to use cdist
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
		
					parent
					
						
							
								9e9271fd4f
							
						
					
				
			
			
				commit
				
					
						2b32e1e9f4
					
				
			
		
					 1 changed files with 35 additions and 1 deletions
				
			
		| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
[[!meta title="Why should I use cdist?"]]
 | 
					[[!meta title="Why should I use cdist?"]]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[!toc]]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
There are several motivations to use cdist, these
 | 
					There are several motivations to use cdist, these
 | 
				
			||||||
are probably the most popular ones.
 | 
					are probably the most popular ones.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,8 +32,40 @@ If you compare regular shell scripting with cdist, there is one major
 | 
				
			||||||
difference: When using cdist types,
 | 
					difference: When using cdist types,
 | 
				
			||||||
the results are 
 | 
					the results are 
 | 
				
			||||||
[idempotent](https://en.wikipedia.org/wiki/Idempotence). 
 | 
					[idempotent](https://en.wikipedia.org/wiki/Idempotence). 
 | 
				
			||||||
In practise, that means it does not matter in which order you 
 | 
					In practise that means it does not matter in which order you 
 | 
				
			||||||
call cdist types, the result is always the same.
 | 
					call cdist types, the result is always the same.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Zero dependency configuration management
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Cdist requires very litte on a target system. Even better,
 | 
				
			||||||
 | 
					in almost all cases all dependencies are usually fulfilled.
 | 
				
			||||||
 | 
					Cdist does not require an agent or a high level programming
 | 
				
			||||||
 | 
					languages on the target host: it will run on any host that
 | 
				
			||||||
 | 
					has an **ssh server running** and a posix compatible shell
 | 
				
			||||||
 | 
					(**/bin/sh**).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Push based distribution
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Cdist uses the push based model for configuration. In this
 | 
				
			||||||
 | 
					scenario, one (or more) computers connect the target hosts
 | 
				
			||||||
 | 
					and apply the configuration. That way the source host has
 | 
				
			||||||
 | 
					very little requirements: Cdist can even run on a sysadmin
 | 
				
			||||||
 | 
					notebook that is loosely connected to the network and has
 | 
				
			||||||
 | 
					limited amount of resources.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Furthermore, from a security point of view, only one machine 
 | 
				
			||||||
 | 
					needs access to the target hosts. No target hosts will ever
 | 
				
			||||||
 | 
					need to connect back to the source host, which contains the
 | 
				
			||||||
 | 
					full configuration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Highly scalable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If at some point you manage more hosts than can be handled from
 | 
				
			||||||
 | 
					a single source host, you can simply add more resources: Either
 | 
				
			||||||
 | 
					add more cores to one host or add hosts.
 | 
				
			||||||
 | 
					Cdist will utilise the given resources in parallel.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Integration into inventory management
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[!tag cdist unix]]
 | 
					[[!tag cdist unix]]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue