Zusammenfassung

  • Wer ein bestehendes Tag auf ein neues Image setzt, lässt das alte Image bei DigitalOcean über seinen Digest erreichbar. Es belegt weiterhin Speicher.
  • Images ohne Tag zählen zum Kontingent. Erst getrennte Entscheidungen über Manifeste und nicht mehr referenzierte Schichten führen zur tatsächlichen Speicherfreigabe.
  • Die automatische Bereinigung ist eine öffentliche Vorschau mit Anmeldung und arbeitet ohne Schreibschutzphase. Bei der manuellen Variante kann schon das Warten vor dem Start bis zu 15 Minuten dauern.

Beim Aufräumen ist „Abbrechen“ ein bemerkenswert optimistisches Wort. DigitalOcean zeigt nach dem Abbruch einer manuellen Registry-Bereinigung an, wie viele Blobs bereits gelöscht wurden und wie viel Platz frei geworden ist. Die Arbeit kann aufhören. Der erledigte Teil bekommt deshalb keinen Rückwärtsgang.

Das ist ein guter Einstieg in eine kleine Cloud-Ausgabe mit einer größeren Managementfrage: Wer darf entscheiden, welche alten Softwareversionen verschwinden? Die Antwort sollte feststehen, bevor jemand Speicher sparen soll. Ein Bereinigungsauftrag ist ein schlechter Ort, um nebenbei die Rückfallstrategie des Unternehmens zu erfinden.

DigitalOcean Container Registry bewahrt nämlich mehr Geschichte auf, als eine Liste aktueller Namen vermuten lässt. Laut Schnellstartanleitung verschiebt ein neues Image unter einem bestehenden Tag dessen Ziel. Das vorherige Image bleibt über seinen Digest zugänglich und belegt weiterhin Speicher. Der Name zieht um; sein früherer Bewohner bleibt im Haus.

Ohne Schild ist noch lange nicht ausgezogen

Ein Tag ist ein handlicher Name für Menschen und Auslieferungswerkzeuge. Ein Digest bezeichnet eine bestimmte Version. Diese Trennung ist nützlich: Der übliche Name kann auf die neue Lieferung zeigen, während eine genau bestimmbare ältere Fassung erhalten bleibt.

Für einen notwendigen Rücksprung kann das gutes Geld wert sein. Auch eine Untersuchung mag ein konkretes Artefakt benötigen. Daneben kann derselbe Speicher allerdings Experimente beherbergen, deren Anlass längst vergessen wurde. Der technische Zustand „ohne Tag“ enthält keine Bewertung dieser Zwecke.

Die Preisdokumentation stellt klar, dass auch Images ohne Tag zum Speicherkontingent zählen. Die Bereinigungsanleitung unterscheidet wiederum die einzelnen Gegenstände. Das Löschen eines Digests entfernt zugehörige Tags. Nach dem Löschen eines Manifests können Schichten übrig bleiben, auf die kein Manifest mehr verweist. Diese unreferenzierten Daten müssen eingesammelt werden, damit Platz frei wird.

Ein behaltenes Manifest kann seine Schichten weiterhin referenzieren, obwohl das Image kein Tag mehr trägt. Taglos ist deshalb etwas anderes als unreferenziert. Wer die Begriffe zusammenzieht, überschätzt entweder die Leistung der Automatik oder unterschätzt den Inhalt eines Löschauftrags.

Auch die interne Erfolgsmeldung verdient Genauigkeit. „Die alte Version ist ersetzt“ kann eine abgeschlossene Veröffentlichung beschreiben. Für „die alten Daten sind entfernt“ und „die Speicherrechnung sinkt“ braucht es weitere Tatsachen. Eine einzige Operation sollte nicht gleich drei Erfolge in der Kostenübersicht verbuchen.

Der automatische Hausmeister hat einen begrenzten Auftrag

DigitalOcean bietet automatische Garbage Collection als öffentliche Vorschau an. Nach Anmeldung und Aktivierung bereinigt sie laufend unreferenzierte Schichten im Hintergrund. Anders als die manuelle Variante benötigt sie dafür keinen vorübergehenden Nur-Lese-Modus der Registry.

Das ist eine konkrete Verbesserung. Speicherpflege muss weniger mit dem Hochladen neuer Images um einen Termin konkurrieren. Aus der Beschreibung folgt aber auch, wo der Auftrag endet: Die Automatik verarbeitet fehlende technische Referenzen. Sie entscheidet nicht, welche Version ein Unternehmen für einen Rücksprung noch benötigt.

Die manuelle Bereinigung besitzt eine separate Option, Manifeste ohne Tags mitzulöschen. Dieser zusätzliche Schritt ist keine Nebensächlichkeit. Er verbindet eine Entscheidung über aufzubewahrende Geschichte mit dem anschließenden Entfernen nicht mehr benötigter Bestandteile.

