Skip to content

Versioning and Lifecycle Management

What is Versioning?

Versioning (German: "Versionsverwaltung") is a feature in S3‑compatible storage systems that allows multiple versions of an object to be stored in a bucket. Every time an object is overwritten or deleted, a new version is created while older versions are retained. This provides protection against accidental overwriting or deletion of data and enables the restoration of previous versions.

Typical use cases for Versioning:

  1. Data protection:

    • Guard against accidental deletion or overwriting of objects
    • Restore data after errors or attacks (e.g., ransomware)
  2. Data history and auditing:

    • Track changes to documents or files
    • Meet compliance requirements (e.g., GoBD, GDPR)
  3. Development and collaboration:

    • Manage different versions of configuration files or project documents
    • Collaborate in teams with parallel changes

Key characteristics of Versioning:

  • Automatic version creation: Every change or deletion generates a new version
  • Restoration capability: Older versions can be retrieved at any time
  • Storage consumption: Older versions occupy storage space until they are explicitly deleted
  • Delete protection: Deleted objects remain as a version as long as versioning is enabled

What is Lifecycle Management?

Lifecycle Management (German: "Lebenszyklus‑Management") enables automatic handling of objects in a bucket based on predefined rules. These rules dictate how objects are treated over their lifecycle, e.g., moving them to other storage classes or deleting them after a certain period. Lifecycle Management helps optimise storage costs and meet compliance requirements.

Typical use cases for Lifecycle Management:

  1. Cost optimisation:

    • Automatic deletion of outdated or no‑longer‑needed data
  2. Compliance and data retention:

    • Automatic deletion of data after statutory retention periods expire
    • Managing data according to regulatory requirements
  3. Data organisation:

    • Automatic archiving or deletion of temporary files
    • Managing log files or backups

Key characteristics of Lifecycle Management:

  • Automation: Rules are automatically applied to all or specific objects in the bucket
  • Cost efficiency: Reduces storage costs by deleting data
  • Flexibility: Supports multiple rules for different objects or prefixes
  • Combination with Versioning: Can be applied to specific versions of objects (e.g., deleting old versions)

Difference between Versioning and Lifecycle Management

Feature Versioning Lifecycle Management
Goal Protection and restoration of data Automatic management of the lifecycle
Storage consumption Increases due to storing old versions Decreases by deleting or archiving
Automation No (manual restoration) Yes (automatic rules)
Compliance security High (data restoration) Medium (data retention)
Flexibility Medium (versions manually retrievable) High (customisable rules)