Configuration, Provisioning and Deployment Software (Infrastructure as code)

1 - About

This software are use in DevOps pipeling for Code Shipping - Continuous (development|Deployment)

Software that:

3 - Type

3.1 - Configuration management

A configuration management tool means they are designed to install and manage software on existing servers.

Configuration management tools install and manage software on a machine that already exists.

Example: Chef, Puppet, Ansible, and SaltStack

3.2 - orchestration tools

A orchestration tool means it will provision the servers themselves, leaving the job of configuring those servers to other tools.

4 - Architecture

  • client-only architecture for CloudFormation, Ansible, and Terraform
  • client/server architecture by default for Chef, Puppet, and SaltStack

5 - State

  • a procedural style where you need to check the state before making any changes. Chef and Ansible
  • a declarative style where you defined the wanted state. Terraform, CloudFormation, SaltStack, and Puppet

6 - List

Name Type Other
Python
Fabric Functional
Ansible, Red Hat Declarative ansible-semaphore/semaphore Opensource alternative at Tower written in (Go)
Salt (Python) Command line and declarative
Go
Sup Leverage bash script
Ruby
chef - Chef Ruby
Puppet
Capistrano
Foreman
Java
Jenkins Ssh Publish Over SSH plugin with a parametrized job
Powershell
Azure Windows PowerShell Desired State Configuration (dsc)

7 - Documentation / Reference

code/shipping/configuration_management.txt ยท Last modified: 2018/10/29 20:07 by gerardnico