DevOps

Nicht nur digital denken!

08.11.2016 von Andreas Gerst
DevOps-Projekte versprechen mehr Effizienz, Innovation und Qualität. Doch bei der Umsetzung sollten Sie einige Punkte beachten.

Längst sind die Zeiten vorbei, als neue Software-Versionen in sporadischen Abständen auf dem Markt erschienen sind. Heute erwarten Kunden in immer kürzeren Zeitabständen immer mehr neue Features und Updates ihrer Produkte - und entscheiden sich für die Angebote eines anderen Anbieters, wenn der altbewährte nicht mehr das Begehrte liefern kann.

Ganz klar: Unternehmen stehen in unserem schnelllebigen Zeitalter unter immensem Zeitdruck, wenn sie wettbewerbsfähig bleiben wollen. Und Applikationen spielen dabei eine immer größere Rolle. Sie müssen schneller an die dynamischen Veränderungen im Markt angepasst werden, sie bestimmen die positive - oder negative - Erfahrung des Kunden mit einem Unternehmen. Das heißt: mehr Agilität für Software - und auch für Prozesse. Der Königsweg dorthin: DevOps.

Das Zusammenwachsen von IT-Development und -Operations erfordert auch einen kulturellen Wandel in Unternehmen.
Foto: Ruslan Grumble - shutterstock.com

DevOps: Der Name ist Programm

Wer das erste Mal von DevOps hört oder liest, geht zunächst von einer vermeintlichen Technologie aus, mit der sich das Development beschleunigen lässt – immerhin bewegen wir uns bei diesem Thema in der IT-Branche. Und das ist nicht vollständig falsch: Tatsächlich umfasst das Konzept auch neuartige Tools und Lösungen, die die Entwicklung, das Testing, die Wartung und den Release von Software vereinfachen sollen. Tools und auch der Gedanke an Development alleine aber reichen hier zu kurz. Es braucht ein Denken über die IT-Grenzen hinaus – keine Mauern mehr zwischen Developern und Admins, zwischen Konzeption und Betrieb. Der Name DevOps, der sich aus „Development“ und „Operations“ zusammensetzt, ist also Programm.

Wer das verstanden hat, kann Projekt und Kulturwandel im eigenen Unternehmen vorantreiben – und die Vorteile ausschöpfen, die ein Erfolg mit sich bringt. Wenn Entwicklung und Betrieb den Weg von der Codierung über die Testphase und Wartung, bis hin zum Live-Betrieb der Software gemeinsam gehen, können nicht nur Reibungsverluste vermieden werden. Besser noch: Der Austausch von Fähigkeiten und Know-how – Entwickler stellen den Code unter Berücksichtigung der IT-Gegebenheiten, Admins sorgen für eine ideale Infrastruktur in der Test- und Umsetzungs-Phase – lassen ganz neue Synergien entstehen.

Das DevOps-Puzzle
Das fertige Puzzle
So sieht das fertige Puzzle aus: neun Teile, die sich in drei inhaltlich definierte Reihen fügen.
Die obere Reihe
Bei Strategien und Zielen sind die Anwender signifikant weiter als anderswo. Anders gesagt: Die linke obere Ecke des Puzzles haben die meisten bereits richtig platziert.
Die mittlere Reihe
Tückisches Teil: Am schwersten fällt es den Unternehmen, für kulturelle Harmonie in der IT zu sorgen.
Die untere Reihe
DevOps benötigt die richtigen Tools sowie Sicherheits- und Compliance-Instrumente. Die Analysten nennen als ein Beispiel Lösungen für Release Automation.
Performance im Markt
Anwender, die einen großen Teil des Puzzles zusammengesetzt haben, erweisen sich auf dem Markt als leistungsstärker. Das zeigt diese Grafik.
Effekt in der Scorecard
Ganzheitliche DevOps-Anwender profitieren auch bei den KPIs der Business Scorecard. Das zeigt sich in dieser Grafik. Überraschend ist allerdings der geringe Abstand zwischen DevOps-Abstinenzlern und Anwendern mit limitiertem Einsatz.

DevOps-Projekte: Sieben kritische Punkte

Effizienz, Innovation und Qualität – ein hehres Versprechen. Trotzdem: DevOps-Projekte gehen oft schief. Kein Wunder, denn wer mit DevOps erfolgreich sein will, muss an die Substanz gehen und althergebrachte Arbeitsabläufe von Grund auf umkrempeln – nicht nur digital, sondern auch kulturell. Die folgenden sieben Punkte können dabei helfen, das Wichtigste im Blick zu behalten:

1. Wissen, wo man hin will

Jedes DevOps-Projekt braucht eine klare Vision und Strategie – eine langfristige Perspektive für die strukturellen Veränderungen. Projektleiter sollten zu Beginn die wichtigsten Basisfragen beantworten und Probleme identifizieren, die es zu lösen gilt. Um Klarheit und Kontinuität zu garantieren, sollten Projekte ganzheitlich von einem Verantwortlichen geleitet werden.

