Sechs Stolpersteine auf dem Weg zu DevOps - Warum ein Binär-Repository-Manager unerlässlich ist - JFrog

Die Seite wird erstellt Kjell Opitz
 
WEITER LESEN
Sechs Stolpersteine
auf dem Weg zu DevOps
Warum ein Binär-Repository-Manager unerlässlich ist
Heutzutage ist jedes Unternehmen ein Softwareunternehmen –
auch Ihres.
Software gehört in Ihrem Unternehmen mittlerweile zum Tagesgeschäft, ob über den Desktop, die Cloud oder ein mobiles
Gerät. Software ist Ihre Verbindung zu jedem Winkel dieser Welt.

Autos sind Computer auf Rädern. Thermostate sind Datenterminals. Ihre Bank haben Sie auf dem Handy.

In dieser neuen Welt erfüllen Softwareupdates die Anforderungen der Kunden. Jedes Update, das Sie liefern, ist Ihre
Gelegenheit, das Vertrauen der Kunden in Ihr Unternehmen weiter zu stärken. Gleichzeitig laufen Sie aber auch jedes Mal
Gefahr, dieses hart erarbeitete Vertrauen mit einem verpfuschten Update auf einen Schlag zu zerstören. Wie können Sie
jedes Update blitzschnell und mit höchster Qualität bereitstellen?

Repository-Management ist die Lösung
Doch welche Probleme gibt es auf dem Weg zu erfolgreichem DevOps zu lösen?
Deshalb ist DevOps wichtig für Ihr Unternehmen. Wenn Sie die Bereitstellung von
qualitativ hochwertiger Software beschleunigen, erfüllen Sie den Kunden ihre
Wünsche und können schnell auf Veränderungen im Markt reagieren.

DevOps beschleunigt die Bereitstellung von hochwertiger Software, indem es
Reibungsverluste zwischen den einzelnen Phasen und Interessenvertretern bei
Prüfung, Bewertung und Freigabe reduziert. Die Ermittlung und Beseitigung dieser
Problempunkte ist die Grundlage für erfolgreiches DevOps.

Ein Binär-Repository-Manager hilft Ihnen, Ihre Builds zu verwalten. Er speichert Ihre
Artefakte, bewahrt aber auch Informationen über sie auf. Dadurch werden
Unsicherheiten reduziert und Ihre Automatisierungstools können ungehindert und
schnell arbeiten.

Doch welche Probleme gibt es auf dem Weg zu erfolgreichem DevOps zu lösen?
Diese sechs Stolpersteine verhindern einen zügigen Release und treten in der Regel
in Software Delivery Pipelines auf. Ein Binär-Repository-Manager kann Ihnen dabei
helfen, diese Probleme zu lösen, und Ihren Kunden rasche, kontinuierliche Updates
zur Verfügung zu stellen.                                                                                                 1
Stolperstein 1:
Fehlende Build-Informationen
Ihre Entwicklerteams können täglich viele Builds erstellen. Wie behalten Sie
die alle im Auge?

Ohne eine vielseitige Lösung wissen Sie vielleicht, welcher Build der aktuelle
ist. Aber wissen Sie auch, welcher Build am besten ist? Außerdem können Sie
den Build-Verlauf nicht verlässlich verfolgen und wissen oft nicht, woher die
vielen Bestandteile stammen.

Können Sie die Problemteile aufspüren und zurücksetzen, wenn Ihre Builds
fehlschlagen? Idealerweise sollten Sie exakt bestimmen können, bei welchen
Builds es Probleme gibt und wo im Buildprozess sie auftreten. Nur so können
Sie oder Ihre Entwickler schnell eine Lösung bereitstellen.

Lösung:
Ein gemeinsames Archiv
Ein zentrales System für Ihre Builds ist eine Single Source of Truth für alle
Artefakte in Ihrer Pipeline. Durch das Organisieren und Versionieren Ihrer
Builds in Repositories können Sie problemlos den am besten funktionierenden
und aktuellen Build finden.

