DevOps
Was ist DevOps?
Der Begriff DevOps bezieht sich auf ein breites Spektrum an Verfahren aus den Bereichen Entwicklung und Einsatz von Softwarecode in der Produktion in Cloud-Rechenzentren. Im Zentrum von DevOps stehen Techniken für das agile Projektmanagement und der Support von Microservices. DevOps wendet das Konzept der auf Versionskontrollstandards basierenden Automatisierung auf den gesamten Software-Entwicklungslebenszyklus an. Git ist die gängigste Lösung zur Versionskontrolle in DevOps, danach folgen Subversion (SVN) und CVS. DevOps umfasst zudem das Management von CI/CD-Anforderungen für den Softwarelebenszyklus, automatisierte Codetests, Orchestrierung von Containern, Cloud-Hosting und Datenanalysefunktionen.
Verwandte Themen
Vorteile von DevOps
- Agiles Team-Projektmanagement: besseres Management bei der Softwareentwicklung für Websites und mobile Anwendungen.
- Optimierung des Softwareentwicklungsprozesses: wird durch die Funktionen für Continuous Integration und Continuous Delivery (CI/CD) erreicht. Mithilfe von CI/CD können Unternehmen neue Softwarefunktionen durch Codeänderungen schnell einführen und Innovationen auf den Markt bringen. Upgrades von Webservercode oder Anwendungsskripts werden durch automatisierte Versionskontrollsysteme und Container vereinfacht.
- Leichtere Zusammenarbeit: Dank Git können Entwickler mit Rollbacks auf Zeilenebene in Teams zusammenarbeiten.
- Effizienz durch Automatisierung: CI/CD unterstützt automatisierte Codetests durch Enterprise-Programmiertools, IDEs und Dienstprogramme von Drittanbietern. Mit DevOps erzielen Unternehmen beim Management des Software-Entwicklungslebenszyklus einen höheren Automatisierungsgrad für Rechenzentrumsprozesse, Webserverbereitstellung, Datenbankmanagement, Wissensaustausch, Bereitstellungsplanung und Business Intelligence.
DevOps-Verfahren
Die auf allen Ebenen des Webserver-Stacks eingebundenen DevOps-Verfahren zeichnen sich dadurch aus, dass sie die Zusammenarbeit von Programmierteams ermöglichen. Das CALMS-Framework ist im agilen Projektmanagement bei DevOps-Teams weit verbreitet. Es steht für Culture (Kultur), Automation (Automatisierung), Lean (schlank), Measurement (Messung) und Sharing (Austausch).
- Culture (Kultur) bedeutet, die Lifestyle-Ziele von Programmierern, Entwicklern und Systemadministratoren in allen Programmierteams zu berücksichtigen.
- Automation (Automatisierung) erfolgt im gesamten Software-Entwicklungslebenszyklus, insbesondere beim Testen und Bereitstellen von Code oder bei Managementprozessen in Rechenzentren.
- Lean (schlank) verweist auf Kostenkontrolle bei Mitarbeitereinsatz und Gerätebereitstellung.
- Measurement (Messung) bezieht sich auf Datenanalysen, Echtzeitüberwachung und Geschäftskennzahlen für das Feedback zu betrieblichen Benchmarks.
- Sharing (Austausch) betont die Vorteile von Open Source-Lösungen und -Code für Unternehmen oder Projekte jeder Größe.
Geschichte von DevOps
DevOps ist in der Cloud-Ära aus der Kombination von Webentwicklung und Systemadministration entstanden. SaaS-Anwendungen (Software as a Service) erforderten komplexere Methoden für das Codemanagement in der Produktion und bei der Bereitstellung von Cloud-Webservern. Die Entwicklung von Container-Orchestrierung und elastischen Webserver-Frameworks spielte für DevOps eine wichtige Rolle. Der Philosophie des agilen Projektmanagements kommt in DevOps eine entscheidende Bedeutung zu. Cloud-Lastausgleich, Webserver-Innovation und Automatisierung des Softwarelebenszyklus sind wichtige Grundsätze von DevOps. Best Practices für DevOps leiten sich von einer Kombination aus wissenschaftlicher Forschung in der Informatik, Innovationen der Cloud-Rechenzentrumstechnologie und Branchenanwendungen ab, die in den weltweit größten Unternehmen durch Softwareentwicklung umgesetzt werden.
So funktioniert DevOps
DevOps wird weitgehend von verteilten Entwicklerteams angewendet, die über ihre Desktop-Computer oder Laptops an Sandbox-Code in einer Testumgebung arbeiten. Entwickler übergeben mit Versionskontrollsoftware Codeänderungen an eine Sandbox-Umgebung. In diesen Übergabeprozess sind automatisierte Codetests implementiert. Nach dem Testen der Codeänderungen werden sie mithilfe der Versionskontrolle von der Sandbox live auf die Webserver übertragen. In Containersystemen werden Webserver mit Festplatten-Images bereitgestellt. Die Desktop-Entwicklungsumgebung von Docker ist in die Versionskontrolle integriert. Code lässt sich so über Kopien von Festplatten-Images auf einem Webserver veröffentlichen, wobei ein kompletter Webserver in Container geladen wird. Festplatten-Images können auf GitHub, GitLab, DockerHub, Quay oder anderen Services für automatisierte Frameworks zur Container-Orchestrierung wie Kubernetes archiviert werden.
Versionskontrolle, CI/CD, Wissensaustausch, Webserverkonfiguration, Rechenzentrumsautomatisierung, Codetests, Artefaktmanagement, Netzwerküberwachung und Analysefunktionen sind Schlüsselelemente von DevOps-Verfahren, die von professionellen Programmier- und Softwareentwicklungsteams in Unternehmen und anderen komplexen Organisationen eingesetzt werden.
DevOps im Vergleich zu anderen Ansätzen
Alternativen zu DevOps sind u.a. agiles Projektmanagement, ArchOps, Continuous Integration/Continuous Delivery (CI/CD), DataOps, WebOps und GitOps. Wie bei Business-Managementphilosophien legen diese Ansätze unterschiedliche Schwerpunkte auf Projektmanagement und Teamorganisation. Einige basieren auf Talentlösungen, andere auf Hardware- und Softwareplattformen. Das verbindende Thema dieser Ansätze ist die Produktion und der Einsatz von Softwarecode in Cloud-Rechenzentren, vor allem für Websites und skalierbare mobile Anwendungen in Unternehmen.
Wer setzt DevOps ein?
Die meisten Fortune 500-Unternehmen haben die in der Branche als Best Practice geltenden DevOps-Methoden bereits eingeführt. Die größten IT-Unternehmen sind bei der Weiterentwicklung von DevOps zur Optimierung der Public Cloud-Architektur führend. DevOps basiert auf einer Kombination aus wissenschaftlicher Forschung in der Informatik und Enterprise-Softwareentwicklung in professionellen Programmierteams. Mit DevOps werden Kosteneinsparungen und Effizienzsteigerungen sowohl in der Softwareentwicklung als auch im Produktionsbetrieb realisiert. Auch viele Start-ups leisten in der Praxis Pionierarbeit bei DevOps-Methoden, um sich Wettbewerbsvorteile zu verschaffen oder sich in bestehenden Märkten zu etablieren. Hauptsächlich professionelle Programmierer und Systemadministratoren fördern die Einführung von DevOps, da sie Komplettlösungen für Public Cloud-Hosts entwickeln müssen.
Bereitstellung und Einführung von DevOps
Die DevOps-Bereitstellung nimmt in Unternehmen zu. Zentrale oder monolithische Projektmanagementmethoden wie das Spiralmodell und das Wasserfallmodell werden dagegen immer weniger verwendet. Da komplexe Geschäftsorganisationen Microservices unterstützen müssen, fördert deren Verbreitung den Einsatz von DevOps. Softwareentwicklung schneller und mit höherer Sicherheit voranzutreiben ist das Hauptanliegen sowohl von Start-ups als auch von Unternehmen. Mit DevOps-Methoden können Unternehmen Codeänderungen schnell in die Produktion übernehmen oder Sicherheitslücken ohne Unterbrechung vorhandener Online-Services patchen. Unternehmen versuchen, ihren Gewinn aus der Cloud-Rechenzentrumsmigration mit DevOps-Techniken bei der Bereitstellung skalierbarer Web- und mobiler Anwendungen zu maximieren, und zwar zur Unterstützung von Marken, Produkten und anderen Services auf E-Commerce-Websites oder durch Web-Publishing-Anforderungen in der Medienbranche. Fertigungs- und Telekommunikationsunternehmen setzen DevOps ein, um eine bessere Zusammenarbeit zwischen den Mitgliedern großer Programmierteams für Produkt- und Service-Support zu erreichen.
Zugehörige Produkte, Lösungen und Ressourcen für DevOps von VMware
Was ist Hyperconverged Infrastructure?
Hyperconverged Infrastructure (HCI) ist eine Software-Defined Infrastructure mit horizontaler Skalierung, die Core-Datenservices auf branchenüblichen Servern mit Flash-Beschleunigung vereint. Weitere Informationen
Was ist Software-Defined Storage?
VMware Software-Defined Storage ist eine einfache, aber überaus intelligente Rechenzentrumsarchitektur für Storage, die sich an Business- und Anwendungsanforderungen orientiert. Informieren Sie sich noch heute.
Software-Defined Datacenter: die Grundlage für die digitale Transformation
Mit VMware können Sie die Herausforderungen von Private und Hybrid Clouds meistern, indem Sie ein einfacheres und flexibleres Software-Defined Datacenter (SDDC) erstellen. Kostenlos testen.
Tools und Optionen für die ThinApp-Bereitstellung
Sie können erfasste Anwendungen mit Bereitstellungstools, auf einer Netzwerkdateifreigabe, als einfache ausführbare Dateien auf Anwender-Desktops oder in einer VMware View-Umgebung bereitstellen.
Definieren von Überwachungszielen für vRealize Operations Manager-Lösungen
Sie können eine Richtlinie für eine Management Pack-Lösung erstellen, die Sie vRealize Operations Manager hinzufügen.