DevOps
DevOps soll die Kommunikation und Zusammenarbeit von Entwicklungs- und Betriebsteams in Unternehmen erleichtern und optimieren. Der Begriff DevOps wird auf verschiedene Weise verwendet. Im weitesten Sinne ist DevOps eine Philosophie oder ein kultureller Ansatz, der für eine bessere Kommunikation zwischen zwei unterschiedlichen Teams sorgen soll, da mehr und mehr Arbeitsprozesse programmierbar werden. Gerade wenn Systeme in Produktion gehen oder kontinuierlich Anwendungs-Releases geliefert werden müssen, gibt es in der Praxis Schwierigkeiten, weil beide Bereiche unterschiedliche Sichtweisen auf die Systeme haben.
In einer engeren Begriffauslegung ist DevOps eine Stellenbeschreibung für einen Mitarbeiter, der sowohl als Entwickler als auch als Systemingenieur arbeiten kann. In einigen Branchen wird der Begriff auch für einen Moderator verwendet, der zwischen den beiden Gruppen vermittelt und eine Art von Scrum-Master-Funktion einnimmt. Dieser unterstützt Entwickler und operative Teams beim Application Lifecycle Management (ALM) und beim Einhalten der Vorgaben für die zu entwickelnde Software.
Der Abbau der Silos bzw. Barrieren zwischen IT-Entwicklung und -Betrieb wurde durch neuere technologische Entwicklungen wie dem Cloud Computing und dem Software-Defined Networking (SDN) notwendig. Wenn ein Software-Programm entwickelt werden muss, ist traditionell die Anwendungsentwicklung in den Unternehmen für das Sammeln der Geschäftsanforderungen und das Schreiben von Code zuständig. Zur Qualitätssicherung (Quality Assurance, QA) testet das Entwicklungsteam das erstellte Programm in einer isolierten Entwicklungsumgebung und veröffentlicht den Code dann für den operativen Einsatz – wenn die Voraussetzungen erfüllt sind.
Das operative Team rollt das Programm aus und unterstützt es ab diesem Zeitpunkt im laufenden Betrieb. Das Problem bei diesem Paradigma ist die Trennung der beiden Teams. Da diese normalerweise isoliert voneinander arbeiten, kann das Entwicklungsteam oft die operativen Hürden und Regularien nicht erkennen, die ein normales Funktionieren des Programms verhindern können.
Der DevOps-Ansatz versucht, die Anwendungsentwicklung und Implementierung zu verschlanken und besser zu integrieren. Zur Unterstützung des DevOps-Ansatzes gibt es eine Reihe von DevOps Toolkits. Ein DevOps-Toolkit enthält:
- Tools wie Puppet und Chef zum Konfigurations-Management,
- ein Repository wie GitHub zum Speichern von Code-Versionen,
- Indexierungs-Tools wie Splunk,
- Werkzeuge für das Monitoring wie Nagios, die Auswirkungen von Code-Änderungen überprüfen und
- Skriptsprachen wie Perl, PHP und JavaScript.
Folgen Sie SearchDataCenter.de auch auf Facebook, Twitter und Google+!