Aus dem Kurs: DevOps – Grundlagen (2018)

Übersicht über die DevOps-Pipeline

Aus dem Kurs: DevOps – Grundlagen (2018)

Übersicht über die DevOps-Pipeline

Zentral für DevOps ist die sogenannte Pipeline. Alle Tätigkeiten, die im Rahmen von DevOps durchgeführt werden, zielen letztendlich auf den Softwarebereitstellungsprozess ab, also all die Dinge, die gemacht werden müssen, so dass aus einer Anforderung Code wird und dieser Code letztendlich in Form einer Applikation dem Kunden zur Verfügung gestellt wird. In diesem Video setzen wir uns daher mit den Teilen dieser Pipeline auseinander, als auch den Anforderungen in eine solche DevOps-Pipeline. Beginnen wir zunächst einmal mit dem Teil von DevOps, der auch in vielen Organisationen implementiert wird, die kein DevOps praktizieren, dem Dev-Anteil oder auch oft Continuous Integration genannt. Im Rahmen dieses Prozesses soll also aus einer Anforderung Code erzeugt werden. Dieser Code wird dann gebaut zu einem Artefakt, und dieses Artefakt wird getestet. Auch im Rahmen von Continuous Integration ist der Prozess zu 100 Prozent zu automatisieren. Im Rahmen von DevOps kommt hier also nur noch vor allem das Stichwort Ops dazu. Die Pipeline wird dann oft als Continuous Delivery oder auch Continuous Deployment bezeichnet. Entscheidend ist hier also, dass das Artefakt, nachdem es getestet wurde, auch sofort zur Verfügung gestellt wird. Das passiert hier in diesem Bild in Form des Release-Prozesses, des Deployments auf einen Server, des Betreibens der Anwendung als solches, als auch des Überwachens, dass die Anwendung weiterhin funktioniert. Erst wenn all diese Aspekte für eine Anforderung garantiert werden können, kann mit einer weiteren Anforderung der Prozess von vorne beginnen. Die Ziele einer solchen Pipeline sind also zunächst einmal die hundertprozentige Automatisierung. Außerdem muss in jedem Prozess so 100 Prozent Transparenz sein, was tatsächlich passiert ist oder passieren wird. Eine Automatisierung ist vor allem nur dann möglich, wenn ein einhalbliches Vorgehen herrscht. Das bedeutet mitunter auch, dass in einer Organisation Software auf ähnliche Art und Weise bereitgestellt wird. Besonders, wenn beispielsweise eine Software in Komponenten entwickelt wird, ist es nötig, dass alle das gleiche Vorgehensprinzip nutzen. Des Weiteren wird mit einer automatisierten Pipeline Qualität sichergestellt, denn durch die kontinuierliche Codequalitätprüfung wird sichergestellt, dass nur Code die Produktionssysteme erreicht, der tatsächlich auch den Anforderungen der Organisation entspricht. Ein sehr nobles, aber oft für viele Organisationen unrealistisches Ziel ist, dass jeder Commit eines Entwicklers das Produktionssystem erreicht. Das kann vor allem nur dann funktionieren, wenn alle Aspekte, die hier bereits genannt worden sind, zu 100 Prozent implementiert werden. Ich hoffe, ich konnte Ihnen nun ausgiebig darstellen, welche Anforderungen in eine Pipeline im Rahmen von DevOps gestellt werden.

Inhalt