Der Begriff DevOps ist eine Kombination aus den zwei Begriffen „Development“ (Dev) für Entwicklung und „Operations“ (Ops) für operativen Betrieb. Die Abkürzung wurde erdacht als Begriff für die Kombination von Software-Engineering, Firmenkultur und Praktiken zur Vereinheitlichung von Softwareentwicklung und Softwareanwendung. Das vorrangige Ziel von DevOps besteht in der möglichst vollständigen Integration von Automatisierung und Überwachung in alle Phasen des Software Development Life Cycle (SDLC), von Integration und Tests über Release und Deployment bis zum Infrastrukturmanagement. DevOps zielt darauf ab, Entwicklungszyklen zu verkürzen, die Bereitstellungsfrequenz zu erhöhen und durch verlässliche Releases die Qualität zu erhöhen, und das alles in enger Abstimmung mit den Unternehmenszielen.

Der Bedarf für DevOps wurde durch den zunehmenden Erfolg agiler Softwareentwicklung geweckt, der dazu führte, dass Unternehmen Apps immer schneller und in höherer Schlagzahl herausbringen mussten. Als Unternehmen versuchten, die Restriktionen in ihren Release-Management-Prozessen zu überwinden, wurde deutlich, dass die Einführung von Prozessen notwendig war, welche die Automatisierung der Anwendungsfreigabe sowie Werkzeuge für die kontinuierliche Integration (CI / Continuous Integration) und die kontinuierliche Bereitstellung (CD / Continuous Delivery) unterstützen.

Als Reaktion auf diesen steigenden Bedarf haben führende Kräfte im Bereich der Softwareentwicklung das DevOps-Framework geschaffen, um einen funktionsübergreifenden Ansatz zu haben, der alle wichtigen Stakeholder aus IT-Organisationen und dem Business mit einbezieht. DevOps-Tools sollen die wichtigsten Aspekte des Entwicklungs- und Bereitstellungsprozesses widerspiegeln und in eine oder mehrere der folgenden Kategorien passen:

  • Code – Code-Entwicklung und -Review, Quellcode-Management-Tools, Code-Merging
  • Build – Entwickeln kontinuierlicher Integrationstools, Status
  • Test – Kontinuierliche Testwerkzeuge, die Feedback zu Business-Risiken geben
  • Package – Pakete schnüren, Anwendungsvorbereitung für die Bereitstellung von Apps
  • Release – Änderungsmanagement, Freigabegenehmigungen, Freigabeautomatisierung
  • Configure – Infrastruktur-Konfiguration und -Management, Infrastruktur als Code-Tool
  • Monitoring – Überwachung der Anwendungsleistung, Endbenutzerfreundlichkeit

Da Unternehmen in einer Welt agiler Entwicklung immer weiter wachsen, wird ein erhöhter Bedarf an DevOps anfallen, wenn sie ihr Tempo beibehalten möchten.

Tags