Ein Repository-Manager, der nachverfolgt, wo Artefakte und ihre
Vorgängerversionen verwendet werden, bietet umfangreiche Daten, mit denen
sich alles auf die entsprechende Quelle oder den Vorgänger zurückverfolgen
lässt. Sie erkennen schnell die Unterschiede zwischen den Versionen, erhalten
Einblick in die Entwicklung der einzelnen Versionen und gewinnen Insights, die
Ihnen helfen, Ihre Builds bei Bedarf zu überarbeiten.

                                                                                 2
Stolperstein 2:
Manuelle Prozesse
Jede Stelle in Ihrer Pipeline, die ein manuelles Einschreiten erfordert,
stellt ein Risiko dar. Einzelne Sign-offs sorgen für Verzögerungen.
Redundante Rebuilds für den Release führen zu Unsicherheiten. Skripts
für das Tool-Management oder die Buildbereitstellung, die manuell
geändert, gewartet und ausgeführt werden müssen, sind zeitaufwändig
und fehleranfällig.

Jeder dieser kostspieligen Blöcke verzögert den Prozess.

Lösung:
Automatisierung und Prozessmanagement
Ein zentraler Binär-Manager für Ihre Builds und Artefakte nimmt Ihnen viel
Arbeit ab. Wenn er dann auch noch Informationen über diese Builds und
Artefakte sammelt, bietet er Ihnen damit einen unbezahlbaren Mehrwert.
Je mehr Sie über Ihre Binärdateien wissen, desto besser können Sie ihre
Build-Produktionstools automatisieren. So sind Sie dann in der Lage,
intelligente Entscheidungen zu treffen und Ihre gesamte Pipeline bis zur
Bereitstellung zu vereinheitlichen und zu beschleunigen.

Ihre Repository-Lösung muss Ihren Build-Tools eine umfassende, vielseitige
Schnittstelle für Abfragen und Befehle zur Verfügung stellen, damit Sie
möglichst wenig eingreifen müssen. Wenn eine standardmäßige,
plattformunabhängige Austauschtechnologie wie REST APIs verwendet
wird, können Sie den CI-Server frei wählen.

Sobald Sie Ihre Pipeline automatisieren können, ist sichergestellt, dass
jeder Build-Release nach dem gleichen Prozess entwickelt wurde und
einem gemeinsamen Standard entspricht.

                                                                             3
Stolperstein 3:
Ungeordnete Abhängigkeiten
Entwickler skizzieren Abhängigkeiten für viele Programmiersprachen
und Technologien, jede mit ihren eigenen Anforderungen und
Schnittstellen. Wie lassen sich alle diese Abhängigkeiten verwalten?

Diese externen Ressourcen können sich jederzeit ändern, und die
Qualitätskontrolle reicht von strenger Aufsicht bis hin zu gar keiner.
Wie können Sie sicher sein, wie genau jeder einzelne Build aufgebaut
ist? Wie können Sie bestimmte Builds zuverlässig reproduzieren?
Welche schädlichen Änderungen könnten sich einschleichen?

Darüber hinaus können Ihre Buildprozesse nicht schneller
ausgeführt werden als Ihre Verknüpfung mit diesen
Remoteressourcen. Große Workloads verlangsamen die Builds, ein
Ausfall kann Ihre ansonsten soliden Builds zum Scheitern
verurteilen.

Lösung:
Abhängigkeitsmanagement
Bringen Sie Ihre Abhängigkeiten mit lokalen Repositories unter
Kontrolle, bei denen die Remoteressourcen, in denen Abhängigkeiten
gespeichert sind, über einen Proxyserver zugänglich sind. Mit einem
lokalen Cache dieser Abhängigkeiten ist die benötigte Version immer
verfügbar, sodass Sie Ihre Builds in Rekordgeschwindigkeit fertigstellen
können.

