Mit DevOps werden Unternehmen fit für die Zukunft. Das zugehörige Prinzip macht Entwicklungsprozesse flexibler und optimiert viele der bis heute bestehenden, starren Zyklen bei der Entwicklung von IT-Produkten. Dies betrifft sowohl Smartphone-Apps als auch Website-Projekte oder beispielsweise Anlagensteuerungen mit und ohne Robotereinsatz.
Große Unternehmen wie Facebook, Google oder Amazon machen es vor: Dank der Integration von DevOps in die betrieblichen Prozesse veröffentlichen sie laufend neue Funktionen, ohne dass es langer Entwicklungszyklen bedarf. Wir klären auf, wie Sie ebenfalls von diesem Ansatz profitieren können und wo die Unterschiede zu agilen Prozessen liegen.
Was ist eigentlich DevOps und welchen Nutzen bringt es?
Hinter DevOps verbirgt sich ein Kunstbegriff aus „Development” und „Operations”. Gemeint ist eine effiziente Verzahnung von Entwicklung und tatsächlicher Nutzung von Produkten oder Funktionen. Ähnlich wie bei agilen Strategien kommt ein Modell zum Einsatz, das fortlaufende Rückmeldungen darüber ermöglicht, wie sich getroffene Entscheidungen auswirken und wie gut fertige Produkte oder deren Bestandteile funktionieren.
Der DevOps-Ansatz beschränkt sich jedoch nicht auf die reine Entwicklungsarbeit, sondern bezieht auch das operative Geschäft mit ein. Während sich agile Ansätze häufig auf einzelne Abteilungen oder Vorhaben beschränken, bedeutet der Einsatz von DevOps-Verfahren meist auch einen Wandel in der Unternehmenskultur. DevOps kann daher als konsequente Weiterentwicklung und Übertragung agiler Ansätze auf das gesamte operative Geschäft eines Unternehmens (also sowohl von Entwicklung als auch Operations (Betrieb)) verstanden werden.
Eine immer größer werdende Produktkomplexität, steigende Anforderungen an die Flexibilität sowie das Vorhandensein von Big Data (also riesigen Datenmengen, die mit herkömmlichen Methoden kaum auswertbar sind) bedingen ohnehin einen Wandel in der Herangehensweise an Neu- und Weiterentwicklungen auf IT-Seite.
Unternehmen, die für Neuentwicklungen zunächst eigene Infrastrukturen wie Testserver, Entwicklungsumgebungen oder Staging-Systeme aufsetzen müssen, geraten aufgrund gebundener Ressourcen und hohem Zeitbedarf schnell in Nachteil. Unter anderem aus diesem Grund laufen viele IT-Anwendungen heutzutage nicht mehr On-Premises (also vor Ort im Unternehmen), sondern in der Cloud.
Das gilt auch für DevOps: Da viele DevOps-Hilfsmittel, Plug-ins und Tools (sogenannte „Software as a Service”-Dienstleistungen, „SaaS”) auf Open-Source-Lizenzen basieren, stehen deren aktuelle Versionen in der Cloud schon für jedermann bereit und müssen nicht erst aufwändig vor Ort installiert oder gar erst entwickelt werden.
Vorteile sind somit neben sinkenden IT-Infrastrukturkosten auch der schnelle und jederzeitige Zugriff auf verfügbare Updates und die automatische Anwendung der jeweils aktuellsten verfügbaren Sicherheitsmechanismen.
DevOps-Strukturen mit zusätzlich angepasstem Sicherheitsmanagement an den Schnittstellen zwischen Betrieb und Entwicklung eines Unternehmens werden auch als „DevSecOps” bezeichnet, wobei das „Sec” für „Security”, also Sicherheit, steht.
Effiziente Verzahnung von Entwicklung und tatsächlicher Nutzung von Produkten oder Funktionen nach dem DevSecOps-Prinzip
DevOps-Arbeitsmethoden im Vergleich mit Scrum und Co.
Deutlich verbreiteter als eine komplette Fokussierung von Unternehmen auf das DevOps-Prinzip ist aktuell noch die Konzentration auf agile Entwicklungsmodelle wie Scrum, Kanban und Co.
Diese Modelle setzen ebenfalls auf schnelle Rückkopplung aufgrund erkannter Probleme und beinhalten neben festgelegten Entwicklungszeiträumen häufige Releases – in Industriebetrieben und bei komplexen Unternehmensstrukturen kommt es jedoch auf weit mehr an.
DevOps-Ansätze können im Gegensatz dazu auch im technischen Release-Management, dem Software-Konfigurationsmanagement und in Anwendungsumgebungen zum Einsatz kommen – ohne dass hierfür jedes Mal eigene Schnittstellen programmiert werden müssen: Möglich machen dies die oben erwähnten Cloud-Ansätze, bei denen sich Entwickler:innen lediglich aus Baukästen bedienen müssen, oder vorgefertigte Schnittstellen, die diverse Software-Hersteller (beispielsweise für Anlagensteuerungen) mittlerweile zu ihren Lösungen als Add-on oder inklusive anbieten.
Während also Scrum und Co. auf bestehenden Entwicklungsstrukturen aufbauen und möglicherweise Lösungen hervorbringen, die dann nur innerhalb des Unternehmens genutzt werden können, setzt DevOps eine Abstraktionsebene höher an: Anstelle von Servern, Betriebssystemen und fest installierten Entwicklungsumgebungen kommen hier Cloud-Lösungen und Container zum Einsatz. Das sogenannte CaaS („Container as a Service”)-Prinzip sorgt dafür, dass Sie aus einer ganzen Fülle von vorgefertigten Programmier-Methoden und Funktionen schöpfen können, die stets auf dem neuesten Stand sind.
Voraussetzung für eine erfolgreiche Umsetzung von DevOps ist allerdings, dass die Bereiche Entwicklung und Betrieb konsequent und bei neuen Projekten von Anfang an zusammenarbeiten. Dazu müssen natürlich alle beteiligten Mitarbeiter:innen entsprechend geschult sein.
So gelingt DevOps in der Praxis
Da es sich wie erwähnt bei DevOps um eine Schnittstellenfunktion zwischen Entwicklung und eigentlichem Betrieb (oder Auslieferung) eines Produkts handelt, setzt die Hauptarbeit von DevOps-Verantwortlichen genau dort an, wo beide Bereiche ineinander übergehen.
Da viele Produkte derart komplex sind, dass selten eine einzelne Person alle Aufgaben und Zusammenhänge überblicken kann, muss ein:e DevOps-Verantwortliche:r zunächst die entsprechenden Zuständigkeiten und dazugehörigen Personen für ein Projekt, ein Feature oder eine Neuentwicklung ermitteln und deren Sichtweisen kennen. Üblicherweise sind dies:
Product Owner: Er oder sie definiert Anforderungen an ein Produkt, die anschließend von der Entwicklungsabteilung umgesetzt werden.
Entwicklungsverantwortliche:r: Hier findet die eigentliche Entwicklung der geforderten Funktionalität statt.
Qualitätsmanagement: Hier werden entwickelte Komponenten oder ganze Produkte auf ihre Lauffähigkeit und den Kundennutzen hin überprüft und gegebenenfalls werden Feedbackschleifen durchlaufen.
Operations Department: Betreut die Produktivumgebung und stellt die geforderten Service-Level sicher.
Infosec: Der oder die Information-Security-Verantwortliche(n) stellt oder stellen sicher, dass Systeme und Daten geeignet abgesichert werden.
Release-Manager:in: Verwaltet und koordiniert den Deployment- und Release-Prozess
Wertketten-Manager:in: Überprüft, ob die Erwartungen des Kunden erfüllt oder gar übertroffen wurden.
In der Praxis kollidiert häufig das Tagesgeschäft mit einer konsequenten Veränderung hin zu DevOps-Prinzipien und es wird nach einem festen, eingespielten Ablaufplan gearbeitet. Aus diesem Grunde muss ein:e DevOps-Manager:in häufig zwischen den beteiligten Bereichen vermitteln, für gegenseitige Unterstützung werben und gemeinsam gepflegte Tools und Plattformen vorschlagen und gegebenenfalls implementieren oder anpassen. Im Idealfall entsteht hierdurch eine abteilungsübergreifende Zusammenarbeit mit zahlreichen Feedbackmöglichkeiten:
Der Bereich Operations sollte dafür sorgen, dass das Entwicklerteam geeignete, produktionsähnliche Testumgebungen zur Verfügung gestellt bekommt – die also der Realität möglichst nahe kommen.
Außerdem sollte die Entwicklungsabteilung ihre Deployment-Pipelines gemeinsam mit Operations entwickeln und abarbeiten.
Automatisiertes Testen kann ebenfalls dabei helfen, schnell(er) zu verwertbaren Ergebnissen oder Feedback zu kommen.
Staging-Modell: Sämtliche Plattformen und Services sollten für den Live-Betrieb gefahrlos zur Verfügung stehen, ohne dass zunächst Tickets oder Requests erstellt werden müssen. Hierzu bietet sich beispielsweise bei IT-Strukturen eine redundante Auslegung an, bei der jeweils eine Komponente für den Live-Betrieb und die andere als Testumgebung für neue Features dient. Treten Fehler auf, kann ein Rollback ohne Beeinflussung des Live-Systems erfolgen.
Hybridfunktionen: In modernen DevOps-Organisationen sitzen meist Vertreter:innen beider Abteilungen in der jeweils anderen und können bei Abweichungen von der jeweils anderen Sichtweise sofort eingreifen und nicht erst, wenn viel Arbeit in ein System oder eine Systemanforderung gesteckt wurde.
In der Summe verhindert eine konsequente Zusammenarbeit zwischen Entwicklung und Operations also unnötige Verzögerungen in der Produktentwicklung, sorgt für mehr Sicherheit im laufenden Betrieb und bringt schnellere, verwertbarere und nützlichere Ergebnisse für den Kunden.
Eine mögliche Unterstützung für DevOps bieten auch sogenannte Digital-Twin-Verfahren: Hier werden sämtliche Entwicklungsschritte bis hin zum fertigen Produkt nicht anhand abstrakter Testmodelle, sondern mit digitalen Nachbildungen des Live-Systems durchgespielt. Die konsequente Zusammenarbeit zwischen Development und Operations gehört hier naturgemäß zum Pflichtprogramm.
Empfohlener externer Inhalt
Hier ist ein Video-Inhalt von YouTube. Er ergänzt die Informationen auf dieser Seite. Sie können ihn mit einem Klick anzeigen und wieder ausblenden.
Ich bin einverstanden, dass externe Inhalte angezeigt werden. So können personenbezogene Daten an Drittplattformen übermittelt werden. Mehr in unserer Datenschutzerklärung.
Sogenannte DevOps-Ingenieur:innen sorgen für eine effiziente Zusammenarbeit sämtlicher Unternehmensbereiche. Sie implementieren und optimieren entsprechende Tools für die konkreten Anforderungen. Ihre Aufgabe besteht unter anderem darin, die angestrebte Verzahnung von Entwicklungs- und operativem Geschäft zu ermöglichen. Ein:e DevOps-Ingenieur:in sollte sich also in mehreren Bereichen auskennen:
Programmierung von Skripten und Entwicklertools, beispielsweise in Java
Administration von bestehenden Systemen, beispielsweise unter Linux
Testverfahren, unter anderem agiles Testen
Verwaltung von Zertifikaten
Kenntnis der Funktionsweise von IT-Sicherheitskonzepten
Neben den genannten harten Skills sind aber auch eine Reihe von Soft Skills von Bedeutung. So sind DevOps-Ingenieur:innen mehr denn je gefordert, sich ihr Berufsleben lang über neue Arbeitsmethoden und Ansätze zu informieren und einen guten Überblick über verfügbare Tools und Standards zu behalten.
Im Gegensatz zu IT-Systemadministrator:innen beschränkt sich der Aufgabenbereich somit nicht auf die reine Verwaltung und Inbetriebnahme von Systemen: DevOps-Ingenieur:innen sorgen auch dafür, dass die richtigen Tools an den richtigen Stellen zum Einsatz kommen und umfangreich an die jeweiligen Bedürfnisse angepasst werden.
Vodafone Campus-Netze: 5G und IoT im Zusammenspiel
Egal, welche Art von Campus-Netz Sie aufbauen wollen: Vodafone hat für jeden Bedarf das richtige Angebot.
Mit DevOps-Verfahren können Sie unter Zuhilfenahme bewährter agiler Prinzipien die Zusammenarbeit von Entwicklung und operativem Bereich optimieren und so die Fertigstellung neuer Funktionen und Produkte beschleunigen.
Wenden Sie das Prinzip der ständigen Rückkopplung zusätzlich auf den laufenden Betrieb im Unternehmen an, erhalten Sie auch hier fortlaufendes Feedback.
Durch die höhere Abstraktionsebene verabschieden sich DevOps-Unternehmen immer mehr von Serverinfrastrukturen und nutzen unter anderem CaaS-Ansätze mit frei nutzbaren Containern.
DevOps-Ingenieur:innen kümmern sich um die notwendige Schnittstellenarbeit zwischen Betrieb und Entwicklung und implementieren entsprechende Tools.
Bei Multi-Cloud-Systemen nutzen Unternehmen Dienste von mindestens zwei Cloud-Anbietern. Auf diese Weise nutzen Sie die besten Funktionen für Ihre spezifischen Geschäftsanforderungen – und reduzieren gleichzeitig die Abhängigkeit von einem Anbieter. Im besten Fall steigern Sie dadurch außerdem die Effizienz und senken die Kosten.
Damit dies gelingt, brauchen Sie ein gutes Multi-Cloud-Management, das zu Ihrem Unternehmen passt. Hier erfahren Sie alles, was Sie zum Thema Multi-Cloud wissen müssen.
Cloud-Security: Alles zum Thema Sicherheit in der Datenwolke
Von Software aus der Cloud über das regelmäßige Cloudbackup bis hin zu virtuellen Servern via Datenwolke: Cloud-Services sind inzwischen unverzichtbares Arbeitsmittel in den meisten deutschen Unternehmen. Doch nicht jede Firmencloud ist ausreichend gegen Cyberattacken und Datenverlust geschützt. Erfahren Sie hier, was Sie zum Thema Cloud-Security unbedingt beachten sollten, damit Ihre Daten möglichst sicher sind.
Cloud-Services bieten handfeste Vorteile für Unternehmen, beispielsweise preisgünstigen und jederzeit erweiterbaren Speicherplatz. Mithilfe der Cloud können Sie viele Anwendungen inzwischen ohne lästiges Installieren direkt online ausführen. Auch der Aufwand für regelmäßige Software-Updates fällt damit weg.
Nach Erhebungen der Wirtschaftsprüfungsgesellschaft KPMG nutzen inzwischen 97 Prozent aller deutschen Unternehmen mit mindestens 50 Beschäftigten das Cloud-Computing und sparen dadurch Zeit und Geld. Doch jede neue Technologie birgt auch Risiken. Daher sollten Sie Ihre Unternehmens-Cloud sorgfältig gegen Datendiebstahl, Datenverlust und einige andere Gefahren schützen.
Wie Sie beispielsweise Ihre Inhalte besonders sicher und dabei kostengünstig in einer Multi-Cloud verwahren oder was die Cloud Security Alliance mit der Sicherheit Ihrer Daten zu tun hat, lesen Sie in diesem Artikel über Cloud-Security.
Speicherplatz, Rechenpower und komplette Softwarelösungen – alles ist jederzeit und von überall aus verfügbar. Was einst eine Zukunftsvision war, hat die IT-Strukturen von Unternehmen in den vergangenen Jahren grundlegend verändert: Cloud-Computing stellt IT-Strukturen und Netzwerkkomponenten über das Internet bereit.
In der Cloud finden Unternehmen unzählige Ressourcen und Services, mit deren Hilfe sie ihre Geschäftsprozesse teilweise oder sogar komplett dorthin verlagern können. Anstatt zum Beispiel große und entsprechend teure Server zu unterhalten, kaufen sie lediglich die Komponenten und Services ein, die sie gerade benötigen. Speicher, Rechenleistung, Entwicklungsumgebungen und sogar umfangreiche Softwaresuiten – Cloud-Anbieter stellen alles nach Bedarf und von überall zugänglich bereit.
Wie Cloud-Computing funktioniert, welches die wichtigsten Cloud-Modelle und -Services sind und welche Vorteile sie Ihrem Unternehmen bieten, erfahren Sie in diesem Artikel.
Cloud Computing ist heute nicht mehr aus dem Alltag von Unternehmen wegzudenken. Die beste Zugänglichkeit zu Daten und Anwendungen bietet dabei die Public Cloud, da sie abstrahierte IT-Strukturen durch das öffentliche Internet verfügbar macht. Die meisten Unternehmen müssen damit nicht länger in eigene Server- und Rechenzentren investieren. Doch welche Services bietet die Public Cloud und wie können Sie diese effizient für Ihr Business nutzen?
Mehr als 80% der Unternehmen in Deutschland nutzen bereits Cloud Computing. In diesem Zusammenhang hat auch das Angebot an Public-Cloud-Lösungen in den vergangenen Jahren stetig zugenommen. Nicht zuletzt durch die veränderten Arbeitsprozesse auf der Basis von „New Work“ ist es immer wichtiger, IT-Strukturen für eine dezentrale Zusammenarbeit zu schaffen. Vom einfachen Cloud-Speicher bis zur Buchung von Rechenleistung, Anwendungsumgebungen und Microservices kann die Cloud alles abbilden.
Hier erfahren Sie, wie eine Public Cloud aufgebaut ist und welche Services sie bietet. Daneben schildern wir Unterschiede zu anderen Cloud-Angeboten und weisen auf die Herausforderungen hin, vor denen Sie möglicherweise stehen, wenn Sie künftig mit einer Public-Cloud-Lösung arbeiten möchten.
Platform-as-a-Service (PaaS): Beispiele und Anwendungsgebiete
Die dezentrale Entwicklung von Programmen oder die Arbeit an einer App von unterwegs aus: Das Hauptziel der meisten Platform-as-a-Service-Lösungen besteht darin, die Entwicklung von Anwendungen zu vereinfachen und Kosten zu sparen. Dabei können moderne PaaS-Services weit mehr: Sie bieten nicht nur passgenaue Tools, zum Beispiel für die Entwicklung von Apps, sondern auch für die Automatisierung von Geschäftsprozessen. Die Services sind heutzutage deutlich leistungsfähiger und flexibler als früher.
In den vergangenen Jahren hat Platform-as-a-Service (PaaS) immer mehr an Bedeutung gewonnen. Laut Statista Market Insights liegt die für 2024 erwartete Wachstumsrate im PaaS-Sektor in Deutschland bei rund 17 Prozent. Unternehmen verlagern dabei Ihre Entwicklungsumgebungen komplett in die Cloud. PaaS ist für viele Unternehmen attraktiv, da es die Möglichkeit bietet, Prozesse wie das Bereitstellen von Anwendungen zu automatisieren sowie vorgefertigte Komponenten und Bausteine für die Entwicklung zu nutzen – vor allem, wenn sie auf Einheitlichkeit und Zuverlässigkeit angewiesen sind.
Erfahren Sie hier mehr über die wichtigsten Einsatzfelder und Anbieter von Platform-as-a-Service.