Ein Team kann deshalb auf zwei Arten zu viel erwarten. Es kann glauben, die automatische Funktion werde jede alte Version beseitigen. Oder es kann alle taglosen Manifeste großzügig zum Abfall erklären, obwohl ein anderes Team einen ihrer Digests als Rückfallpunkt vorgesehen hat. Im ersten Fall bleibt unnötiger Bestand. Im zweiten wird möglicherweise eine beabsichtigte Option aufgegeben.

Der Hausmeister kennt die Verweise. Den geschäftlichen Wert der Sammlung muss ihm jemand anders erklären.

Zehn Registrys teilen sich den Speicher

Der Professional-Tarif erlaubt bis zu zehn Registrys. Ihr Speicher wird gemeinsam genutzt. Die enthaltenen 100 GiB werden nicht für jede Registry erneut ausgegeben. Eine saubere organisatorische Trennung schafft zusätzliche Adressen, keine Vervielfachung des Kontingents.

Die veröffentlichte Preisliste nennt für Basic 5 Dollar monatlich mit 5 GiB, für Professional 20 Dollar mit 100 GiB. Zusätzlicher Speicher wird am Tagesende erfasst und nach den Tagen mit Überschreitung im jeweiligen Monat anteilig berechnet. Eine Einsparung braucht daher eine gemessene Datenmenge und einen Zeitraum.

Die Zahl gelöschter Tags liefert beides nicht. Auch die sichtbaren Größen alter Images lassen sich nicht bedenkenlos zu einer erwarteten Freigabe addieren: Andere Manifeste können gemeinsame Schichten weiter benötigen. Erst der tatsächlich zurückgewonnene Platz zeigt, was die Bereinigung beim Bestand verändert hat.

Das Aufbewahren ausgewählter Versionen kann eine vernünftige Ausgabe sein. Jede jemals gebaute Version ohne erneute Entscheidung zu behalten, ist eine andere Einkaufspolitik. Sie wächst mit der Baugeschwindigkeit und der Größe der Artefakte, selbst wenn niemand beschlossen hat, ein unbegrenztes Softwarearchiv zu finanzieren.

Zwei Fristen, zwei verschiedene Zustände

Bei der manuellen Bereinigung wird die Registry vorübergehend schreibgeschützt. Vor dem eigentlichen Beginn wartet DigitalOcean darauf, dass zuvor erteilte Schreibberechtigungen auslaufen. Je nachdem, wann der letzte Schreibvorgang begann, kann das bis zu 15 Minuten beanspruchen.

Diese Zeit liegt vor der Sammlung. Sie ist keine Zusage über deren gesamte Dauer. Wer manuell bereinigt, muss den Vorgang mit Schreibarbeiten abstimmen. Dass eine automatische Vorschau verfügbar ist, belegt zudem nicht, dass die betreffende Registry bereits daran teilnimmt.

Die Grenze für unvollständige Uploads liegt anders. Bei aktivierter automatischer Bereinigung gelten Image-Uploads, die innerhalb von 24 Stunden nicht abgeschlossen werden, als Teil-Uploads. Ihre Schichten kommen dann für die automatische Sammlung infrage. Das ist eine Zulässigkeit zur Bereinigung, kein sekundengenauer Löschtermin und keine eintägige Lebensdauer vollständiger Images.

Ein Veröffentlichungsprotokoll sollte deshalb zwischen begonnenem Upload und verfügbarer Version unterscheiden. Die Absicht, Material aufzubewahren, ersetzt kein erfolgreich gespeichertes Artefakt. Spätestens bei einem Rücksprung wird aus dieser sprachlichen Ungenauigkeit eine praktische Frage.

Das Inventar braucht eine Begründung

Der Primäreintrag des RIPE NCC verankert die Organisationsidentität DigitalOcean, LLC. Die hier beschriebenen Produkt- und Preisregeln stammen aus DigitalOceans eigenen Unterlagen. Für eine konkrete Kundenrechnung fehlen die Referenzen je Digest, die Aufbewahrungszwecke und die Speicherstände vor und nach der Sammlung; erst sie würden den tatsächlichen Nutzen oder Überschuss beziffern.

Die betriebliche Aufgabe lässt sich trotzdem klar benennen. Gewünschte Geschichte behalten, aufgegebene Geschichte gezielt entfernen und den frei werdenden Bestand messen. Ein altes Image darf bleiben, wenn es etwas leistet. Es sollte nicht allein deshalb bleiben, weil niemand mehr weiß, wer ihm kündigen könnte.

Eine automatische Bereinigung spart Arbeit. Die Entscheidung, welche Vergangenheit das Unternehmen noch braucht, bleibt eine bezahlte Verantwortung.

Primärquellen