« Back to Glossary Index

In der IT beschreibt der Begriff immutable (unveränderlich) ein Objekt oder System, dessen Zustand nach der Erstellung nicht mehr verändert werden kann.

1. In der Programmierung (Datenstrukturen)

Ein „immutables“ Objekt ist eine Datenstruktur, die nach ihrer Instanziierung festgeschrieben ist.

  • Wie es funktioniert: Möchte man einen Wert ändern, wird nicht das bestehende Objekt modifiziert. Stattdessen wird eine neue Kopie mit dem aktualisierten Wert erstellt.
  • Vorteile:
    • Threadsicherheit: Da sich Daten nicht ändern, können mehrere Prozessorkerne gleichzeitig darauf zugreifen, ohne dass es zu Konflikten (Race Conditions) kommt.
    • Fehlerreduktion: Seiteneffekte werden vermieden, da Funktionen den Zustand globaler Variablen nicht versehentlich ändern können.
  • Beispiele: In Java oder Python sind Strings immutable. Wenn Sie einen String manipulieren, entsteht im Speicher technisch gesehen ein komplett neuer String.

2. In der Infrastruktur (Immutable Infrastructure)

Hierbei werden Server oder Container niemals „im laufenden Betrieb“ gepatcht oder konfiguriert.

  • Der Prozess: Wenn ein Update oder eine Änderung nötig ist, wird der alte Server gelöscht und durch einen neuen Server (basierend auf einem aktualisierten Image) ersetzt.
  • Vorteile:
    • Vorhersehbarkeit: Man weiß exakt, welcher Code auf dem Server läuft („Configuration Drift“ wird verhindert).
    • Rollbacks: Bei Fehlern schaltet man einfach auf die vorherige, funktionierende Version des Images zurück.
  • Technologien: Docker-Container und Tools wie Terraform fördern diesen Ansatz.

3. In der Datenspeicherung (Immutable Backups)

Ein extrem wichtiger Aspekt für die Cybersicherheit.

  • Schutz vor Ransomware: Daten werden so gespeichert, dass sie für einen festgelegten Zeitraum von niemandem (auch nicht von Administratoren) gelöscht oder verschlüsselt werden können.
  • Technik: Oft als „WORM“ (Write Once, Read Many) bezeichnet.

Zusammenfassung: Der „Einweg-Becher“-Vergleich

  • Mutable (veränderlich): Ein Keramikbecher. Sie trinken daraus, waschen ihn ab und füllen ihn neu. Er verändert über Zeit seinen Zustand (bekommt Kratzer oder Teeränder).
  • Immutable (unveränderlich): Ein Einweg-Pappbecher. Sie benutzen ihn für ein Getränk. Wollen Sie ein anderes Getränk, werfen Sie den Becher weg und nehmen einen fabrikneuen, sauberen Becher. Der Zustand des einzelnen Bechers bleibt immer rein und definiert.
« Zurück zur Übersicht