Warum Sie eine Aufbewahrungsstrategie für Software-Daten brauchen – und wie Sie sie entwickeln
Täglich liefern Ihre Entwickler neue Software aus. Ein Teil davon gelangt in die Produktion, doch viele dieser inkrementellen Builds tun das nicht. Auch wenn Sie solche Builds und ältere Release-Versionen nicht wahllos löschen sollten, können diese – wenn sie unkontrolliert wachsen – Ihre Software-Repositories sowie die daran gekoppelten Workflows und Systeme erheblich belasten.
Tägliche Aktivitäten in der Entwicklung, unternehmensinterne Richtlinien sowie Anforderungen im Bereich Datenschutz und Cybersicherheit verpflichten Organisationen oft dazu, bestimmte Software-Daten über definierte Zeiträume – teils über mehrere Jahre hinweg – vorzuhalten. Eine durchdachte Strategie zur Datenaufbewahrung in der Softwareentwicklung ist unerlässlich, um einerseits die Repositories sauber und performant zu halten und andererseits wichtige Software-Artefakte zuverlässig zu archivieren.
Was sind Aufbewahrungsrichtlinien für Daten in der Softwareentwicklung?
Im Zentrum jeder Software-Datenaufbewahrungsstrategie stehen spezifische Aufbewahrungsrichtlinien. Eine solche Software-Retention-Policy ist eine Form der allgemeinen Datenaufbewahrungsrichtlinie, die regelt, wie lange Software-Artefakte, die im Entwicklungsprozess verwendet oder erzeugt werden, von einer Organisation gespeichert werden müssen – sei es in operativen Systemen oder in Archiven.
Software-Retention-Policies lassen sich in zwei Kategorien einteilen: Löschrichtlinien und Archivierungsrichtlinien
- Löschrichtlinien legen fest, wann veraltete und nicht mehr benötigte Artefakte samt ihrer Metadaten aus dem Speicher und den Datenbanken entfernt werden. Nach dem Löschen sind diese Artefakte dauerhaft verloren.
- Archivierungsrichtlinien definieren, wann Artefakte und ihre Metadaten aus operativen Repositories in ein dediziertes Langzeitarchiv verschoben werden. Diese Artefakte werden über längere Zeiträume hinweg aufbewahrt, jedoch außerhalb der produktiven Systeme, in einem dafür vorgesehenen Archivierungsbereich.
Worauf Sie bei der Erstellung Ihrer Aufbewahrungsrichtlinien für Software-Daten achten sollten
Jede Organisation hat spezifische Anforderungen, die bestimmen, wie Retention-Policies definiert und umgesetzt werden. Die Erstellung solcher Richtlinien sollte stets in enger Abstimmung mit der Rechts- oder Revisionsabteilung erfolgen. Hier sind vier zentrale Bereiche, die Sie beim Erarbeiten Ihrer Policies berücksichtigen sollten:
Ressourcenverfügbarkeit
Die Ressourcenverfügbarkeit umfasst zwei Kategorien: Personal und Technologie.
Ein Überblick über Ihre personellen Ressourcen hilft dabei einzuschätzen, wie sehr Ihre Retention-Strategie manuell* gesteuert werden kann – vom Löschen von Artefakten über Audits bis hin zur Archivierung. Wenn Sie eine selbst entwickelte oder interne Lösung zur Umsetzung Ihrer Richtlinien aufbauen, sollten Sie den Aufwand für Einrichtung und Wartung, manuelle Datenbereinigung, Verschieben von Artefakten in das Archiv sowie die Bereitstellung von Reports für Audit-Teams berücksichtigen.
Auf technologischer Ebene geht es u. a. um den verfügbaren Speicherplatz – in der Cloud oder auf eigenen Servern. Sie sollten Ihre vorhandenen Tools daraufhin prüfen, ob und wie sie die Automatisierung Ihrer Retention-Policies unterstützen können. Bei Eigenentwicklungen brauchen Sie zudem technische Ressourcen zur Wartung und Absicherung der Tools.
* In den meisten Fällen empfiehlt JFrog die vollständige Automatisierung von Löschung und Archivierung, um menschliche Fehler zu vermeiden.
Regulierungsvorgaben
Es ist wichtig, zu verstehen, welchen Vorschriften Ihre Organisation unterliegt, da diese vorgeben, welche Arten von Software-Assets Sie aufbewahren müssen und wie lange. Typische Vorschriften, die Sie berücksichtigen sollten, sind:
- Sarbanes-Oxley – mehr erfahren
- DSGVO – mehr erfahren
- ISO – mehr erfahren
- HIPAA – mehr erfahren
- PCI – mehr erfahren
Ihre Entwicklungsprozesse
Der Software-Lebenszyklus (SDLC) ist in jeder Organisation einzigartig. Beim Einrichten von Aufbewahrungsrichtlinien müssen Sie berücksichtigen, wie lange inkrementelle Builds und andere Assets für Ihre Entwickler zugänglich bleiben sollen. JFrog arbeitet beispielsweise mit einem großen Einzelhändler zusammen, der alle inkrementellen Builds in ein einziges Repository veröffentlicht, das am Ende jedes Tages geleert wird. Ihre Entwicklungsprozesse und Ihr SDLC beeinflussen maßgeblich Ihre Strategie zur Software-Aufbewahrung – insbesondere im Hinblick auf Richtlinien zur Bereinigung.
Geschäftliche Anforderungen und Datenverfügbarkeit
Auch Ihre Kennzeichnungsstrategie für Assets, die unter eine bestimmte Richtlinie fallen, sowie die verfügbaren Optionen spielen eine Rolle. Vier der wichtigsten Kriterien sind: Alter,
Nutzung, Versionierungsstatus, Speicherort (in der Regel definiert durch das Repository).
Ein Beispiel: Sie archivieren Docker-Images aus dem „Release“-Repository von Projekt-A, die älter als ein Jahr sind.
Die Kriterien zur Umsetzung Ihrer Richtlinien hängen von Ihrer Speicherstruktur und den verfügbaren Metadaten zur Filterung und Identifizierung von Paketen ab. Ohne eine spezialisierte Lösung zur Verwaltung von Software-Artefakten wird das schnell zur Herausforderung.
Vorteile der Umsetzung von Aufbewahrungsrichtlinien
Das Festlegen und Umsetzen von Richtlinien zur Datenaufbewahrung bringt zahlreiche Vorteile mit sich – sowohl für Ihre Entwicklungsprozesse als auch für Audits und Governance.
- Produktivitätssteigerung: Gut gepflegte Repositories liefern schnellere Builds und schnelleren Zugriff auf Assets. Entwickler arbeiten mit den richtigen Softwareversionen, was Fehler und Nacharbeitungen vermeidet. Automatisierte Richtlinien sparen manuelle Arbeit in den Dev-, DevOps– und Infra-Teams.
- Kostenkontrolle: Mit wachsendem Softwarebestand steigen auch die Speicher- und Verwaltungskosten. Richtlinien helfen, unnötige Ressourcenverschwendung zu vermeiden.
- Erleichterte Compliance: Dokumentierte und implementierte Richtlinien sind essentiell für regulatorische und interne Vorgaben. Automatisierung stellt sicher, dass nichts vergessen oder übersehen wird.
- Vermeidung von Datenverlust: Klare Definitionen dazu, was, wann und wie gelöscht wird, verhindern unbeabsichtigte Löschungen. Automatisierung reduziert menschliche Fehler beim Aufräumen und Archivieren.
Best Practices für Richtlinien zur Software-Datenaufbewahrung
Setzen Sie Ihre Richtlinien am besten über Ihre Artefaktmanagement-Lösung um, da dort alle Software-Artefakte, Builds und Releases verwaltet werden. Einige Tipps:
- Automatisieren Sie alles: Prüfen Sie, welche Automatisierungsfunktionen Ihre Lösung bietet. Manuelles Vorgehen kostet Zeit und birgt Fehlerpotenzial.
- Führen Sie Testläufe durch: Testen Sie neue Richtlinien im „Dry Run“, um ungewollte Nebeneffekte zu vermeiden.
- Metadaten erhalten: Archivieren Sie Metadaten gemeinsam mit den Artefakten, damit Audit- und DevOps-Teams den vollen Kontext behalten.
- Nutzen Sie externe Archivierungsservices: Die Archivierung veröffentlichter Software ist wichtig, bringt aber keinen direkten Mehrwert. Ein externer, skalierbarer Archivierungsservice spart Ressourcen und Aufwand.
Aufbewahrung vereinfachen – mit Ihrem Artefakt Manager
Falls Sie noch keine geeignete Artefaktmanagement-Lösung im Einsatz haben oder diese nicht über die nötigen Funktionen verfügt, bietet JFrog die passende Plattform. Mit der JFrog Platform können Sie eine automatisierte Aufbewahrungsstrategie umsetzen, die Produktivität und Compliance gleichermaßen unterstützt – ganz ohne Aufwand.
Erfahren Sie mehr über Software-Retention und wie JFrog Sie bei der Umsetzung Ihrer Strategie unterstützen kann – im On-Demand-Webinar.