Und es kommt noch besser: Sobald Ihre Abhängigkeiten von Ihrem
binären Verwaltungssystem gesteuert werden, stehen Ihnen dafür
dieselben Informationen zur Verfügung wie für andere Artefakte. So
können Sie ihren Verlauf und ihre Verwendung verfolgen und wissen
immer, welche Version einer Abhängigkeit in den verschiedenen Builds
genutzt wird.                                                        4
Stolperstein 4:
Builds durch die Pipeline bewegen

Viele Pipelines erfordern bei jedem Staging-Übergang von Testen, Validieren
und Freigeben einen neuen vollständigen oder teilweisen Build des Codes.

Jeder neue Build nimmt zusätzliche Zeit in Anspruch und kann dazu führen,
dass jeder Beteiligte manuell bewerten und starten muss. Schlimmer noch:
Da die Entwickler den gemeinsam genutzten Code immer wieder ändern,
bringt jeder neue Build Unsicherheiten mit sich, die es erforderlich machen,
die gleichen Qualitätsprüfungen in jeder Phase zu wiederholen.

Wie wird ein Build, nachdem er die Prüfpunkte durchlaufen hat, physisch in
die nächste Stufe befördert? Ein manueller Prozess zur Weiterleitung eines
Builds an den nächsten Staging-Ort ist fehleranfällig. Außerdem benötigen
Sie eine Möglichkeit, den Status dieses Builds auf seinem Weg durch die
Pipeline an das gesamte Team zu kommunizieren.

Lösung:
Build-Promotion
Beschleunigen Sie Ihre Pipeline, indem Sie für jede Evaluierungsphase ein
separates Repository erstellen und unveränderliche Builds von einem
Repository zum nächsten bereitstellen. Da der identische Build durch
sukzessive strengere Genehmigungen weitergegeben wird, sammelt er auf
seinem Weg durch die Bereitstellungskette laufend Informationen. Dadurch
ist Ihre Pipeline-Automatisierung in der Lage, noch intelligentere
Entscheidungen zu treffen und einsatzbereite Mechanismen wie Webhooks
zu nutzen, um Änderungen an das gesamte Team zu kommunizieren.

                                                                               5
Stolperstein 5:
Wachsenden Anforderungen gerecht werden
Die Anforderungen steigen immer stärker. Große Workloads von vielen
Line-of-Business-Teams können Ihre gesamte Entwicklungspipeline
verlangsamen, während jeder Single Point of Failure in Ihrer Infrastruktur
katastrophale Auswirkungen haben kann.

Geografisch verteilte Teams müssen in der Lage sein, immer die gleichen
Pipelineressourcen mit der gleichen Geschwindigkeit zu erreichen. Und
durch jede Unterbrechung des Dienstes aufgrund von Kapazitätsupdates
oder -upgrades wird wichtige Produktionszeit verschwendet.

Lösung:
Enterprise Readiness
Enterprise-fähige Lösungen bieten die nötige Flexibilität und
Leistungsfähigkeit für spätere Skalierungen.

Ein Repository-Manager in der Cloud kann die Kosten für Speicher und
Computing entsprechend Ihrer Anforderungen unendlich skalieren. Je
mehr Cloud-Anbieter mit Ihrem binären Verwaltungstool kompatibel sind,
desto mehr Kontrolle haben Sie. Und eine SaaS-Abonnementoption stellt
sicher, dass Ihre Ressourcen immer verfügbar und stets aktuell sind.

Eine Konfiguration mit hoher Verfügbarkeit und Aktiv/Aktiv-Clustering kann
die Reaktionsfähigkeit des Repository auch angesichts hoher Workloads
sicherstellen. Diese Redundanz bietet auch Failover für Disaster Recovery
und ermöglicht Erweiterungen und Wartung ohne Ausfallzeiten.

Ein Binär-Manager, der die Replikation mehrerer Standorte unterstützt,
kann geografisch verteilten Teams die regionale Nähe bieten, die sie
brauchen, um Ressourcen ihrer Pipelines schnell weltweit teilen zu
können.
                                                                             6
