close

DevOps

Zur Navigation gehen Zur Suche gehen

DevOps ( englisches Akronym für Development​​Development – ​​and Operations – Operations –) ist eine Reihe von Praktiken, die Softwareentwicklung ( Dev ) und IT-Betrieb ( Ops ) gruppieren. Sein Ziel ist es, den Lebenszyklus der Softwareentwicklung zu beschleunigen und eine kontinuierliche Bereitstellung in hoher Qualität zu gewährleisten. DevOps ist eine ergänzende Praxis zur agilen Softwareentwicklung; Dies liegt daran, dass viele der Funktionen von DevOps aus der Agile-Methodik stammen.

Das Hauptmerkmal der DevOps-Bewegung besteht darin, sich aktiv für die Automatisierung und Überwachung in allen Schritten der Softwareentwicklung einzusetzen, von der Integration über das Testen und die Bereitstellung bis hin zum Bereitstellungs- und Infrastrukturmanagement . DevOps strebt kürzere Entwicklungszyklen, eine höhere Bereitstellungshäufigkeit und effektivere Releases in enger Abstimmung mit den Geschäftszielen an. [ 1 ] ​[ 2 ] ​[ 3 ] ​[ 4 ]

Definitionen und Geschichte

Image
Abbildung zeigt DevOps als Schnittstelle zwischen Entwicklung, Technologiebetrieb und Qualität (QA)

Auf der Konferenz „Agile 2008“ in Toronto führten Yhens Wasna und Patrick Debois den Begriff in ihrem Vortrag „Agile Infrastructure“ ein. [ 5 ] Ab 2009 wurde der Begriff DevOps durch eine Reihe von „Devopsdays“ [ 6 ] , die in Belgien begannen und sich inzwischen auch in Europa und anderen Ländern ausgebreitet haben, ständig gefördert und allgemeiner verwendet. [ 7 ]

Der Begriff DevOps wurde in vielen verschiedenen Zusammenhängen verwendet. [ 8 ]

Eine von Bass, Weber und Zhu vorgeschlagene Definition lautet:

DevOps ist eine Reihe von Praktiken, die darauf abzielen, die Zeit zwischen dem Festschreiben einer Änderung an einer Anwendung und der Übernahme der Änderung in die normale Produktion zu verkürzen und gleichzeitig eine hohe Qualität sicherzustellen. [ 9 ]

Im Laufe des nächsten Jahrzehnts entwickelten sich auch eher tangentiale DevOps-Initiativen wie OpsDev, [ 10 ] WinOps, [ 11 ] und BizDevOps. [ 12 ]

DevOps-Tools

Da DevOps als funktionsübergreifende Arbeitsweise gedacht ist, gibt es statt eines einzelnen DevOps-Tools Sets (oder „ Toolchains “) aus mehreren Tools. [ 13 ]​ Von solchen DevOps-Tools wird erwartet, dass sie in eine oder mehrere dieser Kategorien passen und Schlüsselaspekte des Entwicklungs- und Bereitstellungsprozesses widerspiegeln: [ 14 ] ​[ 15 ]

  1. Code: Code-Entwicklung und -Überprüfung, Quellcode-Management-Tools, Code-Merging
  2. Build: Kontinuierliche Integrationstools , Build-Status
  3. Test – Fortlaufende Testtools, die Feedback zu Geschäftsrisiken liefern
  4. Paket: Artefakt-Repository , Verteilung vor der Anwendungsbereitstellung
  5. Release – Änderungsmanagement, Release-Genehmigungen, Release-Automatisierung
  6. Konfigurieren - Infrastrukturkonfiguration und -verwaltung, Infrastruktur als Code
  7. Monitor: Überwachung der Anwendungsleistung, Endbenutzererfahrung

Einige Kategorien sind in einer DevOps-Toolchain wichtiger als andere; insbesondere kontinuierliche Integration (z. B. Jenkins ) und Infrastruktur als Code (z . B. Puppet ). [ 16 ] ​[ 17 ]

Beziehung und andere Ansätze

Agil

Der Bedarf an DevOps entstand aus dem wachsenden Erfolg der agilen Softwareentwicklung, da Unternehmen ihre Software schneller und häufiger veröffentlichen wollten. Als sie versuchten, die Belastung zu überwinden, die dies für ihre Release-Management-Prozesse bedeutete, mussten sie Muster wie die Automatisierung von Anwendungs-Releases, kontinuierliche Integrationstools und kontinuierliche Bereitstellung übernehmen . [ 18 ]

Continuous Delivery

Continuous Delivery und DevOps haben gemeinsame Ziele und werden oft zusammen verwendet, aber es gibt feine Unterschiede. [ 19 ] ​[ 20 ]

