Direkt zum Inhalt

Was bedeutet der Begriff DevOps?

DevOps ist eine Wortkombination aus Development (Entwicklung) und IT Operations (IT Betrieb) und beschreibt einen Ansatz der Prozessoptimierung durch die technische, aber auch mentale Verbindung der Bereiche Softwareentwicklung und Systemadministration. Somit ist DevOps weder Tool, Software noch Technologie, sondern eher Teil einer Unternehmenskultur

Wieso sollte man eine DevOps-Kultur einführen?

Die agile Softwareentwicklung ist die aktuelle Methode, von der Anforderung zur verwendbaren Software zu gelangen. Die agilen Methoden entwickeln sich weiter und was mit Scrum begonnen hat, wird durch DevOps und dadurch dem Feedback der Anwender einen Schritt weitergegangen. Mit einer DevOps-Infrastruktur kann schneller auf Änderungen reagiert werden (Stichworte Continuous Integration und Continuous Delivery), dank Automatisierung und vollständiger Versionierung aller Ergebnisse und Schritte.

Wer in seinen Teams DevOps nutzen will, hat als Ziele die Beschleunigung von Entwicklung, Testing und Deployment und die Minderung der Risiken durch kritische Fehler bei der agilen Softwareentwicklung, um qualitativ hochwertige Software mit einer geringen time to market liefern zu können.

Wie läuft der Entwicklungsprozess nach DevOps ab?

Der Entwicklungsprozess ist nicht linear, sondern kreisförmig: Nach einer Iteration gibt es Feedback zur aktuellen Version. Dieses Feedback wird von den Entwicklern aufgenommen und umgesetzt und anschließend getestet. Nach erfolgreichem Test wird die neue Version deployed und gemonitored. Die daraus resultierenden Ergebnisse wandern in Form von Feedback erneut an die Entwickler und so fort.

Wie kann man DevOps erfolgreich einführen?

DevOps benötigt vor allem einen Change of mindset der verschiedenen Mitglieder eines Teams und des Unternehmens wie auch Kenntniserlangung über die Bedarfe von Development und Operations: Wo gibt es Überschneidungen? Wo können Verantwortungen geteilt werden? 

Im nächsten Schritt muss die Infrastruktur geschaffen werden: Automatisierungsprozesse zwischen Developern und Systemadministratoren, die die Zusammenarbeit und Prozesse beider Bereiche erleichtern sowie die kontinuierliche Messung der Performance von Applikation und Servern, um stets auf Änderungen reagieren zu können. Mit Hilfe von DevOps-Tools müssen Automatisierungs- und Versionierungsprozesse etabliert werden , z. B. GitHub, Testing-Systeme, etc. Dadurch ist z. B. auch gewährleistet, dass Entwicklungs- und Liveumgebung dieselbe Konfiguration aufweisen.

Knowledge-Management ist schließlich ein wichtiger Faktor bei Personal-Fluktuation im Unternehmen. Mit Hilfe von Dokumentationen können auch neue Team-Mitglieder direkt im Projekt eingesetzt werden.

DevOps bietet so die Chance, die Effizienz von Softwareentwicklern und die Skalierbarkeit für Systemadministratoren zum Nutzen für das Unternehmen und den Kunden zu steigern.

Welche DevOps Tools gibt es?

Zum einen gibt es Tolls zur Versionsverwaltung von Code, z. B. Git, CVS oder SVN. Die Arbeit im Team erfordert aber auch Kommunikations- und Aufgabenverwaltung. Beispiele für Tools sind Planio, Jira oder Asana.

Inzwischen gibt es Cloudservices von Providern wie AWS oder Azure, die Komplettlösungen darstellen

In der Unternehmenskultur von arocom hat DevOps einen wichtigen Stellenwert:

  • Bereitstellung virtueller Maschinen und weiterer DevOps-Tools für die Entwickler
  • Automatisierung von Prozessen wie der Deployment Pipeline, Code-Qualitäts- und Security-Checks
  • Bereitstellung und Weiterentwicklung von Automatisierungs-Scripten in der Softwareentwicklung mit Drupal
  • Entwicklung für Continuous Integration und Continuous Delivery statt Releases
  • Agile Projektmethoden
  • Wiederverwendung bestehenden Wissens bei neuen Projekten oder Projektabschnitten sowie interne gegenseitige Schulung
  • Um unser Team im Bereich DevOps zu verstärken, bieten wir eine interessante Stelle als DevOps Engineer bei arocom.

Buchtipps