Zurück zur Übersicht

Einfach gemeinsam: Mit DevOps und DevSecOps zum Projekterfolg

ProfilfotoDavid Müller
Geschäftsführer

29.06.2021

Was bedeutet DevOps und DevSecOps eigentlich? Wann eignen sich DevOps und DevSecOps für Ihr Projekt? Hier erfahren Sie, warum Sie mit diesen beiden Methoden Ihr Projekt besser und erfolgreicher führen.


Do you speak DevOps? Der Begriff ist einer der großen Mode Buzzwords im Projektalltag. Bestimmt haben Sie ihn schon oft gehört, aber jede:r versteht etwas anderes darunter. "DevOps ist agiles Zusammenarbeiten – wie Scrum" oder "Das ist 'ne super technische Geschichte. Das machen die Entwickler:innen sowieso so." Im Interview mit Manuel Reinfurt, CTO bei INCLOUD, räumen wir mit den Mythen rund um DevOps auf. Wir erklären Ihnen, was DevOps bedeutet, welche Vorteile es für Ihr Projekt mit sich bringt und warum sich DevSecOps in großen Unternehmen immer größerer Beliebtheit erfreut.

Was ist DevOps eigentlich?

Der Begriff ergibt sich aus zwei Worten: Development (Entwicklung) und Operations (Betrieb). Bei DevOps geht es in erster Linie darum, die Entwicklung und den Betrieb einer Anwendung zu vereinen und beide Vorteile in einer Welt nutzen zu können. Warum wird DevOps als Prozess im Projektablauf eingesetzt? Blicken wir in die Vergangenheit und schauen, wie früher ein Projekt ablief: Im stillen Kämmerlein wurde die Anwendung sechs Monate entwickelt und erst danach wurde sie an das Operations-Team weitergegeben, die sie wiederum betrieben.

Unter der Prämisse von DevOps läuft ein Projekt heute folgendermaßen ab: Im aktiven Entwicklungsprozess wird direkt geschaut, wie Development und Operations verbunden werden können. Die Anwendung wird kontinuierlich entwickelt, gleichzeitig wird sie für das Operations-Team vorbereitet. Die Verzahnung geschieht also schon während der Entwicklung. Die enge Verbindung ermöglicht schnelle Iterationen und professionelle Software-Entwicklung. So schaffen es Software-Dienstleister:innen, Ihnen in kurzer Zeit hohe Qualität zu liefern. Dabei ist Scrum eine unterstützende Methode.

Was ist das Problem am früheren Projektablauf?

Betrachten wir die Entwickler:innenperspektive: Die Entwickler:innen entwickeln, entwickeln, entwickeln. Ist die Anwendung "fertig", wird sie an das Operations-Team übergeben. Diese schauen, wie sie die Anwendung betreiben können. Daraus ergeben sich natürlich Fragen seitens des Operations-Teams, was in endlosen Schleifen mündet. Dieses Schleifen-Paradox frisst Zeit, Nerven und Kosten. Warum nicht die Effizienz steigern? Sie wissen: Bei DevOps geht es um die enge Verdrahtung beider Bereiche. Werfen Sie kein fertiges Softwarepaket über den Zaun.

Beziehen Sie beide Perspektiven aktiv im Entwicklungsprozess mit ein. Es gibt verschiedene Umsetzungsmöglichkeiten: Sie setzen auf ein Team, welches beide Bereiche (Development und Operations) übernimmt. Oder Sie wählen zwei Teams, aber die Verzahnung während der Entwicklung ist intensiver. So können Fragen seitens des Operation-Teams direkt mit den Entwickler:innen im kontinuierlichen Entwicklungsprozess geklärt werden. Da bietet sich die agile Zusammenarbeit bestens an.

Ist DevOps agil? Was ist agil und Scrum? Was hat das mit DevOps zu tun?

