Idempotentie

Een operatie is idempotent als je hem meerdere keren kunt uitvoeren met steeds hetzelfde eindresultaat als wanneer je hem één keer uitvoert. Het draait niet om het aantal uitvoeringen, maar om de eindtoestand.

Voorbeeld

  • Idempotent: een tool die gebruiker jan aanmaakt als hij niet bestaat, en niets doet als hij al bestaat
  • Niet idempotent: een regel toevoegen aan een bestand — elke uitvoering voegt een extra regel toe

Waarom het belangrijk is

Configuratiebeheersystemen zoals Ansible zijn idempotent: je kunt dezelfde playbook meerdere keren draaien en het systeem bereikt altijd de gewenste toestand zonder dubbele wijzigingen.

In HTTP is GET idempotent (ophalen verandert niets), PUT is idempotent (zet resource op een bepaalde waarde), maar POST is dat niet altijd — het kan elke keer een nieuw record aanmaken.

Zie ook

  • ansible — idempotent configuratiebeheer
  • iac — Infrastructure as Code steunt op idempotentie
  • cicd — geautomatiseerde pipelines profiteren van idempotente stappen
  • rest — HTTP-methoden en idempotentie
ictlinuxbeheer