2. Langsam anfangen

Neben digitalen Einschnitten stellen DevOps-Projekte auch und vor allem die Unternehmenskultur auf den Kopf: Bis dato waren die Bereiche Entwicklung und Betrieb in Softwareunternehmen voneinander getrennt. Jetzt wird eine enge Verzahnung angepeilt, die verschiedene Kulturen und Berufswelten aufeinander prallen lässt. Die beiden Bereiche sprechen nicht nur unterschiedliche Sprachen, sie haben auch eine unterschiedliche Sichtweise auf die Dinge. Das schafft Unruhe und macht den schnellen, großen Wurf fast unmöglich. Doch die Umstellung kann auch Spaß machen, wenn man den Beteiligten den Freiraum gibt, sich auszuprobieren und zu experimentieren. Die Implementierung eines Pilotprojekts kann dabei helfen, zu zeigen was funktioniert - und was nicht. Auf jeden Fall stoßen solche Projekte die Kommunikation an – eine Kommunikation, die eigentlich in dieser Form noch nie stattgefunden hat.

3. Rechtzeitig umstellen

In vielen Fällen entscheiden sich IT-Verantwortliche für DevOps aus Notsituationen heraus – wenn es schon fast zu spät ist. Die erzwungene Zusammenarbeit zwischen Entwicklung und Betrieb kann nur noch selten Wunder wirken. Halbherzig durchgeführte DevOps-Projekte sind ebenso ineffizient. Es reicht nicht, einen Kulturwandel einzuleiten und keine Tools - etwa für Automatisierung - bereitzustellen. Man muss dem Team auch eine Grundlage geben! Nur Tools sind aber auch der falsche Weg, denn dann leidet die Qualität. So setzen viele Unternehmen auf sogenannte Servermetriken wie Systemausfälle und Automatisierung, um sich die gesamte Systemüberwachung zu erleichtern. Die Folge: Aus Nachlässigkeit stürzen ganze Systeme ab, weil die aktive Kontrolle unzureichend war. Ein rechtzeitiger und allmählicher Anfang hilft, diese Fehler zu vermeiden.

4. Miteinander reden

Damit Teams untereinander offener und agiler werden, müssen sie sich verstehen. Nur: IT-Abteilungen haben sich bis dato nicht durch offenen Dialog ausgezeichnet. Hierarchische Strukturen und der Satz 'Das ist nicht mein Job' waren und sind hier noch häufig an der Tagesordnung. Um einen Ideenaustausch nicht nur innerhalb des eigenen, sondern auch mit den Teams aus dem IT-Betrieb zu ermöglichen, müssen die althergebrachten Strukturen aufgebrochen werden. Teams müssen sich genau darüber abstimmen, welche Erwartungen sie hegen und welche Fristen sie sich gegenseitig setzen. Eine intensive Kommunikation kann Missverständnisse und Hindernisse aus dem Weg räumen und so dazu beitragen im Softwareentwicklungsprozess Zeit und Geld zu sparen.

5. Den Kunden einbeziehen

Der Dialog geht noch weiter: DevOps-Strategien haben nur dann Aussicht auf Erfolg, wenn sie sich an die sich wandelnden Bedürfnisse und Erwartungen der Kunden anpassen. Kundenerfahrungen sind die Haupttreiber für kontinuierliche Software-Updates und –Releases. Optimal ist es deshalb, den Kunden in Dialog mit der IT zu bringen. So wissen Entwickler was den Kunden fehlt und können diesen Mangelerscheinungen entsprechend entgegenwirken.

6. Neue Technologien beherrschen

DevOps-Projekte lassen sich nicht allein durch die Zusammenarbeit von Entwicklung und Betrieb definieren. Prozesse in der Softwareentwicklung werden in einem weiteren Schritt durch eine Reihe neuer Technologien beschleunigt, die Mitarbeitern in einer Plattform zur Verfügung stehen: Von modernem Software Configuration Management über Tools für effektives Monitoring der Produktionsumwelten und eine automatisierte Qualitätsprüfung - beziehungsweise Testing - bis hin zu Release-Automation-Lösungen. Eines wird hier deutlich: Software wird heute nicht mehr manuell entwickelt, sondern in allen Produktionsschritten von entsprechenden Programmen getragen und automatisiert. Umso wichtiger ist es, dass die Mitarbeiter aus Entwicklung und Betrieb damit umzugehen wissen.

7. Security & Compliance von Anfang an

