icon over onsOnderscheiden door kennis en kunde

Configuration Management

Terwijl een applicatie door diverse testomgevingen gaat richting zijn productieomgeving blijven er veel dingen hetzelfde maar een aantal variabelen zijn juist omgeving specifiek. De gecompileerde code, HTML en plaatjes van een web applicatie blijven hetzelfde, maar de te gebruiken database of security configuratie zijn omgeving specifiek ingericht. Je wilt een functionele test in je testomgeving niet tegen de werkelijke productiedata testen.

Configuratiefouten in de OTAP omgevingen zijn vaak de oorzaak van vertragingen bij het in productie nemen van een applicatie. Een configuratiebestand voor Accepatie verwijst nog naar de Testomgeving waaruit het kwam. Ook het niet synchroon zijn van verschillende omgeving voor softwarecomponenten is een oorzaak van fouten. Denk hierbij aan verschillende versies van een HTTP-server of database software in verschillende OTAP omgevingen.

Dit soort fouten zijn te voorkomen door met een configuratiemanagementtool alle omgevingen beschrijven. Als een applicatie dan opschuift in de build pipeline naar een nieuwe omgeving, worden automatisch de omgevingsvariabelen goed gezet en gecontroleerd of versies van software waarop de applicatie moet draaien synchroon zijn.

Soms gaat configuratie management over in geautomatiseerde deployments. De tool beheert dan niet allen de configuratie items maar doet ook de installatie (continuous integration)


Managed IT infrastructuur als CodeMet Puppet kun je wijzigingen in de configuratie van een server vastleggen in een recept. Hiermee kun je snel nieuwe servers inrichten en weet je dat je altijd met dezelfde configuraties werkt op een server. Puppet werkt met een centrale server (master) waar alle configuraties worden vastgelegd. Op elke te beheren server wordt een agent geïnstalleerd die de configuraties ophaalt. Dit kan ook geagendeerd worden, zodat de Puppet agent bijvoorbeeld elk halfuur synchroniseert met de Puppet master.


Tool voor continuous deploymentsAnsible is wat breder qua functionaliteit dan Puppet. Naast configuratiemanagement op OS niveau is het mogelijk applicaties te installeren. Wat binnen Puppet een recept heet, wordt bij Ansible een playbook genoemd. Ansible is uitstekend geschikt om een server mee uit te rollen, of te herinstalleren en wordt ook gebruikt om webservices of maatwerkapplicaties mee te installeren op de geconfigureerde server. Ansible heeft wel een centrale server maar gebruikt geen agent op de te beheren servers. Synchronisatie gebeurt via SSH en Python van de te beheren servers


Andere oplossingen in de markt:

  • CFEngine
  • Chef
  • Urbancode
  • Vagrant