Während sich Continuous Delivery auf die Automatisierung von Softwarebereitstellungsprozessen konzentriert , konzentriert sich DevOps auch auf organisatorische Veränderungen, um eine umfassende Zusammenarbeit zwischen den vielen beteiligten Funktionen zu unterstützen. [ 19 ]

DevOps und Continuous Delivery teilen eine gemeinsame Grundlage in agilen Methoden und leichtem Denken: kleine, häufige Änderungen mit fokussiertem Wert für den Endkunden. [ 21 ]

ArchOps

ArchOps ist eine Erweiterung von DevOps, die den Abstraktionsgrad erhöht, indem Softwarearchitekturartefakte gegenüber Quellcode für die Bereitstellung und den Betrieb von Softwarelösungen priorisiert werden . [ 22 ] ArchOps stellt fest, dass Architekturmodelle erstklassige Entitäten innerhalb der Entwicklung, des Einsatzes und des Betriebs von Softwarelösungen sind.

DataOps

Die Continuous-Delivery- und DevOps-Anwendung zur Datenanalyse heißt DataOps. DataOps versucht, Data Engineering, Datenintegration, Datenqualität, Datensicherheit und Datenschutz in den Betrieb zu integrieren. [ 23 ]​ Es wendet Prinzipien von DevOps, agiler Entwicklung und statistischer Prozesskontrolle an, die in der schlanken Fertigung verwendet werden, um die Zykluszeit für die Gewinnung von Werten aus der Datenanalyse zu verbessern. [ 24 ]

DevSecOps

DevSecOps ist eine Erweiterung von DevOps, um die Integration von Sicherheitspraktiken in den DevOps-Ansatz zu ermöglichen. Das traditionelle Modell eines zentralisierten Sicherheitsteams muss ein föderiertes Modell übernehmen, das es jedem Bereitstellungsteam ermöglicht, die richtigen Sicherheitskontrollen in seinen DevOps-Praktiken zu berücksichtigen.

Ziele

DevOps-Ziele umfassen den gesamten Bereitstellungsprozess. Sie beinhalten:

  • Verbesserte Bereitstellungshäufigkeit;
  • Schnellere Freigaben für die Produktion;
  • Geringe Fehlerquote bei der Generierung neuer Versionen;
  • Kürzere Lieferzeit zwischen Versionen;
  • Schnellere Bereitstellungszeit (falls eine neue Version Inkonsistenzen aufweist).
  • Reaktionsgeschwindigkeit, falls eine bereitgestellte Version ausfällt

Einfache Prozesse werden durch einen DevOps-Ansatz immer standardisierter und dynamischer. [ 25 ] DevOps zielt darauf ab, die Vorhersagbarkeit, Effizienz, Sicherheit und Wartbarkeit betrieblicher Prozesse zu maximieren. Sehr oft unterstützt die Automatisierung oder Robotisierung von Prozessen dieses Ziel.

Die DevOps-Integration konzentriert sich auf die Produktbereitstellung, Benutzertests (UAT), kontinuierliche Tests, Qualitätstests, Funktionsentwicklung und Wartungsversionen, um die Zuverlässigkeit und Sicherheit zu verbessern und schnellere Entwicklungs- und Bereitstellungszyklen bereitzustellen. Viele der Ideen (und Personen), die an DevOps beteiligt sind, stammen aus den Bewegungen für Enterprise Systems Management und agile Softwareentwicklung. [ 26 ]

Microservices

Diese Art von Ansatz ermöglicht es digitalen Unternehmen, ihren Anwendungen eine hohe Verfügbarkeit und Stabilität zu bieten; Dies liegt daran, dass alle Teile der Anwendungen (Datenbank, Backend, Frontend usw.) unabhängig sind und wenn einer von ihnen ausfällt, bedeutet dies nicht, dass das gesamte Informationssystem Probleme hat. Stattdessen funktionieren die anderen Dienste weiter, während die betroffene Komponente wiederhergestellt wird. [ 27 ] Die Macher von DevOps benötigen Microservices, um ihre Entwicklungen zu optimieren, und verlassen monolithische Architekturen, da die Servicearchitektur modular und segmentiert wird, um Risiken zu minimieren und die Art und Weise zu verbessern, wie Anwendungen und ihre Komponenten bereitgestellt werden.

Siehe auch