Stolperstein 6:
Kosten für die Anpassung an den Wandel
Wenn Sie alle Ihre Kunden erreichen möchten, müssen Sie in zahlreichen
Programmiersprachen und über viele Laufzeiten hinweg entwickeln. Eine Abteilung kann für
die Cloud in Go programmieren, während eine andere für Mobilgeräte Java nutzt. Dennoch
hat jede Technologie ihre eigenen Anforderungen und unterstützenden Tools.

Welche Art von Infrastruktur werden Sie für DevOps verwenden? Im Moment ist die
Ausführung in Ihrem eigenen Rechenzentrum möglicherweise die beste und sicherste
Alternative. Aber vielleicht benötigen Sie schon morgen die Flexibilität der Cloud oder müssen
eine Hybridumgebung einsetzen. Sie sollten die Möglichkeit haben, sich für die Anbieter zu
entscheiden, die Ihren Anforderungen am besten entsprechen, und flexibel auf
Anforderungen reagieren können.

Lösung:
Eine universelle Lösung
Ein universeller binärer Repository-Manager automatisiert Ihre Bereitstellungspipeline,
unabhängig davon, welche Programmiersprache verwendet wurde oder auf welcher
Plattform das Ganze läuft. Die Steuerung über REST APIs ermöglicht die Arbeit mit den
Tools, die Sie bereits verwenden.

Als Kernstück Ihres DevOps-Systems muss Ihr binärer Repository-Manager in der Cloud
genauso gut funktionieren wie auf Ihren eigenen On-Premises-Servern. Eine Lösung, die
Builds in diesen Umgebungen problemlos bereitstellen kann, ist DevOps in einer
leistungsstarken Hybrid-Cloud. Und dank der integrierten Unterstützung für alle großen
Anbieter wie AWS, Google Cloud und Azure ist eine Multicloud-Strategie kein Problem. Sie
müssen sich also nicht auf einen Anbieter festlegen.

Wie Sie dafür bezahlen möchten, sollte ebenfalls Ihnen überlassen sein. Ganz gleich, ob Sie
die fixen Lizenzkosten oder ein flexibles SaaS-Abonnement benötigen – mit einer Lösung,
die beide Optionen bietet, können Sie Systeme aufbauen, die nicht nur heute, sondern
auch in Zukunft Ihren Anforderungen entsprechen.
                                                                                                 7
Nächste Schritte
Mit einem voll funktionsfähigen binären Repository-Manager können Sie Ihre Software Delivery Pipeline automatisieren und
eine neue Arbeitsweise entwickeln. Er gibt Ihnen die Kontrolle über Ihre Prozesse und liefert Ihnen Insights, sodass Sie
Probleme umgehen und Ihre Methoden kontinuierlich verbessern können. Wenn Ihr Repository-Manager robust konzipiert ist,
kann er sich flexibel an die speziellen Anforderungen Ihres Unternehmens anpassen.

Genauso wichtig ist, dass Ihr Lösungsanbieter Sie auch beim Thema DevOps unterstützen kann. Und er sollte über
unterschiedliche Ansätze und Branchentrends Bescheid wissen. Vor allem brauchen Sie einen Partner, der sich für Ihren Erfolg
einsetzt.

Über JFrog
JFrog ist der Entwickler von Artifactory, des Herzstücks der End-to-End-Universal DevOps-Plattform zur Automatisierung,
Verwaltung, Sicherung, Verteilung und Überwachung aller Arten von Binärdateien.

Über 5.000 Kunden vertrauen auf Artifactory, darunter 70 % der Fortune 100-Unternehmen. Weltweit führende Marken wie
Amazon, Facebook, Google, Netflix, Uber, VMware und Spotify nutzen JFrog-Lösungen, um die Binärdateien für ihre
geschäftskritischen Anwendungen zu verwalten.

                                                                                                                               8
Sie können auch lesen