DevOps bezeichnet eine Sammlung von Praktiken, um die Prozesse zwischen Softwareentwicklung ("Dev") und IT-Operations ("Ops") zu automatisieren, bzw. beides zu kombinieren. Ziel ist es Software schneller und zuverlässiger zu entwickeln, zu testen und in Produktion zu bringen.
Im Folgenden findest du eine Übersicht über die HappyCoders-DevOps-Tutorials.
Historisch waren Dev und Ops separate Teams: Die Entwicklungsabteilung programmierte die Software und lieferte sie an das Operations-Team aus. Dieses war dann für Installation und Betrieb zuständig. Dieser Prozess führte oft zu Problemen, weil z. B. Laufzeitumgebungen nicht identisch waren, Update-Pfade nicht funktionierten oder Fehler erst in Produktion auftraten. Die Abteilungen schoben sich die Schuld gegenseitig zu. Ein langer Feedback-Zyklus zwischen den Teams führte dazu, dass es mitunter Tage bis Wochen dauerte, bis Fehler behoben werden konnten.
Die enge Zusammenarbeit bzw. der Zusammenschluss beider Teams und die dadurch ermöglichten Praktiken führen zu kürzeren Release-Zyklen, höherer Qualität, weniger Fehlern, und der Möglichkeit durch kontinuierliche Auslieferung kritische Probleme schnell – d. h. in Minuten statt in Tagen oder Wochen – zu beheben.
Agile Softwareentwicklung löst Kommunikationsprobleme zwischen Kunden und Entwicklern. DevOps löst Kommunikationsprobleme zwischen Entwicklern und Operations und optimiert die Bereitstellung der entwickelten Software, unabhängig davon ob diese agil oder mit anderen Methoden entwickelt wurde. Agile Softwareentwicklung basiert auf Praktiken, die DevOps bereitstellt, wie Continuous Integration und Deployment.