Wenn Sie bereits agil arbeiten, fragen Sie sich eher: Wie entwickle ich die Anwendung? Welche Meetings sind anzusetzen? Wie kontrolliere ich den Status quo? Welche Zeitspanne wähle ich für die Sprints? In der Praxis heißt das, dass eine gewisse Zahl an User Stories eingeplant werden muss, die dann in einem Sprint (z.B. zwei Wochen) fertig sein müssen.

DevOps hat damit nicht direkt etwas zu tun. Wie bereits oben beschrieben, klärt der Begriff wie die Entwicklung und der Betrieb parallel laufen können. Aber ja, DevOps ist im Projektalltag meist agil, denn es ergänzt sich an den richtigen Stellen. Nehmen wir ein Beispiel: Ich arbeite agil und habe eine Version einer Anwendung, die ich alle zwei Wochen testen möchte oder ich übergebe sie alle zwei Wochen mit einer neuen Version an den Kunden – wie setze ich das um?

Fahre ich das alte Modell und übergebe erst nach der vollständigen Entwicklung die Version an das Operations-Team, dann ist das in der Realität schwer umzusetzen. Die Entwickler:innen müssen wieder und wieder alles erklären. Hinzu kommen die Fragen des Operation-Teams. Habe ich jedoch alles eng miteinander verbunden, dann kann ich auch alle zwei Wochen problemlos eine neue Version übergeben, da die Fragen im aktiven Entwicklungsprozess geklärt werden können. Doch wie stellen Sie die Software bereit?


Update gefällig?

Mit dem INCLOUD Ping erhalten Sie jeden Monat kleine Aha-Momente rund um die relevantesten digitalen Themen.


Continuous Integration – was ist das und wie passt das zu DevOps und agil?

Eine Möglichkeit den Prozess der Softwarebereitstellung zu verbessern ist CI/CD, was für Continuous Integration und Continuous Delivery steht. Eine Methode, um die enge Verbindung beider Bereiche in Form der Softwarebereitstellung einfach zu gestalten. Tools wie Gitlab CI helfen dabei.

Es ist wichtig, während der Entwicklung die Anwendung kontinuierlich zu integrieren. Heißt für die Entwickler:innen: Wenn eine User Story fertig entwickelt ist, wird sie auf dem System für Operations bereitgestellt. Über ein Tool wie Gitlab wird so die Schnittstelle zwischen Entwicklung und dem Betrieb bereitgestellt. Operations kann direkt auf den aktuellen Entwicklungsstand zugreifen und gegebenenfalls Rückfragen stellen, welche die Entwickler:innen klären oder gar Änderungen vornehmen können.

Ganz gleich, welches Tool zum Einsatz kommt, am Ende des Tages kommt es darauf an, womit sich das Team wohl fühlt und wie es in der DevOps Journey am besten arbeiten kann.

Die DevOps Journey: Was findet in der DevOps Schleife statt?

Die DevOps Schleife bildet die einzelnen Schritte des DevOps Prozesses ab. Betrachten wir den Development Part: Hier geht es darum die Anwendung zu bauen und zu planen. Was muss die Anwendung enthalten? Wie setzen die Entwickler:innen die Anforderungen um? Wie sieht die Architektur hinter der Anwendung aus? Ist die Anwendung vollständig entwickelt und es findet ein Release statt, also wann sie veröffentlicht wird, übergibt die Entwicklung die Anwendung an Operations. Die Version der Anwendung wird auf den Produktivserver bereitgestellt.

Hier gilt es unbedingt zu beachten die Sicherheit in Form von z.B. Reviews sicherzustellen. Setzen Sie Tests ein, um zu überprüfen, ob alles funktioniert. Zu guter Letzt gibt es noch das Monitoring: Geht es der Anwendung gut? Treten Fehler auf? Was passiert in diesem Fall? Falls Fehler auftreten, geht die Anwendung wieder an die Entwicklung. Befindet sich ein Projekt in der DevOps Schleife, lassen sich die Bälle zwischen den Bereichen gut zu spielen.

DevOps erweitern mit DevSecOps

