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.
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.
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:
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.
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
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"
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.
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.
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.
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.
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.