Neben den Themen Cloud Computing und Big Data zählt das Thema DevOps zu den wichtigsten Themen der nahen Zukunft. Der Begriff DevOps leitet sich von dem Präfix “Dev” von Softwareentwickler (Developer) sowie dem Suffix “Ops” von IT-Betrieb (Operations) ab. Zusammengesetzt entsteht damit das Wort DevOps und symbolisiert die enge Zusammenarbeit beider Unternehmensbereiche, also der Softwareentwicklung und dem IT-Betrieb.
Dev vs. Ops
Jede Unternehmens-IT lebt von den eingesetzten Applikationen. Aufgabe der Entwickler (Dev) ist es diese bestehenden Applikationen zu verbessern oder neue zu entwerfen. Der IT-Betrieb (Ops) hat die Aufgabe die für die Entwicklung notwendinge IT-Infrastruktur und Umgebungen bereitzustellen. Beide ziehen also generell am selben Strang, laufen aber dennoch in zwei unterschiedliche Richtungen. Die Entwickler wollen schneller neue Applikationen entwerfen und ausrollen. Der IT-Betrieb lässt gerne alles beim Alten und ist froh, wenn die aktuellen Systeme so stabil laufen (Änderungen könnten zu Problemen führen und das bedeutet Arbeit.)
Neben dem zeitlichen Druck, den beide Bereiche unterlegen sind, verstärkt zudem die Komplexität der modernen IT-Infrastrukturen die beidige Zusammenarbeit. Werden neue Versionen ausgerollt, muss anschließend sichergestellt werden, dass alles weiterhin so funktioniert wie vorher, nur besser. Außerdem hat der Umfang an Applikationen in Unternehmen im Laufe der letzten Jahre stetig zugenommen, die es gilt bestmöglich zu unterstützen sowie die Interoperabilität sicherzustellen.
Automatisierung
Eigentlich brauchen Unternehmen mittlerweile einen Hybriden, der in beiden Welten zu Hause ist, sich also mit der Arbeit der Entwickler auskennt und zugleich den IT-Betrieb versteht. Dieser Hybride sorgt dafür Probleme zu vermeiden und zugleich für Automatisierung und damit eine optimale Planung und Kontrolle. Dieser Hybrid ist der bereits genannte DevOps und muss nicht zwangsläufig eine Person oder ein Team sein. Nein, dabei kann es sich auch um ein Stück Software handeln, die für die Abstimmung des Entwicklungsbereiches und des IT-Betriebs zuständig ist und eine DevOps Strategie völlig autonom implementiert.
Heißt die Cloud Lösung “NoOps”?
Möglicherweise! Erleichtert die Cloud vielleicht das Thema DevOps oder macht es gar obsolet? Klar ist, Entwickler sind in der Cloud nicht mehr maßgeblich auf den IT-Betrieb angewiesen, denn dieser wird durch den Anbieter dargestellt. Im Falle von IaaS (Infrastructure-as-a-Service) behalten wir die aktuelle Situation bei, nur in der Cloud, eben genauso nur anders. Hier muss das entsprechende System, dass auf der Cloud Infrastruktur läuft von einem Team (Operations) betrieben und gewartet werden, wohingegen das andere Team (Developer) das System entwickelt bzw. darauf entwickelt? Oder ist IaaS für die Entwickler mittlerweile sogar so einfach, dass das Operations-Team wegfallen kann? Ganz anders sieht es beim PaaS (Platform-as-a-Service) aus. Hier ist der Bereich Operations zu 100% unwichtig. Die vollständige Plattform und der Stack den die Anwendung benötigt, wird durch den Anbieter bereitgestellt und gewartet, wodurch dieser für den Bereich Operations verantwortlich ist.
So oder so hilft eine (IaaS, PaaS) Cloud Infrastruktur Entwicklern dabei ihre Software automatisiert auszurollen, diese zu überwachen und ebenfalls zu verwalten. Entwickler (Dev) können mit der Cloud also völlig autonom vom IT-Betrieb (Ops) die für die Entwicklung notwendigen IT-Ressourcen selbst bereitstellen und warten. Wo wir beim Thema NoOps sind!
Bildquelle: http://blog.zenoss.com