Es ist nachvollziehbar: Wer in den Startlöchern eines DevOps-Projekts steckt, möchte am liebsten so viele Hebel wie möglich in Gang setzen, damit die neue Art der Softwareentwicklung am besten direkten Einfluss auf den Produkt- und Service-Zyklus nimmt. Doch Unternehmen sollten sich vor der endgültigen Umsetzung darüber im Klaren sein, wem sie welchen Zugriff gewähren, was wirklich notwendig ist und wie das gemanagt und überwacht wird. Dies gilt insbesondere für Accounts mit privilegiertem Zugriff. Damit vermeiden Unternehmen das Risiko eines Cyberangriffs und sichern zugleich die Datenbestände gegen unerlaubten Informationsabfluss. Eine intensive Schulung von Entwicklern darüber, welche Sicherheitsfeatures in ihre Programme von Anfang an eingebaut werden können, täte ihr Übriges zu mehr Sicherheit und Compliance.

Das Einmaleins der IT-Security
Adminrechte
Keine Vergabe von Administratorenrechten an Mitarbeiter
Dokumentation
Vollständige und regelmäßige Dokumentation der IT
Sichere Passwörter
IT-Sicherheit beginnt mit Sensibilisierung und Schulung der Mitarbeiter sowie mit einer klaren Kommunikation der internen Verhaltensregeln zur Informationssicherheit:<br /><br /> Komplexe Passwörter aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen, mindestens achtstellig.
Passwortdiebstahl
Niemals vertrauliche Daten weitergeben oder/und notieren.
E-Mail-Sicherheit
E-Mails signieren, sensible Daten verschlüsseln, Vorsicht beim Öffnen von E-Mail-Anlagen und Links.
Soziale Manipulation
Bewusst mit vertraulichen Informationen umgehen, nur an berechtigte Personen weitergeben, sich nicht manipulieren oder aushorchen lassen.
Vorsicht beim Surfen im Internet
Nicht jeder Link führt zum gewünschten Ergebnis.
Nur aktuelle Software einsetzen
Eine nicht aktualisierte Software lässt mehr Sicherheitslücken offen.
Verwendung eigener Software
Unternehmensvorgaben beachten und niemals Software fragwürdiger Herkunft installieren.
Unternehmensvorgaben
Nur erlaubte Daten, Software (Apps) und Anwendungen einsetzen.
Backups
Betriebliche Daten regelmäßig auf einem Netzlaufwerk speichern und Daten auf externen Datenträgern sichern.
Diebstahlschutz
Mobile Geräte und Datenträger vor Verlust schützen.
Gerätezugriff
Keine Weitergabe von Geräten an Dritte, mobile Geräte nicht unbeaufsichtigt lassen und Arbeitsplatz-PCs beim Verlassen sperren.
Sicherheitsrichtlinien
Die organisatorischen Strukturen im Hintergrund bilden den erforderlichen Rahmen der IT-Sicherheit. Hier gilt es, klare Regelungen zu formulieren und einzuhalten:<br /><br />Definition und Kommunikation von Sicherheitsrichtlinien
Zugriffsrechte
Regelung der Zugriffsrechte auf sensible Daten
Softwareupdates
Automatische und regelmäßige Verteilung von Softwareupdates
Logfiles
Kontrolle der Logfiles
Datensicherung
Auslagerung der Datensicherung
Sicherheitsanalyse
Regelmäßige Überprüfung der Sicherheitsmaßnahmen durch interne und externe Sicherheitsanalysen
Notfallplan
Erstellung eines Notfallplans für die Reaktion auf Systemausfälle und Angriffe
WLAN-Nutzung
Auf technischer Ebene muss ein Mindeststandard gewährleistet sein. Dieser lässt sich größtenteils ohne großen Kostenaufwand realisieren:<br /><br />Dokumentation der WLAN-Nutzung, auch durch Gäste
Firewalls
Absicherung der Internetverbindung durch Firewalls
Biometrische Faktoren
Einsatz von Zugangsschutz/Kennwörter/Biometrie
Zugangskontrolle
Physische Sicherung/Zugangskontrolle und -dokumentation
Schutz vor Malware
Schutz vor Schadsoftware sowohl am Endgerät als auch am Internetgateway, idealerweise durch zwei verschiedene Antivirenprogramme
Webzugriffe
Definition einer strukturierten Regelung der Webzugriffe
Verschlüsselung
Verschlüsselung zum Schutz von Dateien und Nachrichten mit sensiblen Inhalten
Löschen
Sicheres Löschen der Daten bei Außerbetriebnahme
Update der Sicherheitssysteme
Sicherstellung regelmäßiger Updates der Sicherheitssysteme
Monitoring
Permanente Überwachung des Netzwerkverkehrs auf Auffälligkeiten

Fazit: Time to do it!

DevOps-Initiativen werden heute häufig dann angestoßen, wenn es um unternehmensspezifische Anwendungen geht oder wenn Web- und Unternehmensanwendungen schneller zum Einsatz kommen sollen. Doch das ist erst der Anfang. Wir werden in den nächsten Jahren gerade in Deutschland immer mehr agile Softwareentwicklung in Bereichen wie Big Data oder Internet of Things sehen. Eine Notwendigkeit, denn nur mit DevOps lässt sich eine App Economy umsetzen. (fm)