Why Every Object Deserves a Lifecycle: Building Greener Storage with DTZ ObjectStore

created: Donnerstag, Nov. 6, 2025

Introduction

In der Cloud-Entwicklung behandeln wir Speicher oft als unendlich. Jeder Log, jedes Backup oder Datenset, das wir erstellen, wird unbegrenzt aufbewahrt – nicht weil es immer nützlich ist, sondern weil das Löschen als riskant empfunden wird. Doch diese Denkweise treibt stillschweigend sowohl Kosten als auch den CO₂-Fußabdruck in die Höhe.

Die Wahrheit ist: die meisten gespeicherten Objekte sollten nicht ewig leben. Von temporären Build-Artefakten über kurzfristige Exporte bis hin zu kurzlebigen Analyse-Datensätzen hat ein Großteil der produzierten Daten eine natürliche Lebensdauer. Die Herausforderung besteht darin, diesen Lebenszyklus mit unseren Systemen in Einklang zu bringen.

Bei DownToZero.Cloud haben wir DTZ ObjectStore genau nach diesem Prinzip entwickelt. Es geht nicht nur um effizientes Speichern von Daten – sondern darum, es verantwortungsbewusst zu tun.

The Problem with Perpetual Storage

Jedes Objekt in der Cloud verbraucht mehr als nur Speicherplatz. Es benötigt:

Diese dauerhafte Aktivität findet auch für Daten statt, die nie wieder abgerufen werden. Im Wesentlichen hat unser Speicher einen CO₂-Schatten – und unkontrollierte Datenlebenszyklen lassen diesen im Laufe der Zeit immer größer werden.

Designing with Time in Mind

Eines der Kern-Green Software Patterns ist Datenlebenszyklus-Management – das sicherstellt, dass digitale Ressourcen mit ihrer realweltlichen Relevanz übereinstimmen.

In der Praxis bedeutet das:

Wenn Sie dieses Muster anwenden, gehen die Vorteile über Nachhaltigkeit hinaus:

How DTZ ObjectStore Makes Lifecycles First-Class

Der DTZ ObjectStore Service ist mit Lifecycle-Management im Kern konzipiert. Anders als in traditionellen Speichersystemen, wo TTLs eine nachträgliche Ergänzung sind, ist diese Fähigkeit bei DTZ fest im Objekt-Erstellungsprozess verankert.

1) Per-Object TTL via HTTP Headers

Hängen Sie eine TTL an, wenn Sie hochladen. Nutzen Sie entweder eine relative Dauer (X-DTZ-EXPIRE-IN) oder einen absoluten Zeitstempel (X-DTZ-EXPIRE-AT). Übermitteln Sie Ihren API-Schlüssel als X-API-KEY.

Basis-URL: https://objectstore.dtz.rocks/api/2022-11-28

Upload mit TTL von 24 Stunden (Dauer):

curl -X PUT \
  "https://objectstore.dtz.rocks/api/2022-11-28/obj/logs/builds/2025-11-05.json" \
  -H "X-API-KEY: $DTZ_API_KEY" \
  -H "X-DTZ-EXPIRE-IN: P1D" \
  --data-binary @build-output.json

Upload, das zu einem festen Zeitpunkt abläuft (RFC-3339):

curl -X PUT \
  "https://objectstore.dtz.rocks/api/2022-11-28/obj/exports/report.csv" \
  -H "X-API-KEY: $DTZ_API_KEY" \
  -H "X-DTZ-EXPIRE-AT: 2025-12-01T00:00:00Z" \
  --data-binary @report.csv

2) Reading, Inspecting, and Listing Objects

Ein Objekt herunterladen:

curl -s \
  "https://objectstore.dtz.rocks/api/2022-11-28/obj/exports/report.csv" \
  -H "X-API-KEY: $DTZ_API_KEY" -o report.csv

Metadaten prüfen (inklusive serverseitig berechneter Ablaufzeit):

curl -I \
  "https://objectstore.dtz.rocks/api/2022-11-28/obj/exports/report.csv" \
  -H "X-API-KEY: $DTZ_API_KEY"
# Achten Sie auf Header wie:
# X-DTZ-EXPIRATION: 2025-12-01T00:00:00Z

Objekte per Prefix auflisten:

curl -s \
  "https://objectstore.dtz.rocks/api/2022-11-28/obj/?prefix=logs/builds/" \
  -H "X-API-KEY: $DTZ_API_KEY" \
  | jq .
# Antwort enthält pro Objekt Felder wie key, size, lastModified und expiration.

Frühzeitiges Löschen (falls nötig):

curl -X DELETE \
  "https://objectstore.dtz.rocks/api/2022-11-28/obj/exports/report.csv" \
  -H "X-API-KEY: $DTZ_API_KEY"

3) Energy-Aware Cleanup

Das Löschen jedes Objekts erfolgt in zwei Phasen. Sobald ein Objekt seine Ablaufzeit erreicht, ist es über die API nicht mehr zugänglich, bleibt aber im Speichersystem erhalten (und wird zu diesem Zeitpunkt nicht mehr berechnet). Die tatsächliche Löschung wird in Batches in CO₂-armen Zeitfenstern geplant, um den Fußabdruck von Hintergrundprozessen zu minimieren – so wird die Durchsetzung des Lebenszyklus zu einem Hebel für Nachhaltigkeit, nicht nur zu einer operativen Aufgabe.

From Policy to Practice

Lifecycle heißt nicht, unbedacht zu löschen – sondern mit Absicht zu gestalten. Erfolgreiche Muster sind:

Definieren Sie die Regeln einmal und lassen Sie das System sich kontinuierlich selbst optimieren – mit weniger Verbrauch, geringeren Kosten und mehr Leistung bei gleichem Energieeinsatz.

The Shared Goal: Sustainability by Design

Das Management von Objekten-Lebenszyklen spiegelt direkt den Green-Software-Ethos wider: nicht genutzte Speicherressourcen löschen und standardmäßige Aufbewahrungsrichtlinien setzen – eine kleine, bewusste Fürsorgehandlung, die skaliert.

Bei DownToZero.Cloud trifft gute Ingenieurskunst auf gute Bürgerschaft. Unsere Mission ist es, Entwickler zu befähigen, für Null Abfall zu entwerfen – wo Daten nur so lange leben, wie sie gebraucht werden, und nicht länger.

GitHub Actions Integration

Das Management von Objektlebenszyklen lässt sich nahtlos in CI/CD-Pipelines integrieren. DTZ bietet spezielle GitHub Actions zum Hoch- und Herunterladen von Objekten mit integrierter Ablaufzeit-Unterstützung:

Beispiel: Upload eines Build-Artefakts mit 30-tägiger Ablaufzeit

- name: Upload build artifact
  uses: DownToZero-Cloud/objectstore-upload@main
  with:
    api_key: ${{ secrets.DTZ_API_KEY }}
    name: build.zip
    expiration: P30D

So lassen sich Lifecycle-Richtlinien mühelos direkt in Deployment-Workflows einbinden – und temporäre Artefakte sammeln sich nicht unendlich an.

Conclusion

Speicher sollte dynamisch, nicht statisch sein.

Indem Sie Lifecycle-Bewusstsein in Ihre Architektur einbetten, reduzieren Sie Cloud-Abfall und nehmen ein nachhaltiges Designmuster an, das dem Planeten, Ihrer Plattform und Ihren Nutzern gleichermaßen zugutekommt.

DTZ ObjectStore macht aus diesem Prinzip Praxis – und gibt jedem Objekt eine Geschichte, einen Zweck und vor allem ein Ende.