Bei DevSecOps wird DevOps durch den Security Part erweitert. Wie steht es um die Sicherheit der Anwendung? Integrieren Sie in Ihrer DevOps Journey direkt die Sicherheitsaspekte. Versetzen Sie sich wieder in das alte Modell von früher: Durchläuft Ihre Anwendung alles im Step-by-Step-Modus, dann ist ein Projekt mit wiederkehrenden Releases in kurzen Abständen schwer umzusetzen. Also: Wie können wir die Security in den Entwicklungsprozess integrieren?

Es gibt viele Möglichkeiten – denken Sie nur an CI/CD. Dort können Sie automatische Sicherheitsanalysen integrieren. Koppeln Sie also die Sicherheit mit in den kontinuierlichen Entwicklungsprozess, anstatt sie als alleinstehende Schleife danach anzustoßen.

Auch hier gilt die gleiche Philosophie: Vermeiden Sie es, dass die Entwicklung fertige Dinge über den Zaun wirft. Der worst case sorgt für Gänsehaut: Entwickler:innen bauen die Software, übergeben sie an Operations und die gesamte Umsetzung ist für die Katz', weil unüberwindbare Hindernisse aufgedeckt werden. Die Entwicklung muss von vorne beginnen.

Mit DevOps zu einem besseren Projektergebnis

Auch, wenn DevOps und agiles Arbeiten nicht zwingend miteinander verknüpft sind, kommt DevOps in der Praxis nur selten allein. Kaum eine DevOps Methodik funktioniert ohne agile Zusammenarbeit bspw. mit Scrum als Modell. Sie ergänzen sich zu gut! Wir haben die Erfahrung gemacht, dass DevOps mit Scrum der Best Practice im Projektalltag ist, indem klare User Stories entwickelt und diese in Sprints organisieren werden, ist Planungssicherheit möglich. Die schnelle und regelmäßige Abstimmung untereinander beschleunigt die Entwicklung und verbessert das Ergebnis der Anwendung zusätzlich.

Vermeiden Sie böse Überraschungen. Reißen Sie Mauern ein. Bauen Sie mehr Connection zwischen den Bereichen. So gibt es innerhalb der Teams kein Wir und Ihr Gefühl. Die Arbeit im Team macht mehr Spaß, denn alle benötigten Expert:innen sind versammelt und eng miteinander verbunden. Das verleiht dem Projekt einen ganz anderen Spirit. Es kann viel mehr entstehen. Lassen Sie Ihr Team mit DevOps und DevSecOps gemeinsam Großartiges schaffen!

Unsere Angebote

Ist Ihre Cloud-Landschaft bereit für eine Anwendung?

Ihre Software Anwendung mit der Cloud zu betreiben, bringt Ihnen viele Vorteile: maximal skalierbare Kapazitäten, geringere Kosten, erhöhte Sicherheit. Doch bietet Ihre Cloud-Architektur schon die nötigen Voraussetzungen?
In diesem Audit prüfen wir Ihre aktuelle Cloud Infrastruktur und erklären, wie Sie die Cloud optimal für Ihr App- oder IoT-Projekt nutzen.

Ganz konkret: Das nehmen Sie mit
  • Eine Auflistung der für Ihre Anwendung notwendigen und geeigneten Cloud Dienste
  • Individuelle Vorschläge für die ideale Cloud Infrastruktur und für die Integration in vorhandene Systeme
  • Ihren individuellen Leitfaden für die nächsten Schritte
  • Schnell und bequem
  • Ein Tag à 8 Stunden
  • Der Audit findet online statt

  • Titelbild: Sid Verma auf Unsplash
    Weiterempfehlen:

    IoT Projekt starten: Das sollten Sie vorher wissen!

    19.01.2022LesenArrow forward

    IoT Trends 2022: Ethische KI, Edge Computing, Klimaschutz

    12.01.2022LesenArrow forward

    IoT Architektur Teil 3: Warum Konnektivität erfolgsentscheidend ist

    30.11.2021LesenArrow forward

    Update gefällig?