Referenzen

  1. ^ Loukides, Mike (7. Juni 2012). "Was ist DevOps?" . O'Reilly Radar (in US-Englisch) . Abgerufen am 2. November 2017 . 
  2. ^ „Der Aufstieg von DevOps“ . www.somic.org (in US-Englisch) . Abgerufen am 2. November 2017 . 
  3. ^ "DevOps-Kultur (Teil 1) - IT-Revolution" . IT-Revolution (in US-Englisch) . 1. Mai 2012 . Abgerufen am 2. November 2017 . 
  4. ^ "DevOps mischt Entwicklung, Betrieb, Agilität, Cloud, Open Source und Business - 451 CAOS-Theorie" . blogs.the451group.com . Archiviert vom Original am 14. September 2015 . Abgerufen am 2. November 2017 . 
  5. Debois, Patrick. „Agile 2008 Toronto: Agile Infrastruktur- und Betriebspräsentation“ . www.jedi.be._ _ Abgerufen am 3. November 2017 . 
  6. ^ "Devopsdays Gent 2009" . www.devopsdays.org . Abgerufen am 3. November 2017 . 
  7. ^ „DevOpsDays“ . www.devopsdays.org (in US-Englisch) . Abgerufen am 3. November 2017 . 
  8. „Überraschung! Breite Einigkeit über die Definition von DevOps - DevOps.com» . DevOps.com (in US-Englisch) . 13. Mai 2015 . Abgerufen am 3. November 2017 . 
  9. Falsche "Buchquellen" mit Selbstreferenz ( Hilfe ) . Wikipedia (auf Englisch) . Abgerufen am 3. November 2017 . |url=  
  10. „DevOps muss auch OpsDev bedeuten – DevOps.com“ . DevOps.com (in US-Englisch) . 27. Oktober 2015 . Abgerufen am 3. November 2017 . 
  11. Weinberger, Matt. „Microsoft-Studie zeigt, dass jeder DevOps will, aber die Kultur eine Herausforderung ist“ . Computerwelt (auf Englisch) . Abgerufen am 3. November 2017 . 
  12. ^ "Warum DevOps für Unternehmensanwendungen nicht funktioniert - DZone DevOps" . dzone.com (auf Englisch) . Abgerufen am 3. November 2017 . 
  13. Gartner Market Trends: DevOps – kein Markt, sondern eine werkzeugzentrierte Philosophie, die eine Continuous-Delivery-Wertschöpfungskette unterstützt (Bericht). Gärtner. 18. Februar 2015.
  14. dev2ops. „Integration von DevOps-Tools in eine Service-Delivery-Plattform (VIDEO) – dev2ops“ . dev2ops (in US-Englisch) . Archiviert vom Original am 8. Februar 2014 . Abgerufen am 3. November 2017 . 
  15. ^ „Erkunden der GESAMTEN DevOps-Toolchain für (Cloud-)Teams“ . InfoQ . Abgerufen am 3. November 2017 . 
  16. „DevOps-Stack mit knappem Budget – DevOps.com“ . DevOps.com (in US-Englisch) . 5. Februar 2016. Archiviert vom Original am 27. Mai 2016 . Abgerufen am 3. November 2017 . 
  17. „Stärkere DevOps-Kultur mit Puppet und Vagrant“ . Marionette (auf Englisch) . Archiviert vom Original am 29. Januar 2016 . Abgerufen am 3. November 2017 . 
  18. Best Practices im Änderungs-, Konfigurations- und Release-Management (Bericht). Gärtner. 14. Juli 2010.
  19. a b Falsche "Buchquellen" mit Selbstreferenz ( Hilfe ) . Wikipedia (auf Englisch) . Abgerufen am 3. November 2017 . |url=  
  20. „Die Beziehung zwischen Dev-Ops und Continuous Delivery: Ein Gespräch mit Jez Humble von ThoughtWorks“ . Forrester (in amerikanischem Englisch) . 9. September 2011 . Abgerufen am 3. November 2017 . 
  21. „Wir brauchen jetzt mehr agile IT!“ . Dr. Dobbs . Abgerufen am 3. November 2017 . 
  22. Castellanos, Camilo; Correal, Dario (15. September 2018). "Ausführen von Architekturmodellen für Big Data Analytics" . Vorlesungsnotizen in Informatik 11048 : 364-371. doi : 10.1007/978-3-030-00761-4_24 . 
  23. „Von DevOps zu DataOps, von Andy Palmer – Tamr Inc.“ . Tamr Inc. (in US-Englisch) . 7. Mai 2015 . Abgerufen am 3. November 2017 . 
  24. DataKitchen (15. März 2017). „Wie man mit Data Analytics zum aufgehenden Stern wird“ . Datenoperationen . Abgerufen am 3. November 2017 . 
  25. ^ „New Relic: Was ist DevOps – erklärt“ . Neues Relikt (auf Englisch) . Abgerufen am 3. November 2017 . 
  26. ^ „Agile Infrastruktur“ . InfoQ . Abgerufen am 3. November 2017 . 
  27. «So erklären Sie Ihrem Chef die Vorteile von DevOps (Ausgabe 2018) | Clickittech» . www.clickittech.com (in US-Englisch) . Abgerufen am 9. August 2018 . 

Externe Links