Configuration Management Tools.
What is configuration Management?
- Resolves configuration drift
- Maintaining desired state
- The process of systematically handling chnages to a system
- Maintain integrity of a system over time
- Automation plays an key role
- Puppet
- Ansibel
- Chef
- Salt
Examples
Ansible
- Open Source
- Declarative configuration
- YAML configuration files
- No control server needed - but ansible tower available
- No agents needed, just python and ssh
Puppet
- Declarative configuration
- Manage state through a UI
- Custom modules use puppet DSL
- Pushes chnages to clients using control server and agents installed on clients.
Chef
- Procedural configuration
- Agent/Server
- Uses chef DSL
Salt
- Declarative configuration
- Agent (minions) /Server (Master) - but can support agentless
- Uses YAML
- Support for event-driven automation
Note:
Idempotent Behavior - is an operation that can be applied multiple times without changing the result beyound the initial application. E.g. 1 x 1 = 1
- Configuration management tools will avoid reapeating tasks.
- The desired state is maintained even if you run it multiple times.
Why use Configuration Management?
- Quick provisioning of New servers
- Quick Recovery from Critical Events
- No more snowflake
- Version controlfor the server Envirnment
- Replaced Environment
No comments:
Post a Comment