この記事は最初に公開されました DevOps.com. Aktualisiert und korrigiert.
「ブロックチェーン」、「ビッグデータ」、「デジタルディスラプション」と同様に、「DevOps」という用語は、現在大規模組織のIT部門で使われているもう1つの流行語です。
Viele Unternehmen erkennen (zu Recht) die Notwendigkeit eines Softwareentwicklungslebenszyklus, der eng mit den Geschäftszielen verknüpft ist und präzisere Prozesse ermöglicht, die klarere Arbeitsabläufe und eine bessere Zusammenarbeit zwischen Entwicklungs- und Betriebsteams ermöglichen. DevOps ist im Wesentlichen eine „agile“ Entwicklung, die alle Beteiligten weiterbringt und auf die Anforderungen des modernen Geschäftslebens vorbereitet, das von ständiger Innovation und schneller Umsetzung geprägt ist.Für Sicherheitsexperten ist dies eine großartige Initiative. Da Sicherheit viel früher in den Prozess integriert werden kann, lassen sich die Kosten für die Fehlerbehebung senken und mögliche Katastrophen in der Zukunft vermeiden.
Das Problem ist, dass es nur sehr wenige Unternehmen gibt, die DevOps wirklich erfolgreich implementieren. Ohne angemessene Unterstützung, Schulung und Verständnis im gesamten Unternehmen kann es schnell zu einem Neuanfang kommen. Wie Sie wissen, handelt es sich hierbei um eines der Projekte, bei denen „Krieg natürlich“ ist.
Was ist also das Problem? Das ist eine interessante Frage. Es gibt mehrere Ansätze für DevOps, von denen ich glaube, dass sie zu einer wesentlich reibungsloseren Umstellung beitragen. Ein effektives Programm besteht nicht nur aus ein paar auffälligen neuen Tools, Titeln und Teambesprechungen. Es ist nicht immer einfach, aber wenn man sich die Zeit nimmt, fehlgeschlagene Strategien zu korrigieren (oder sie von Anfang an richtig umzusetzen), wird man langfristig viel weniger Probleme haben. Und letztendlich wird dies zu einer höheren Qualität und Sicherheit der Software führen.
Lassen Sie uns das einmal analysieren:
Bitte lassen Sie die Schnüre der „Agile“-Schürze los.
組織はアジャイルかDevOpsのどちらかを選び、どちらかの道を切り開き、決して振り返らないようにしなければならないという誤解があります。
重要なのは、開発プロセスは、両方を1つにまとめて検討し、実装するときに最もうまく機能することです。DevOps はアジャイル開発の再発明ではありません 。むしろ、アジャイル開発の延長です。プロセスに期待すると、車輪が外れてしまう傾向があります。 まったく同じアジャイル 、 あるいはまったく違うアジャイルから 。
Agile unterstützt das Prinzip funktionsübergreifender Teams, indem es Designer, Tester und Entwickler von Anfang an zusammenbringt und eine offene Kommunikation während des gesamten Projekts gewährleistet. Das Ziel besteht darin, isolierte Bereitstellungen zu vermeiden und Doppelarbeit zu reduzieren – beides Vorteile des DevOps-Prozesses.DevOps geht jedoch noch einen Schritt weiter und bietet robuste End-to-End-Fähigkeiten, deren oberstes Ziel es ist, Kunden vollständige und funktionsfähige Software zu liefern, indem Systeme, Sicherheit und Betrieb miteinander kombiniert werden.
Angesichts der unvermeidlichen Herausforderung, zu einem DevOps-zentrierten Prozess überzugehen, könnte das Risiko einer isolierten Entwicklung erneut zunehmen. In vielen Fällen arbeiten die ursprünglichen agilen Teams zusammen, ohne dass jemand genau weiß, wie die zusätzlichen Sicherheits- und Betriebsaspekte integriert werden sollen, was zu tun ist und was das übergeordnete Ziel ist, während diese Aspekte noch in die Maschinen integriert werden.
DevOps funktioniert nicht ohne klar definierte Ziele, abteilungsübergreifendes Onboarding und direkte Kommunikation mit allen Beteiligten. Es gibt zwar eine Anpassungsphase, die ein umsichtiges Änderungsmanagement erfordert, aber alle Beteiligten auf die Vorteile der DevOps-Funktionen einzuschwören, ist nur die halbe Miete.
DevOps legt nun auch einen Schwerpunkt auf bewährte Sicherheitsverfahren als Teil des Prozesses, erklärt die einzelnen Schritte auf verständliche Weise und schließt damit die Lücke zwischen dem Sicherheitsteam und allen anderen (was sehr zu begrüßen ist). Wie bereits erwähnt, ist es noch ein langer Weg, bis Entwickler von Anfang an sicher programmieren können, aber die erfolgreiche Umsetzung der DevOps-Methodik bildet eine hervorragende Grundlage für den Aufbau von Sicherheitskompetenzen innerhalb des Entwicklungsteams.
Automatisierung ist nicht alles (und auch nicht unbedingt die sicherste Lösung).
Ein weiteres Merkmal der DevOps-Methodik ist die weitgehende Automatisierung des Softwareentwicklungsprozesses. Die Prinzipien der kontinuierlichen Integration und kontinuierlichen Bereitstellung (CI/CD) bilden die Grundlage dieses Konzepts und sind, wie Sie sich vorstellen können, stark von Tools abhängig.
Tools sind großartig, wirklich großartig. Sie ermöglichen eine relativ nahtlose Verwaltung der einzelnen Elemente – Code-Repository, Tests, Wartung und Speicherung – und sorgen so für eine beispiellose Geschwindigkeit im Softwarebereitstellungsprozess.
Es ist jedoch zweifellos noch nicht Realität, dass Roboter uns eines Tages alle unsere Arbeitsplätze wegnehmen und uns einsperren könnten. Eine starke Abhängigkeit von Tools und Automatisierung erhöht das Fehlerpotenzial erheblich. Nicht alles wird durch Scans und Tests erkannt, und manchmal bleibt der Code ungeprüft, was zu erheblichen Problemen bei der Qualität (und natürlich auch bei der Sicherheit) . Ein einziger Hintertürzugang reicht Angreifern aus, um Daten zu stehlen. Wenn man den menschlichen Faktor bei der Qualitäts- und Sicherheitskontrolle außer Acht lässt, kann dies katastrophale Folgen haben.
「ハッピーミディアム」とは、人々のバランスをとることです そして ツール。ツールは、信頼できるチームがプロジェクトの目標を達成するためのアシスタントの役割を果たすべきです。次のことを行う必要があります。
- Nehmen Sie sich ausreichend Zeit, um sich mit der ausgewählten DevOps-Toolkette vertraut zu machen.
- 効果的なコラボレーション(およびツールがそれをどのようにサポートできるか)に焦点を当てる
- Wir schließen alle Lücken im Prozess, unabhängig davon, ob diese auf Fähigkeiten/Kenntnissen oder auf Tools beruhen.
Kurz gesagt, es reicht nicht aus, sich nur auf „Tool-Up“ zu verlassen und auf das beste Ergebnis zu hoffen.
DevOps ist kein Modewort, sondern eine Kultur. Ist Ihr Unternehmen auf Wachstumskurs?
変更管理は最良の時期でも難しいものです。未知への恐れは、最も優秀なチームメンバーでさえもスキルを磨き、視野を広げることを妨げることがあります。
Es reicht nicht aus, einfach zu sagen „Lasst uns DevOps einführen” und die Mitarbeiter des Betriebsteams an andere Schreibtische zu setzen, um den Prozess wie durch Zauberei zum Erfolg zu führen. Viele werden verwirrt sein, und langjährige Teammitglieder werden unzufrieden sein. Es ist unerlässlich, Erwartungen zu kommunizieren, und es ist wichtig, „Schritte nach vorne zu machen”. DevOps ist sowohl eine Entwicklungsmethodik als auch eine kulturelle Bewegung. Das Team sollte eine abteilungsübergreifende und kooperative Denkweise verfolgen.
Was macht eine hervorragende DevOps-Kultur aus?
- Nicht nur Führungskräfte, sondern auch Einzelpersonen erhalten die Befugnis, ihr Fachwissen in den Prozess einzubringen.
- Offene, ehrliche und respektvolle Kommunikation zwischen den Teams
- Jeder Einzelne ist für das übergeordnete Ziel verantwortlich, Qualität und Sicherheit in den Entwicklungsprozess zu integrieren.
- Alle haben das gleiche Verständnis von der Definition von DevOps im Geschäftsleben, der Roadmap und den Methoden/Inhalten/Gründen für die Rollen der einzelnen Personen.
Ich habe seit vielen Jahren betont, wie wichtig es ist, eine positive Sicherheitskultur im Entwicklungsteam aufzubauen, und DevOps bildet da keine Ausnahme.
Um Best Practices im Bereich Sicherheit umzusetzen, sicherzustellen, dass die Anzahl der entdeckten Schwachstellen sinkt, und das Team für die Bedeutung des Datenschutzes zu sensibilisieren, sind geeignete Tools, Kenntnisse und Unterstützung unerlässlich. Bei DevOps muss eine kulturelle Grundlage geschaffen werden, um positive Veränderungen zu bewirken. Das bedeutet, dass alle Beteiligten ihre Rolle, ihren Wert, ihre Erwartungen, die Ziele des Gesamtprojekts und die einzelnen Prozessschritte verstehen müssen.
Haben Sie das gemeistert? Großartig. Dann ändern Sie Ihre Strategie, stärken Sie die Sicherheit weiter und machen Sie DevSecOps zum ultimativen Plan für Software-Exzellenz.