Warum DevOps-Implementierungen oft erfolglos sind (und wie Sie das ändern können)
Dieser Artikel wurde ursprünglich veröffentlicht auf DevOps.de. Er wurde aktualisiert und geändert.
Ähnlich wie "Blockchain", "Big Data" und "Digital Disruption" ist der Begriff "DevOps" ein weiteres Buzzword, das derzeit in den IT-Abteilungen großer Unternehmen herumgereicht wird.
Viele haben (richtigerweise) den Bedarf an schnelleren Softwareentwicklungs-Lebenszyklen erkannt; ein präziserer Prozess, der eng mit den Geschäftszielen abgestimmt ist und einen klareren Arbeitsablauf und eine bessere Zusammenarbeit zwischen den Entwicklungs- und Betriebsteams ermöglicht. DevOps ist im Wesentlichen eine "agile" Entwicklung, die erwachsen geworden und bereit ist, sich den ständig innovativen und schnell bereitstellenden Anforderungen des modernen Unternehmens zu stellen. Für Sicherheitsexperten ist es eine fantastische Initiative: Wir können die Sicherheit viel früher in den Prozess einbringen, die Kosten für die Behebung von Fehlern reduzieren und potenzielle Katastrophen im Nachhinein vermeiden.
Das Problem ist, dass nur wenige Unternehmen bei ihrer DevOps-Implementierung wirklich erfolgreich sind. Ohne die richtige Unterstützung, Pflege und das Verständnis im gesamten Unternehmen kann es schnell zu einem weißen Elefanten werden... Sie wissen schon, eines dieser "Erwähnen Sie den Krieg nicht"-Projekte.
Wo liegt also das Problem? Es ist eine interessante Diskussion, und es gibt ein paar Möglichkeiten, DevOps anzugehen, die meiner Meinung nach für einen viel reibungsloseren Ablauf sorgen werden. Ein effektives Programm geht über ein paar ausgefallene neue Tools, Titel und Team-Meetings hinaus. Es wird nicht immer einfach sein, aber wenn man sich die Zeit nimmt, eine kaputte Strategie zu korrigieren (oder sie von Anfang an richtig zu implementieren), wird es auf lange Sicht viel weniger schmerzhaft sein. Und letztendlich wird es zu einer höheren Qualität und Sicherheit der Software führen.
Lassen Sie uns das aufschlüsseln:
Lassen Sie die "Agile"-Schürzenbänder los.
Es gibt ein gewisses Missverständnis, dass eine Organisation sich zwischen Agile oder DevOps entscheiden muss und den einen oder anderen Weg einschlägt, um nie wieder zurückzublicken.
Die Sache ist die, dass der Entwicklungsprozess am besten funktioniert, wenn beides als Einheit betrachtet und umgesetzt wird. DevOps ist keine Neuerfindung der agilen Entwicklung, sondern eine Erweiterung derselben. Die Räder neigen dazu, abzufallen, wenn die Erwartung besteht, dass der Prozess genau wie Agile oder völlig anders als Agile sein wird.
Agile unterstützt das Prinzip der funktionsübergreifenden Teams, indem es Designer, Tester und Entwickler von Anfang an zusammenbringt und sich für offene Kommunikationslinien während eines Projekts einsetzt. Ziel ist es, die siloartige Bereitstellung zu beenden und die doppelte Bearbeitung zu reduzieren - beides sind ebenfalls Vorteile des DevOps-Prozesses. DevOps geht jedoch noch einen Schritt weiter und bezieht Systeme, Sicherheit und Betrieb mit ein, um ein robustes, durchgängiges Skillset zu bieten, das das ultimative Ziel der vollständigen, funktionalen Softwareauslieferung an den Kunden verfolgt.
Während der unvermeidlichen Schmerzpunkte bei der Umstellung auf einen stärker DevOps-zentrierten Prozess kann das Risiko einer siloartigen Entwicklung wieder auftauchen. Oft arbeitet das ursprüngliche Agile-Team zusammen, während die Sicherheits- und Betriebsergänzungen noch ihren Weg in die Maschine finden; niemand ist sich ganz sicher, wie man sie einbezieht, was sie tun sollen und welche Ziele sie insgesamt verfolgen.
DevOps funktioniert nicht ohne klar definierte Ziele, funktionsübergreifendes Onboarding und direkte Kommunikation mit allen Beteiligten. Sicherlich wird es eine Anpassungsphase geben, die ein sorgfältiges Änderungsmanagement erfordert, aber alle auf die gleiche Seite mit den Verbesserungen zu bringen, die DevOps-Funktionen mit sich bringen, ist schon die halbe Miete.
Zunehmend (Gott sei Dank) legt DevOps auch Wert auf bewährte Sicherheitspraktiken als Teil des Prozesses, entmystifiziert diesen Schritt und überbrückt die Kluft zwischen dem Sicherheitsteam und, nun ja, allen anderen. Wie ich bereits gesagt habe, haben wir noch einen langen Weg vor uns, um Entwickler zu befähigen, von Anfang an sicher zu programmieren, aber die erfolgreiche Implementierung von DevOps-Methoden ist eine hervorragende Grundlage, auf der Sicherheitskompetenzen innerhalb des Entwicklungsteams aufgebaut werden können.
Automatisierung ist nicht alles (und auch nicht das Sicherste).
Ein weiteres Merkmal der DevOps-Methodik ist, bis zu einem gewissen Grad, die Automatisierung des Softwareentwicklungsprozesses. Die Prinzipien der kontinuierlichen Integration und der kontinuierlichen Bereitstellung (CI/CD) sind die Eckpfeiler dieses Konzepts und, wie Sie wahrscheinlich erraten können, sehr abhängig von Tools.
Tools sind großartig, das sind sie wirklich. Sie können den Softwareentwicklungsprozess in beispielloser Geschwindigkeit vorantreiben, indem sie das Code-Repository, die Tests, die Wartung und die Speicherelemente relativ nahtlos verwalten.
Doch auch wenn Roboter eines Tages alle unsere Jobs übernehmen und uns gefangen halten könnten, sind sie definitiv noch nicht so weit. Die starke Abhängigkeit von Tools und Automatisierung lässt ein Fenster weit offen für Fehler. Scans und Tests erkennen möglicherweise nicht alles, Code kann ungeprüft bleiben, was im Nachhinein zu enormen Qualitäts- (ganz zu schweigen von Sicherheits-) Problemen führt. Ein Angreifer braucht nur eine Hintertür auszunutzen, um Daten zu stehlen, und der Verzicht auf das menschliche Element bei der Qualitäts- und Sicherheitskontrolle kann katastrophale Folgen haben.
Der "goldene Mittelweg" besteht darin, ein Gleichgewicht zwischen Menschen und Werkzeugen zu schaffen. Tools sollten als Assistenten für ein Team dienen, dem Sie vertrauen, die Projektziele zu erreichen. Das sollten Sie:
- Planen Sie genügend Zeit ein, damit sich die Mitarbeiter mit der gewählten DevOps-Toolchain vertraut machen können
- Fokus auf effektive Zusammenarbeit (und wie die Tools dies unterstützen können)
- Adressieren Sie alle Lücken im Prozess, unabhängig davon, ob es sich um Fähigkeiten/Wissen oder um Werkzeuge handelt.
Kurz gesagt, rüsten Sie nicht einfach "auf" und hoffen Sie auf das Beste.
DevOps ist kein Modewort, sondern eine Kultur. Wachsen Sie Ihre?
Change Management ist in den besten Zeiten schwierig. Die Angst vor dem Unbekannten kann selbst die brillantesten Teammitglieder davon abhalten, ihre Fähigkeiten auszubauen und ihren Horizont zu erweitern.
Sehen Sie, einfach nur zu sagen "lasst uns DevOps machen" und das Betriebsteam dazu zu bringen, den Schreibtisch zu wechseln, wird nicht auf magische Weise einen erfolgreichen Prozess implementieren. Viele werden verwirrt sein, und langjährige Teammitglieder werden verärgert zurückbleiben. Die Kommunikation der Erwartungen ist von entscheidender Bedeutung, ebenso wie das "Gehen des Weges". DevOps stellt eine kulturelle Bewegung dar, genauso wie eine Entwicklungsmethodik, und ein Team sollte eine funktionsübergreifende, kollaborative Denkweise leben und atmen.
Wie sieht eine großartige DevOps-Kultur aus?
- Einzelpersonen sind befähigt, ihr Fachwissen in einen Prozess einzubringen, nicht nur Führungskräfte
- Offene, ehrliche und respektvolle Kommunikation zwischen Teams
- Jede Person übernimmt die Verantwortung für das Gesamtziel, Qualität und Sicherheit in den Entwicklungsprozess einzubauen
- Jeder ist auf derselben Seite mit der Definition von DevOps im Unternehmen, der Roadmap und dem Wie/Was/Warum der Rolle jeder Person.
Seit Jahren betone ich, wie wichtig der Aufbau einer positiven Sicherheitskultur in Entwicklungsteams ist, und das ist bei DevOps nicht anders.
Die richtigen Tools, das richtige Wissen und der richtige Support sind unerlässlich, um Best Practices für die Sicherheit zu erreichen, einen Rückgang der entdeckten Schwachstellen zu sehen und dem Team die Augen zu öffnen, wie wichtig der Schutz unserer Daten ist. Mit DevOps müssen Sie die kulturelle Grundlage für positive Veränderungen schaffen: Stellen Sie sicher, dass jeder seine Rolle, seinen Wert und seine Erwartungen, die allgemeinen Projektziele und die Schritte im Prozess versteht.
Haben Sie das gemeistert? Prima. Dann lassen Sie uns jetzt die Nadel verschieben, den Sicherheitsaspekt erhöhen und DevSecOps zum ultimativen Plan für Software-Exzellenz machen.
Nur wenige Unternehmen sind bei ihrer DevOps-Implementierung wirklich erfolgreich. Mit der richtigen Unterstützung, Pflege und dem Verständnis im gesamten Unternehmen kann Ihr Prozess jedoch transformiert werden.
Vorstandsvorsitzender, Chairman und Mitbegründer
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenVorstandsvorsitzender, Chairman und Mitbegründer
Pieter Danhieux ist ein weltweit anerkannter Sicherheitsexperte mit mehr als 12 Jahren Erfahrung als Sicherheitsberater und 8 Jahren als Principal Instructor für SANS, wo er offensive Techniken lehrt, wie man Organisationen, Systeme und Einzelpersonen auf Sicherheitsschwächen hin untersucht und bewertet. Im Jahr 2016 wurde er als einer der "Coolest Tech People in Australia" (Business Insider) ausgezeichnet, erhielt die Auszeichnung "Cyber Security Professional of the Year" (AISA - Australian Information Security Association) und besitzt die Zertifizierungen GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.
Dieser Artikel wurde ursprünglich veröffentlicht auf DevOps.de. Er wurde aktualisiert und geändert.
Ähnlich wie "Blockchain", "Big Data" und "Digital Disruption" ist der Begriff "DevOps" ein weiteres Buzzword, das derzeit in den IT-Abteilungen großer Unternehmen herumgereicht wird.
Viele haben (richtigerweise) den Bedarf an schnelleren Softwareentwicklungs-Lebenszyklen erkannt; ein präziserer Prozess, der eng mit den Geschäftszielen abgestimmt ist und einen klareren Arbeitsablauf und eine bessere Zusammenarbeit zwischen den Entwicklungs- und Betriebsteams ermöglicht. DevOps ist im Wesentlichen eine "agile" Entwicklung, die erwachsen geworden und bereit ist, sich den ständig innovativen und schnell bereitstellenden Anforderungen des modernen Unternehmens zu stellen. Für Sicherheitsexperten ist es eine fantastische Initiative: Wir können die Sicherheit viel früher in den Prozess einbringen, die Kosten für die Behebung von Fehlern reduzieren und potenzielle Katastrophen im Nachhinein vermeiden.
Das Problem ist, dass nur wenige Unternehmen bei ihrer DevOps-Implementierung wirklich erfolgreich sind. Ohne die richtige Unterstützung, Pflege und das Verständnis im gesamten Unternehmen kann es schnell zu einem weißen Elefanten werden... Sie wissen schon, eines dieser "Erwähnen Sie den Krieg nicht"-Projekte.
Wo liegt also das Problem? Es ist eine interessante Diskussion, und es gibt ein paar Möglichkeiten, DevOps anzugehen, die meiner Meinung nach für einen viel reibungsloseren Ablauf sorgen werden. Ein effektives Programm geht über ein paar ausgefallene neue Tools, Titel und Team-Meetings hinaus. Es wird nicht immer einfach sein, aber wenn man sich die Zeit nimmt, eine kaputte Strategie zu korrigieren (oder sie von Anfang an richtig zu implementieren), wird es auf lange Sicht viel weniger schmerzhaft sein. Und letztendlich wird es zu einer höheren Qualität und Sicherheit der Software führen.
Lassen Sie uns das aufschlüsseln:
Lassen Sie die "Agile"-Schürzenbänder los.
Es gibt ein gewisses Missverständnis, dass eine Organisation sich zwischen Agile oder DevOps entscheiden muss und den einen oder anderen Weg einschlägt, um nie wieder zurückzublicken.
Die Sache ist die, dass der Entwicklungsprozess am besten funktioniert, wenn beides als Einheit betrachtet und umgesetzt wird. DevOps ist keine Neuerfindung der agilen Entwicklung, sondern eine Erweiterung derselben. Die Räder neigen dazu, abzufallen, wenn die Erwartung besteht, dass der Prozess genau wie Agile oder völlig anders als Agile sein wird.
Agile unterstützt das Prinzip der funktionsübergreifenden Teams, indem es Designer, Tester und Entwickler von Anfang an zusammenbringt und sich für offene Kommunikationslinien während eines Projekts einsetzt. Ziel ist es, die siloartige Bereitstellung zu beenden und die doppelte Bearbeitung zu reduzieren - beides sind ebenfalls Vorteile des DevOps-Prozesses. DevOps geht jedoch noch einen Schritt weiter und bezieht Systeme, Sicherheit und Betrieb mit ein, um ein robustes, durchgängiges Skillset zu bieten, das das ultimative Ziel der vollständigen, funktionalen Softwareauslieferung an den Kunden verfolgt.
Während der unvermeidlichen Schmerzpunkte bei der Umstellung auf einen stärker DevOps-zentrierten Prozess kann das Risiko einer siloartigen Entwicklung wieder auftauchen. Oft arbeitet das ursprüngliche Agile-Team zusammen, während die Sicherheits- und Betriebsergänzungen noch ihren Weg in die Maschine finden; niemand ist sich ganz sicher, wie man sie einbezieht, was sie tun sollen und welche Ziele sie insgesamt verfolgen.
DevOps funktioniert nicht ohne klar definierte Ziele, funktionsübergreifendes Onboarding und direkte Kommunikation mit allen Beteiligten. Sicherlich wird es eine Anpassungsphase geben, die ein sorgfältiges Änderungsmanagement erfordert, aber alle auf die gleiche Seite mit den Verbesserungen zu bringen, die DevOps-Funktionen mit sich bringen, ist schon die halbe Miete.
Zunehmend (Gott sei Dank) legt DevOps auch Wert auf bewährte Sicherheitspraktiken als Teil des Prozesses, entmystifiziert diesen Schritt und überbrückt die Kluft zwischen dem Sicherheitsteam und, nun ja, allen anderen. Wie ich bereits gesagt habe, haben wir noch einen langen Weg vor uns, um Entwickler zu befähigen, von Anfang an sicher zu programmieren, aber die erfolgreiche Implementierung von DevOps-Methoden ist eine hervorragende Grundlage, auf der Sicherheitskompetenzen innerhalb des Entwicklungsteams aufgebaut werden können.
Automatisierung ist nicht alles (und auch nicht das Sicherste).
Ein weiteres Merkmal der DevOps-Methodik ist, bis zu einem gewissen Grad, die Automatisierung des Softwareentwicklungsprozesses. Die Prinzipien der kontinuierlichen Integration und der kontinuierlichen Bereitstellung (CI/CD) sind die Eckpfeiler dieses Konzepts und, wie Sie wahrscheinlich erraten können, sehr abhängig von Tools.
Tools sind großartig, das sind sie wirklich. Sie können den Softwareentwicklungsprozess in beispielloser Geschwindigkeit vorantreiben, indem sie das Code-Repository, die Tests, die Wartung und die Speicherelemente relativ nahtlos verwalten.
Doch auch wenn Roboter eines Tages alle unsere Jobs übernehmen und uns gefangen halten könnten, sind sie definitiv noch nicht so weit. Die starke Abhängigkeit von Tools und Automatisierung lässt ein Fenster weit offen für Fehler. Scans und Tests erkennen möglicherweise nicht alles, Code kann ungeprüft bleiben, was im Nachhinein zu enormen Qualitäts- (ganz zu schweigen von Sicherheits-) Problemen führt. Ein Angreifer braucht nur eine Hintertür auszunutzen, um Daten zu stehlen, und der Verzicht auf das menschliche Element bei der Qualitäts- und Sicherheitskontrolle kann katastrophale Folgen haben.
Der "goldene Mittelweg" besteht darin, ein Gleichgewicht zwischen Menschen und Werkzeugen zu schaffen. Tools sollten als Assistenten für ein Team dienen, dem Sie vertrauen, die Projektziele zu erreichen. Das sollten Sie:
- Planen Sie genügend Zeit ein, damit sich die Mitarbeiter mit der gewählten DevOps-Toolchain vertraut machen können
- Fokus auf effektive Zusammenarbeit (und wie die Tools dies unterstützen können)
- Adressieren Sie alle Lücken im Prozess, unabhängig davon, ob es sich um Fähigkeiten/Wissen oder um Werkzeuge handelt.
Kurz gesagt, rüsten Sie nicht einfach "auf" und hoffen Sie auf das Beste.
DevOps ist kein Modewort, sondern eine Kultur. Wachsen Sie Ihre?
Change Management ist in den besten Zeiten schwierig. Die Angst vor dem Unbekannten kann selbst die brillantesten Teammitglieder davon abhalten, ihre Fähigkeiten auszubauen und ihren Horizont zu erweitern.
Sehen Sie, einfach nur zu sagen "lasst uns DevOps machen" und das Betriebsteam dazu zu bringen, den Schreibtisch zu wechseln, wird nicht auf magische Weise einen erfolgreichen Prozess implementieren. Viele werden verwirrt sein, und langjährige Teammitglieder werden verärgert zurückbleiben. Die Kommunikation der Erwartungen ist von entscheidender Bedeutung, ebenso wie das "Gehen des Weges". DevOps stellt eine kulturelle Bewegung dar, genauso wie eine Entwicklungsmethodik, und ein Team sollte eine funktionsübergreifende, kollaborative Denkweise leben und atmen.
Wie sieht eine großartige DevOps-Kultur aus?
- Einzelpersonen sind befähigt, ihr Fachwissen in einen Prozess einzubringen, nicht nur Führungskräfte
- Offene, ehrliche und respektvolle Kommunikation zwischen Teams
- Jede Person übernimmt die Verantwortung für das Gesamtziel, Qualität und Sicherheit in den Entwicklungsprozess einzubauen
- Jeder ist auf derselben Seite mit der Definition von DevOps im Unternehmen, der Roadmap und dem Wie/Was/Warum der Rolle jeder Person.
Seit Jahren betone ich, wie wichtig der Aufbau einer positiven Sicherheitskultur in Entwicklungsteams ist, und das ist bei DevOps nicht anders.
Die richtigen Tools, das richtige Wissen und der richtige Support sind unerlässlich, um Best Practices für die Sicherheit zu erreichen, einen Rückgang der entdeckten Schwachstellen zu sehen und dem Team die Augen zu öffnen, wie wichtig der Schutz unserer Daten ist. Mit DevOps müssen Sie die kulturelle Grundlage für positive Veränderungen schaffen: Stellen Sie sicher, dass jeder seine Rolle, seinen Wert und seine Erwartungen, die allgemeinen Projektziele und die Schritte im Prozess versteht.
Haben Sie das gemeistert? Prima. Dann lassen Sie uns jetzt die Nadel verschieben, den Sicherheitsaspekt erhöhen und DevSecOps zum ultimativen Plan für Software-Exzellenz machen.
Dieser Artikel wurde ursprünglich veröffentlicht auf DevOps.de. Er wurde aktualisiert und geändert.
Ähnlich wie "Blockchain", "Big Data" und "Digital Disruption" ist der Begriff "DevOps" ein weiteres Buzzword, das derzeit in den IT-Abteilungen großer Unternehmen herumgereicht wird.
Viele haben (richtigerweise) den Bedarf an schnelleren Softwareentwicklungs-Lebenszyklen erkannt; ein präziserer Prozess, der eng mit den Geschäftszielen abgestimmt ist und einen klareren Arbeitsablauf und eine bessere Zusammenarbeit zwischen den Entwicklungs- und Betriebsteams ermöglicht. DevOps ist im Wesentlichen eine "agile" Entwicklung, die erwachsen geworden und bereit ist, sich den ständig innovativen und schnell bereitstellenden Anforderungen des modernen Unternehmens zu stellen. Für Sicherheitsexperten ist es eine fantastische Initiative: Wir können die Sicherheit viel früher in den Prozess einbringen, die Kosten für die Behebung von Fehlern reduzieren und potenzielle Katastrophen im Nachhinein vermeiden.
Das Problem ist, dass nur wenige Unternehmen bei ihrer DevOps-Implementierung wirklich erfolgreich sind. Ohne die richtige Unterstützung, Pflege und das Verständnis im gesamten Unternehmen kann es schnell zu einem weißen Elefanten werden... Sie wissen schon, eines dieser "Erwähnen Sie den Krieg nicht"-Projekte.
Wo liegt also das Problem? Es ist eine interessante Diskussion, und es gibt ein paar Möglichkeiten, DevOps anzugehen, die meiner Meinung nach für einen viel reibungsloseren Ablauf sorgen werden. Ein effektives Programm geht über ein paar ausgefallene neue Tools, Titel und Team-Meetings hinaus. Es wird nicht immer einfach sein, aber wenn man sich die Zeit nimmt, eine kaputte Strategie zu korrigieren (oder sie von Anfang an richtig zu implementieren), wird es auf lange Sicht viel weniger schmerzhaft sein. Und letztendlich wird es zu einer höheren Qualität und Sicherheit der Software führen.
Lassen Sie uns das aufschlüsseln:
Lassen Sie die "Agile"-Schürzenbänder los.
Es gibt ein gewisses Missverständnis, dass eine Organisation sich zwischen Agile oder DevOps entscheiden muss und den einen oder anderen Weg einschlägt, um nie wieder zurückzublicken.
Die Sache ist die, dass der Entwicklungsprozess am besten funktioniert, wenn beides als Einheit betrachtet und umgesetzt wird. DevOps ist keine Neuerfindung der agilen Entwicklung, sondern eine Erweiterung derselben. Die Räder neigen dazu, abzufallen, wenn die Erwartung besteht, dass der Prozess genau wie Agile oder völlig anders als Agile sein wird.
Agile unterstützt das Prinzip der funktionsübergreifenden Teams, indem es Designer, Tester und Entwickler von Anfang an zusammenbringt und sich für offene Kommunikationslinien während eines Projekts einsetzt. Ziel ist es, die siloartige Bereitstellung zu beenden und die doppelte Bearbeitung zu reduzieren - beides sind ebenfalls Vorteile des DevOps-Prozesses. DevOps geht jedoch noch einen Schritt weiter und bezieht Systeme, Sicherheit und Betrieb mit ein, um ein robustes, durchgängiges Skillset zu bieten, das das ultimative Ziel der vollständigen, funktionalen Softwareauslieferung an den Kunden verfolgt.
Während der unvermeidlichen Schmerzpunkte bei der Umstellung auf einen stärker DevOps-zentrierten Prozess kann das Risiko einer siloartigen Entwicklung wieder auftauchen. Oft arbeitet das ursprüngliche Agile-Team zusammen, während die Sicherheits- und Betriebsergänzungen noch ihren Weg in die Maschine finden; niemand ist sich ganz sicher, wie man sie einbezieht, was sie tun sollen und welche Ziele sie insgesamt verfolgen.
DevOps funktioniert nicht ohne klar definierte Ziele, funktionsübergreifendes Onboarding und direkte Kommunikation mit allen Beteiligten. Sicherlich wird es eine Anpassungsphase geben, die ein sorgfältiges Änderungsmanagement erfordert, aber alle auf die gleiche Seite mit den Verbesserungen zu bringen, die DevOps-Funktionen mit sich bringen, ist schon die halbe Miete.
Zunehmend (Gott sei Dank) legt DevOps auch Wert auf bewährte Sicherheitspraktiken als Teil des Prozesses, entmystifiziert diesen Schritt und überbrückt die Kluft zwischen dem Sicherheitsteam und, nun ja, allen anderen. Wie ich bereits gesagt habe, haben wir noch einen langen Weg vor uns, um Entwickler zu befähigen, von Anfang an sicher zu programmieren, aber die erfolgreiche Implementierung von DevOps-Methoden ist eine hervorragende Grundlage, auf der Sicherheitskompetenzen innerhalb des Entwicklungsteams aufgebaut werden können.
Automatisierung ist nicht alles (und auch nicht das Sicherste).
Ein weiteres Merkmal der DevOps-Methodik ist, bis zu einem gewissen Grad, die Automatisierung des Softwareentwicklungsprozesses. Die Prinzipien der kontinuierlichen Integration und der kontinuierlichen Bereitstellung (CI/CD) sind die Eckpfeiler dieses Konzepts und, wie Sie wahrscheinlich erraten können, sehr abhängig von Tools.
Tools sind großartig, das sind sie wirklich. Sie können den Softwareentwicklungsprozess in beispielloser Geschwindigkeit vorantreiben, indem sie das Code-Repository, die Tests, die Wartung und die Speicherelemente relativ nahtlos verwalten.
Doch auch wenn Roboter eines Tages alle unsere Jobs übernehmen und uns gefangen halten könnten, sind sie definitiv noch nicht so weit. Die starke Abhängigkeit von Tools und Automatisierung lässt ein Fenster weit offen für Fehler. Scans und Tests erkennen möglicherweise nicht alles, Code kann ungeprüft bleiben, was im Nachhinein zu enormen Qualitäts- (ganz zu schweigen von Sicherheits-) Problemen führt. Ein Angreifer braucht nur eine Hintertür auszunutzen, um Daten zu stehlen, und der Verzicht auf das menschliche Element bei der Qualitäts- und Sicherheitskontrolle kann katastrophale Folgen haben.
Der "goldene Mittelweg" besteht darin, ein Gleichgewicht zwischen Menschen und Werkzeugen zu schaffen. Tools sollten als Assistenten für ein Team dienen, dem Sie vertrauen, die Projektziele zu erreichen. Das sollten Sie:
- Planen Sie genügend Zeit ein, damit sich die Mitarbeiter mit der gewählten DevOps-Toolchain vertraut machen können
- Fokus auf effektive Zusammenarbeit (und wie die Tools dies unterstützen können)
- Adressieren Sie alle Lücken im Prozess, unabhängig davon, ob es sich um Fähigkeiten/Wissen oder um Werkzeuge handelt.
Kurz gesagt, rüsten Sie nicht einfach "auf" und hoffen Sie auf das Beste.
DevOps ist kein Modewort, sondern eine Kultur. Wachsen Sie Ihre?
Change Management ist in den besten Zeiten schwierig. Die Angst vor dem Unbekannten kann selbst die brillantesten Teammitglieder davon abhalten, ihre Fähigkeiten auszubauen und ihren Horizont zu erweitern.
Sehen Sie, einfach nur zu sagen "lasst uns DevOps machen" und das Betriebsteam dazu zu bringen, den Schreibtisch zu wechseln, wird nicht auf magische Weise einen erfolgreichen Prozess implementieren. Viele werden verwirrt sein, und langjährige Teammitglieder werden verärgert zurückbleiben. Die Kommunikation der Erwartungen ist von entscheidender Bedeutung, ebenso wie das "Gehen des Weges". DevOps stellt eine kulturelle Bewegung dar, genauso wie eine Entwicklungsmethodik, und ein Team sollte eine funktionsübergreifende, kollaborative Denkweise leben und atmen.
Wie sieht eine großartige DevOps-Kultur aus?
- Einzelpersonen sind befähigt, ihr Fachwissen in einen Prozess einzubringen, nicht nur Führungskräfte
- Offene, ehrliche und respektvolle Kommunikation zwischen Teams
- Jede Person übernimmt die Verantwortung für das Gesamtziel, Qualität und Sicherheit in den Entwicklungsprozess einzubauen
- Jeder ist auf derselben Seite mit der Definition von DevOps im Unternehmen, der Roadmap und dem Wie/Was/Warum der Rolle jeder Person.
Seit Jahren betone ich, wie wichtig der Aufbau einer positiven Sicherheitskultur in Entwicklungsteams ist, und das ist bei DevOps nicht anders.
Die richtigen Tools, das richtige Wissen und der richtige Support sind unerlässlich, um Best Practices für die Sicherheit zu erreichen, einen Rückgang der entdeckten Schwachstellen zu sehen und dem Team die Augen zu öffnen, wie wichtig der Schutz unserer Daten ist. Mit DevOps müssen Sie die kulturelle Grundlage für positive Veränderungen schaffen: Stellen Sie sicher, dass jeder seine Rolle, seinen Wert und seine Erwartungen, die allgemeinen Projektziele und die Schritte im Prozess versteht.
Haben Sie das gemeistert? Prima. Dann lassen Sie uns jetzt die Nadel verschieben, den Sicherheitsaspekt erhöhen und DevSecOps zum ultimativen Plan für Software-Exzellenz machen.
Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht ansehenDemo buchenVorstandsvorsitzender, Chairman und Mitbegründer
Pieter Danhieux ist ein weltweit anerkannter Sicherheitsexperte mit mehr als 12 Jahren Erfahrung als Sicherheitsberater und 8 Jahren als Principal Instructor für SANS, wo er offensive Techniken lehrt, wie man Organisationen, Systeme und Einzelpersonen auf Sicherheitsschwächen hin untersucht und bewertet. Im Jahr 2016 wurde er als einer der "Coolest Tech People in Australia" (Business Insider) ausgezeichnet, erhielt die Auszeichnung "Cyber Security Professional of the Year" (AISA - Australian Information Security Association) und besitzt die Zertifizierungen GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.
Dieser Artikel wurde ursprünglich veröffentlicht auf DevOps.de. Er wurde aktualisiert und geändert.
Ähnlich wie "Blockchain", "Big Data" und "Digital Disruption" ist der Begriff "DevOps" ein weiteres Buzzword, das derzeit in den IT-Abteilungen großer Unternehmen herumgereicht wird.
Viele haben (richtigerweise) den Bedarf an schnelleren Softwareentwicklungs-Lebenszyklen erkannt; ein präziserer Prozess, der eng mit den Geschäftszielen abgestimmt ist und einen klareren Arbeitsablauf und eine bessere Zusammenarbeit zwischen den Entwicklungs- und Betriebsteams ermöglicht. DevOps ist im Wesentlichen eine "agile" Entwicklung, die erwachsen geworden und bereit ist, sich den ständig innovativen und schnell bereitstellenden Anforderungen des modernen Unternehmens zu stellen. Für Sicherheitsexperten ist es eine fantastische Initiative: Wir können die Sicherheit viel früher in den Prozess einbringen, die Kosten für die Behebung von Fehlern reduzieren und potenzielle Katastrophen im Nachhinein vermeiden.
Das Problem ist, dass nur wenige Unternehmen bei ihrer DevOps-Implementierung wirklich erfolgreich sind. Ohne die richtige Unterstützung, Pflege und das Verständnis im gesamten Unternehmen kann es schnell zu einem weißen Elefanten werden... Sie wissen schon, eines dieser "Erwähnen Sie den Krieg nicht"-Projekte.
Wo liegt also das Problem? Es ist eine interessante Diskussion, und es gibt ein paar Möglichkeiten, DevOps anzugehen, die meiner Meinung nach für einen viel reibungsloseren Ablauf sorgen werden. Ein effektives Programm geht über ein paar ausgefallene neue Tools, Titel und Team-Meetings hinaus. Es wird nicht immer einfach sein, aber wenn man sich die Zeit nimmt, eine kaputte Strategie zu korrigieren (oder sie von Anfang an richtig zu implementieren), wird es auf lange Sicht viel weniger schmerzhaft sein. Und letztendlich wird es zu einer höheren Qualität und Sicherheit der Software führen.
Lassen Sie uns das aufschlüsseln:
Lassen Sie die "Agile"-Schürzenbänder los.
Es gibt ein gewisses Missverständnis, dass eine Organisation sich zwischen Agile oder DevOps entscheiden muss und den einen oder anderen Weg einschlägt, um nie wieder zurückzublicken.
Die Sache ist die, dass der Entwicklungsprozess am besten funktioniert, wenn beides als Einheit betrachtet und umgesetzt wird. DevOps ist keine Neuerfindung der agilen Entwicklung, sondern eine Erweiterung derselben. Die Räder neigen dazu, abzufallen, wenn die Erwartung besteht, dass der Prozess genau wie Agile oder völlig anders als Agile sein wird.
Agile unterstützt das Prinzip der funktionsübergreifenden Teams, indem es Designer, Tester und Entwickler von Anfang an zusammenbringt und sich für offene Kommunikationslinien während eines Projekts einsetzt. Ziel ist es, die siloartige Bereitstellung zu beenden und die doppelte Bearbeitung zu reduzieren - beides sind ebenfalls Vorteile des DevOps-Prozesses. DevOps geht jedoch noch einen Schritt weiter und bezieht Systeme, Sicherheit und Betrieb mit ein, um ein robustes, durchgängiges Skillset zu bieten, das das ultimative Ziel der vollständigen, funktionalen Softwareauslieferung an den Kunden verfolgt.
Während der unvermeidlichen Schmerzpunkte bei der Umstellung auf einen stärker DevOps-zentrierten Prozess kann das Risiko einer siloartigen Entwicklung wieder auftauchen. Oft arbeitet das ursprüngliche Agile-Team zusammen, während die Sicherheits- und Betriebsergänzungen noch ihren Weg in die Maschine finden; niemand ist sich ganz sicher, wie man sie einbezieht, was sie tun sollen und welche Ziele sie insgesamt verfolgen.
DevOps funktioniert nicht ohne klar definierte Ziele, funktionsübergreifendes Onboarding und direkte Kommunikation mit allen Beteiligten. Sicherlich wird es eine Anpassungsphase geben, die ein sorgfältiges Änderungsmanagement erfordert, aber alle auf die gleiche Seite mit den Verbesserungen zu bringen, die DevOps-Funktionen mit sich bringen, ist schon die halbe Miete.
Zunehmend (Gott sei Dank) legt DevOps auch Wert auf bewährte Sicherheitspraktiken als Teil des Prozesses, entmystifiziert diesen Schritt und überbrückt die Kluft zwischen dem Sicherheitsteam und, nun ja, allen anderen. Wie ich bereits gesagt habe, haben wir noch einen langen Weg vor uns, um Entwickler zu befähigen, von Anfang an sicher zu programmieren, aber die erfolgreiche Implementierung von DevOps-Methoden ist eine hervorragende Grundlage, auf der Sicherheitskompetenzen innerhalb des Entwicklungsteams aufgebaut werden können.
Automatisierung ist nicht alles (und auch nicht das Sicherste).
Ein weiteres Merkmal der DevOps-Methodik ist, bis zu einem gewissen Grad, die Automatisierung des Softwareentwicklungsprozesses. Die Prinzipien der kontinuierlichen Integration und der kontinuierlichen Bereitstellung (CI/CD) sind die Eckpfeiler dieses Konzepts und, wie Sie wahrscheinlich erraten können, sehr abhängig von Tools.
Tools sind großartig, das sind sie wirklich. Sie können den Softwareentwicklungsprozess in beispielloser Geschwindigkeit vorantreiben, indem sie das Code-Repository, die Tests, die Wartung und die Speicherelemente relativ nahtlos verwalten.
Doch auch wenn Roboter eines Tages alle unsere Jobs übernehmen und uns gefangen halten könnten, sind sie definitiv noch nicht so weit. Die starke Abhängigkeit von Tools und Automatisierung lässt ein Fenster weit offen für Fehler. Scans und Tests erkennen möglicherweise nicht alles, Code kann ungeprüft bleiben, was im Nachhinein zu enormen Qualitäts- (ganz zu schweigen von Sicherheits-) Problemen führt. Ein Angreifer braucht nur eine Hintertür auszunutzen, um Daten zu stehlen, und der Verzicht auf das menschliche Element bei der Qualitäts- und Sicherheitskontrolle kann katastrophale Folgen haben.
Der "goldene Mittelweg" besteht darin, ein Gleichgewicht zwischen Menschen und Werkzeugen zu schaffen. Tools sollten als Assistenten für ein Team dienen, dem Sie vertrauen, die Projektziele zu erreichen. Das sollten Sie:
- Planen Sie genügend Zeit ein, damit sich die Mitarbeiter mit der gewählten DevOps-Toolchain vertraut machen können
- Fokus auf effektive Zusammenarbeit (und wie die Tools dies unterstützen können)
- Adressieren Sie alle Lücken im Prozess, unabhängig davon, ob es sich um Fähigkeiten/Wissen oder um Werkzeuge handelt.
Kurz gesagt, rüsten Sie nicht einfach "auf" und hoffen Sie auf das Beste.
DevOps ist kein Modewort, sondern eine Kultur. Wachsen Sie Ihre?
Change Management ist in den besten Zeiten schwierig. Die Angst vor dem Unbekannten kann selbst die brillantesten Teammitglieder davon abhalten, ihre Fähigkeiten auszubauen und ihren Horizont zu erweitern.
Sehen Sie, einfach nur zu sagen "lasst uns DevOps machen" und das Betriebsteam dazu zu bringen, den Schreibtisch zu wechseln, wird nicht auf magische Weise einen erfolgreichen Prozess implementieren. Viele werden verwirrt sein, und langjährige Teammitglieder werden verärgert zurückbleiben. Die Kommunikation der Erwartungen ist von entscheidender Bedeutung, ebenso wie das "Gehen des Weges". DevOps stellt eine kulturelle Bewegung dar, genauso wie eine Entwicklungsmethodik, und ein Team sollte eine funktionsübergreifende, kollaborative Denkweise leben und atmen.
Wie sieht eine großartige DevOps-Kultur aus?
- Einzelpersonen sind befähigt, ihr Fachwissen in einen Prozess einzubringen, nicht nur Führungskräfte
- Offene, ehrliche und respektvolle Kommunikation zwischen Teams
- Jede Person übernimmt die Verantwortung für das Gesamtziel, Qualität und Sicherheit in den Entwicklungsprozess einzubauen
- Jeder ist auf derselben Seite mit der Definition von DevOps im Unternehmen, der Roadmap und dem Wie/Was/Warum der Rolle jeder Person.
Seit Jahren betone ich, wie wichtig der Aufbau einer positiven Sicherheitskultur in Entwicklungsteams ist, und das ist bei DevOps nicht anders.
Die richtigen Tools, das richtige Wissen und der richtige Support sind unerlässlich, um Best Practices für die Sicherheit zu erreichen, einen Rückgang der entdeckten Schwachstellen zu sehen und dem Team die Augen zu öffnen, wie wichtig der Schutz unserer Daten ist. Mit DevOps müssen Sie die kulturelle Grundlage für positive Veränderungen schaffen: Stellen Sie sicher, dass jeder seine Rolle, seinen Wert und seine Erwartungen, die allgemeinen Projektziele und die Schritte im Prozess versteht.
Haben Sie das gemeistert? Prima. Dann lassen Sie uns jetzt die Nadel verschieben, den Sicherheitsaspekt erhöhen und DevSecOps zum ultimativen Plan für Software-Exzellenz machen.
Inhaltsübersicht
Vorstandsvorsitzender, Chairman und Mitbegründer
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen für den Einstieg
Benchmarking von Sicherheitskompetenzen: Optimierung von Secure-by-Design im Unternehmen
Die Secure-by-Design-Bewegung ist die Zukunft der sicheren Softwareentwicklung. Erfahren Sie mehr über die wichtigsten Elemente, die Unternehmen berücksichtigen müssen, wenn sie über eine Secure-by-Design-Initiative nachdenken.
DigitalOcean verringert Sicherheitsverschuldung mit Secure Code Warrior
DigitalOceans Einsatz von Secure Code Warrior hat die Sicherheitsverschuldung deutlich reduziert, so dass sich die Teams stärker auf Innovation und Produktivität konzentrieren können. Die verbesserte Sicherheit hat die Produktqualität und den Wettbewerbsvorteil des Unternehmens gestärkt. Mit Blick auf die Zukunft wird der SCW Trust Score dem Unternehmen helfen, seine Sicherheitspraktiken weiter zu verbessern und Innovationen voranzutreiben.
Ressourcen für den Einstieg
Reaktive versus präventive Sicherheit: Prävention ist das bessere Heilmittel
Der Gedanke, Legacy-Code und -Systeme zur gleichen Zeit wie neuere Anwendungen mit präventiver Sicherheit auszustatten, kann entmutigend erscheinen, aber ein Secure-by-Design-Ansatz, der durch die Weiterbildung von Entwicklern durchgesetzt wird, kann die besten Sicherheitsverfahren auf diese Systeme anwenden. Dies ist für viele Unternehmen die beste Chance, ihre Sicherheitslage zu verbessern.
Die Vorteile eines Benchmarking der Sicherheitskompetenzen von Entwicklern
Der zunehmende Fokus auf sicheren Code und Secure-by-Design-Prinzipien erfordert, dass Entwickler von Beginn des SDLC an in Cybersicherheit geschult werden, wobei Tools wie Secure Code Warrior's Trust Score dabei helfen, ihre Fortschritte zu messen und zu verbessern.
Wesentlicher Erfolg für Enterprise Secure-by-Design-Initiativen
Unser jüngstes Forschungspapier „Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise“ ist das Ergebnis einer umfassenden Analyse echter Secure-by-Design-Initiativen auf Unternehmensebene und der Ableitung von Best-Practice-Ansätzen auf Grundlage datengesteuerter Erkenntnisse.
Vertiefung: Navigieren durch die kritische CUPS-Schwachstelle in GNU-Linux-Systemen
Entdecken Sie die neuesten Sicherheitsprobleme, mit denen Linux-Benutzer konfrontiert sind, indem wir die jüngsten hochgradigen Sicherheitslücken im Common UNIX Printing System (CUPS) untersuchen. Erfahren Sie, wie diese Probleme zu einer möglichen Remote Code Execution (RCE) führen können und was Sie tun können, um Ihre Systeme zu schützen.