SlideShare ist ein Scribd-Unternehmen logo
DevOps
Team: SepC-15 (Shana Caroti, Janosch Hemmi, Noah Wegmüller, Florian Thiévent)
SepC-15 DevOps
Inhaltsverzeichnis
1. Was sind typische Anwendungsgebiete von DevOps, wo kommen die
Eigenschaften richtig zum Tragen?..................................................................................... 3
2. Gibt es verwandte Modelle und/oder wie ist es entstanden? .................................. 4
3. Eigenschaften und Merkmale von DevOps................................................................ 5
4. Requirementsanalyse.................................................................................................... 6
5. DevOps Rollen................................................................................................................ 7
6. Planung Teil 1................................................................................................................. 8
7. Planung Teil 2................................................................................................................. 8
Quellen .................................................................................................................................... 9
Webquellen ............................................................................................................................. 9
SepC-15 DevOps
1. Was sind typische Anwendungsgebiete von DevOps, wo kommen
die Eigenschaften richtig zum Tragen?
Als Konzept betont DevOps die Kommunikation und Zusammenarbeit von den
Abteilungen Development und Operations. So besteht das Ziel darin, dass die
Anwendungsentwicklung und der IT-Betrieb enger zusammenarbeiten, um allfällige
Fehler möglichst zu vermeiden. Diese Methodik wird häufig im Bereich
Anwendersoftware, Webanwendungen und Applikationen verwendet und das aus dem
Grund, weil die Verwendung von DevOps die Geschwindigkeit bei der Software-
Entwicklung enorm erhöhen kann. So ist der Prozessverbesserungsansatz darauf
ausgelegt, eine IT-Dienstleistung oder eine Anwendung nicht erst während des
Betriebes, sondern auch schon während der Entwicklung umfassend zu kontrollieren,
um so die gesamte Qualität zu verbessern. Hierzu könne auch geeignete Tools
beigezogen werden, welche abteilungsübergreifend verwendbar sind. DevOps-
Strategien sind ausserdem auch eine Voraussetzung für den Softwarelieferprozess
Continuous Delivery (CD).
DevOps und die agile Entwicklung können ein Unternehmen bei der
Softwareentwicklung unterstützen, indem sie
• die Entwicklung flexibler mit den sich ändernden Anforderungen der Kunden
umgehen lässt,
• es den Entwicklern ermöglicht, in kürzeren Abständen funktionsfähige
Software-Versionen bereitzustellen,
• den eigentlichen Betrieb enger mit den Entwicklern verzahnt und gemeinsame
Ansätze zur Bereitstellung von Software ermöglicht und
• alte Rivalitäten und Verständnisschwierigkeiten zwischen Abteilungen und
Kollegen reduziert.
SepC-15 DevOps
2. Gibt es verwandte Modelle und/oder wie ist es entstanden?
Obwohl die agile Entwicklung und DevOps beide für Softwareentwicklungen
vorgesehen sind, gibt es in verschiedenen Hinsichten unterschiedliche Ansätze in
Bezug auf Gruppen, Abteilungen und Struktur. Es ist aber wichtig zu erwähnen, dass
sich diese beiden nicht gegenseitig ausschliessen. Die agile Entwicklung kann als
Entwicklungsmethodik bezeichnet werden, während DevOps als eine Art Kultur
angesehen werden kann, welche die Zusammenarbeit fördert im Bereich Entwicklung
und Wartung. Obwohl es Unterschiede gibt zwischen agile Entwicklung und DevOps,
können sie zusammen eingesetzt werden und das kann zu qualitativ besseren
Ergebnissen führen.
Zur Entstehung von DevOps kann gesagt werden, dass an einer Konferenz im Jahre
2009 in Gent (Belgien) ein gewisser Patrick Debois den Namen der Konferenz zu
DevOpsDays benannte. In den darauffolgenden Jahren wurde dann der Begriff
DevOps immer wieder mit den agilen Methoden in Verbindung gebracht, weil sich
diese Konferenzen mit diesen Themen befassten. Die Konferenz und auch die
Vorträge konzentrierten sich thematisch auf die Zusammenarbeit von IT-Spezialisten,
Programmieren und dem operativen Produktionsmanagement, sowie den
Anforderungen agiler Methoden und eine Veränderung dieser Zusammenarbeit. Das
klassische Wasserfall-Model war in der Softwareentwicklung nicht geeignet, um agilen
Prozessen Rechnung zu tragen. Die Zusammenarbeit zwischen IT, Entwicklung und
Produktmanagement konnte nicht funktionieren, weil z.B. die Entwicklung auf agile
Methoden ausgerichtet war, aber die anderen beiden Abteilungen immer noch den
Fokus auf das Wasserfall-Modell legten. Aus diesem Grund sollte DevOps diese
Probleme hinsichtlich der Zusammenarbeit und der Kommunikation lösen, indem ein
Konzept im gesamten Lebenszyklus einer Anwendung integriert wird und den Einsatz
von verschiedenen Tools einführt.
SepC-15 DevOps
3. Eigenschaften und Merkmale von DevOps
Eines der wichtigsten Merkmale in DevOps ist die Zusammenarbeit bzw.
Zusammenschluss der Entwicklung und der IT-Operation. Im Vergleich zum Scrum
wird nicht nur die Lücke zwischen Kunde und Entwicklungsteam geschlossen, sondern
auch die Lücke zwischen Entwicklung und Operations & Infrastruktur. Man hat somit
eine Zusammenarbeit zwischen Kunde, Entwickler und der IT-Operation. Dies fördert
nicht nur die Kommunikation und Zusammenarbeit, sondern auch die Integration und
Automatisierung zwischen den beiden Teams. Die "Agilität wird zu Ende gedacht".
Ein weiteres Merkmal in DevOps sind ihre 8 Phasen. Diese Phasen befinden sich in
einem Infinity-Loop. Diese verspricht eine kontinuierliche Integration und Bereitstellung
der Entwicklung sowie eine kontinuierliche Lieferung an Kunden. DevOps umfasst alle
Phasen von der Planung bis zur Bereitstellung des Releases.
Die linke Seite des Loops sind die Phasen von den Entwickler und die auf der Rechten,
die der IT-Operations.
Abbildung 1: 8 Phasen von DevOps: Quelle: [1])
DevOps wird oft nicht nur als eine Methodik betrachtet, sondern als ein Mindset, eine
Kultur und mancherorts sogar als Religion. Dies kann auch als ein Merkmal betrachtet
werden, denn so kann die Motivation der einzelnen Mitglieder gefördert werden und
die Zusammenarbeit stärken.
Ebenfalls ein wichtiges Merkmal ist die Automatisierung, diese kommt in den Phasen
Testing, Integration und Bereitstellen vorallem in den Einsatz.
SepC-15 DevOps
4. Requirementsanalyse
Die Requirementsanalyse / Produktvision findet jeweils in der Planungsphase statt.
DevOps gibt keine Richtlinien vor, wie bei der Planung vorgegangen werden soll.
Jedoch werden diverse Tools zur Wartung der Requirements vorgeschlagen. Nach
jedem Intervall wird Feedback beim Kunden eingeholt. Anhand des Feedbacks werden
die Anforderungen neu analysiert und priorisiert, wie bei Scrum. Da keine Vorschriften
Seitens DevOps gemacht werden, kann sich das Modell Scrum hier nützlich machen.
DevOps ist in diesem Sinne ja kein Prozess, sondern eine Methodik, die sich mit
anderen agilen Prozessen kombinieren lässt.
Ein Ansatz welcher DevOps mehrfach erwähnt. Zuständige Personen für die Übersicht
und Pflege der jeweiligen Anforderungen sehen wir einerseits der DevOps Evangelist,
welcher die geschäftlichen Vorteile identifiziert sowie quanifiziert, um so die Vorteile
von DevOps zu fördern. Andererseits sehen wir den Relase Manager als zuständige
Person. Denn diese Person ist für die jeweiligen Releases zuständig. Der Release
Manager prüft, dass die Anforderungen der Kunden in das Produkt umgesetzt werden
und holt beim Kunden das Feedback.
Zu den Artefakten wird ausser die Wartungstools, wie Jira, etc. nicht wirklich berichtet.
Es ist sicher von Vorteil am Anfang des Projekts einen Requirementsanalyse
durchzuführen und alle Anforderungen mit dem Kunden durchzugehen und diese zu
priorisieren. So kann ein Konzept erstellt werden, welches auf Änderungen reagieren
kann. Jedoch wird in der Praxis oft ein Vertrag ausgehandelt, denn es wird ein Budget
gesprochen, welches am Ende eingehalten werden muss. Wichtig ist, dass das
DevOps Team im Klaren ist, was der Auftrag ist, um so den Fokus nicht in Einzelheiten
zu verlieren.
SepC-15 DevOps
5. DevOps Rollen
DevOps Evangelist: Die Rolle des DevOps Evangelisten ist es, die Kultur von DevOps
innerhalb des Unternehmens zu fördern und eine quasi führende Rolle einnehmen.
Dazu gehört das identifizieren und quantifizieren der Vorteile von DevOps für das
Unternehmen, die Developement und Administrativen (aus IT sicht) Teams
überzeugen, die Schlüsselrollen für DevOps identifizieren, die Mitarbeiter trainieren
und die Furcht vor Versagen zu nehmen. In SCRUM währi diese Rolle ähnlich zum
SCRUM Master.
Release Manager: Das Management und die Koordination des Produktes während der
Entwicklung bis zum Betrieb adressieren, technische Details und Hürden erkennen
und beseitigen. Koordination, integration und Entwicklungs-, Testing-, und
Deploymentfluss beaufsichtigen, um besser cd (continuous delivery) zu unterstützen.
Der Fokus liegt nicht nur an der Kreation einer End-To-End Applikations Delivery Tool
Chain, sondern auch deren Instandhaltung. Bei SCRUM wäre diese Rolle eigentich
eine Mischung aller vorhandener Rollen.
Die folgenden Rollen würden bei SCRUM einfach zur Rolle des Dev Teams gehören.
Automation Architect: Analysieren, designen und implementieren von Strategien für
continuous deployment und garantieren von hoher Verfügbarkeit auf Betriebs- und
Vorbetriebssystemen.
Software Developer/Tester: Zuständig dafür, Anforderungen zu Code machen und
auch noch das ganze zu Testen, deployen und überwachen.
Experience Assurance Expert: beauftragt, dafür zu sorgen, dass alle neuen Features
und Funktionen mit Blick auf die Endbenutzererfahrung veröffentlicht werden.
Security Engineers: Sie arbeiten Seite an Seite mit den Entwicklern zusammen um
von Anfang an Sicherheit einzubauen statt am Schluss nochmals alles verändern, da
es unsichere Teile gibt.
Utility Technology Players: IT-administratives Personal, dass sich während des
gesammten Entwicklungsprozesses engagiert und sich zum Beispiel auch beim Sprint
Planing beteiligt, um sicherzustellen, dass die Servicequalität, das
Ressourcenmanagement und zum Teil auch die Sicherheit verbessert und auch
priorisiert wird. Zu den Utility Technologie Playern gehören auch Experten zu
Entwicklungsplatformen, verschiedene Tools, Netzwerke, Server, DBs und sogar
Entwicklung und Support dazu.
Schlussendlich ist der grösste Unterschied den man zu SCRUM sieht, dass viele Teile,
weche zum Dev Team gehören hier zu eigenen Rollen wurden, welche mehr als
Ansprechsperson und Intervention dienen sollte, falls diese etwas erkennen, was nicht
optimal ist.
SepC-15 DevOps
6. Planung Teil 1
Obwohl DevOps keine Richtlinien zur Planung vorgibt, kann festgehalten werden, dass
in der Planungsphasen von DevOps die Teams die Funktionen und Features der
Anwendungen und Systeme, an denen sie arbeiten konzipieren, definieren und
beschreiben. Eine gut funktionierende DevOps-Kultur zeichnet sich insbesondere
dadurch aus, dass die Zusammenarbeit innerhalb der Teams gut funktioniert.
Unterschiedliche Team müssen ihre DevOps-Prozesse, -Zuständigkeiten und -
Prioritäten einander offenlegen. Die Teams müssen die Arbeit gemeinsam planen und
ihre Ziele aufeinander abstimmen. DevOps-Teams planen flexibel und gewährleisten
deren Sichtbarkeit, indem sie zum Beispiel ein Backlog erstellen, Fehler
nachverfolgen, die agile Softwareentwicklung mit Scrum verwalten und den Fortschritt
in Form von Dashboards visualisieren.
7. Planung Teil 2
In diesem Abschnitt sollten wir eigentlich erklären, wie die Arbeit verteilt wird, wie der
Aufwand geschätzt wird und wer sagt, was wann gemacht wird. Diese Fragen sind
aber im Zusammenhung mit DevOps eigentlich nicht wirklich zu beantworten, denn
DevOps ist nicht wie SCRUM ein Entwicklungsprozess, sondern mehr eine Kultur und
eher übergeordnet. Der eigentliche Sinn von DevOps ist, dass die Entwicklung und die
Systemadministration enger miteinander arbeiten und zur Planung lassen sie vieles
offen. Auf der Website von Microsoft zum Thema DevOps steht zum Beispiel unter
Plan folgendes: «DevOps-Teams planen flexibel und gewährleisten die Sichtbarkeit,
indem sie beispielsweise Backlogs erstellen, Fehler nachverfolgen, die agile
Softwareentwicklung mit Scrum verwalten, Kanban-Boards verwenden und den
Fortschritt in Form von Dashboards visualisieren.». Das bedeutet, dass DevOps die
verschiedensten agilen Ansätze unterstützen soll und nicht vorgeben, wie etwas
gemacht wird. So kann zum Beispiel eine Firma, die bisher mit SCRUM gearbeitet hat,
dieses Wissen und Prozesse immer noch behalten und trotzdem die Vorteile von
DevOps nutzen.
SepC-15 DevOps
Quellen
[1]: «Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For Beginners |
Simplilearn», Youtube, 2018. [Online]. Available:
https://www.youtube.com/watch?v=Me3ea4nUt0U&t=232s (Abrufdatum 21.10.2020)
[2]: digital.ai, «What is DevOps? The Ultimate Guide to DevOps» 21.05.2020. [Online] Available:
https://digital.ai/resources/devops-101/what-is-devops (Abrufdatum 21.10.2020)
[3]: arocom, «DevOps». [Online] Available: https://www.arocom.de/fachbegriffe/devops (Abrufdatum
21.10.2020)
[4]: Margaret Rouse, «What is DevOps? The ultimate guide», TechTarget vom 21.08.2017. [Online]
Available: https://searchitoperations.techtarget.com/definition/DevOps (Abrufdatum 21.10.2020)
[5]: Brian Gracely, «The 7 habits of highly effective DevOps», The Enterprisers Project. [Online]:
Available: https://enterprisersproject.com/article/2017/8/7-habits-highly-effective-devops
(Abrufdatum 21.10.2020)
[6]: Milecia McG, «Why DevOps Is Useful», DEV vom 06.06.2019. [Online] Available:
https://dev.to/flippedcoding/why-devops-is-useful-4d5k (Abrufdatum 21.10.2020)
[7]: Microsoft, «Was ist DevOps». [Online] Available: https://azure.microsoft.com/de-de/overview/what-
is-devops/ (Abrufdatum 21.10.2020)
[8]: cprime, «What is DevOps?». [Online] Available: https://www.cprime.com/technology/devops/
(Abrufdatum 21.10.2020)
[9]: Stephanie Overby, «7 DevOps roles you need to succeed», TechBeacon. [Online] Available:
https://techbeacon.com/devops/7-devops-roles-you-need-succeed (Abrufdatum 21.10.2020)
Webquellen
https://digital.ai/resources/devops-101/what-is-devops
https://devops.com/the-origins-of-devops-whats-in-a-name/
https://techbeacon.com/devops/7-devops-roles-you-need-succeed
https://azure.microsoft.com/de-de/overview/what-is-devops/#overview
https://azure.microsoft.com/de-de/overview/what-is-devops/ https://www.redhat.com/de/topics/devops
https://techbeacon.com/devops/7-devops-roles-you-need-succeed

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (7)

Softwarequalität Entwicklung - Test - Wartung
Softwarequalität Entwicklung -  Test - WartungSoftwarequalität Entwicklung -  Test - Wartung
Softwarequalität Entwicklung - Test - Wartung
 
2013 04 Wege aus der Zeitfalle - Terminorientiertes Übersetzungsmanagment
2013 04 Wege aus der Zeitfalle - Terminorientiertes Übersetzungsmanagment2013 04 Wege aus der Zeitfalle - Terminorientiertes Übersetzungsmanagment
2013 04 Wege aus der Zeitfalle - Terminorientiertes Übersetzungsmanagment
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
Agilität mit Scrum - Überblick
Agilität mit Scrum - ÜberblickAgilität mit Scrum - Überblick
Agilität mit Scrum - Überblick
 
Scrum Workshop
Scrum WorkshopScrum Workshop
Scrum Workshop
 
Das Mindset von DevOps
Das Mindset von DevOpsDas Mindset von DevOps
Das Mindset von DevOps
 
DevOps jenseits der Tools
DevOps jenseits der ToolsDevOps jenseits der Tools
DevOps jenseits der Tools
 

Ähnlich wie DevOps Sepc15

Evolution der Softwareentwicklung: Von Wasserfall über Agile zu DevOps
Evolution der Softwareentwicklung: Von Wasserfall über Agile zu DevOpsEvolution der Softwareentwicklung: Von Wasserfall über Agile zu DevOps
Evolution der Softwareentwicklung: Von Wasserfall über Agile zu DevOpsDieter Ziegler
 
Agile Ways of Working @ Migros
Agile Ways of Working @ MigrosAgile Ways of Working @ Migros
Agile Ways of Working @ MigrosJoël Krapf
 
Robert Risch vergleicht DevOps Ingenieur mit Software-Ingenieur
Robert Risch vergleicht DevOps Ingenieur mit Software-IngenieurRobert Risch vergleicht DevOps Ingenieur mit Software-Ingenieur
Robert Risch vergleicht DevOps Ingenieur mit Software-IngenieurRobert Risch
 
Robert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOpsRobert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOpsRobert Risch
 
Lean Development / Standardisierte Software-Entwicklung
Lean Development / Standardisierte Software-EntwicklungLean Development / Standardisierte Software-Entwicklung
Lean Development / Standardisierte Software-EntwicklungSuperB2
 
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...Nico Meisenzahl
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukastencusy GmbH
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxisinovex GmbH
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernbergcusy GmbH
 
Software trends veranstaltungsprogramm_neu
Software trends veranstaltungsprogramm_neuSoftware trends veranstaltungsprogramm_neu
Software trends veranstaltungsprogramm_neuCON.ECT Eventmanagement
 
Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?HOOD Group
 
Large Scale Scrum (LeSS) als Organisations-Design-Framework
Large Scale Scrum (LeSS) als Organisations-Design-FrameworkLarge Scale Scrum (LeSS) als Organisations-Design-Framework
Large Scale Scrum (LeSS) als Organisations-Design-FrameworkJosef Scherer
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenGjero Krsteski
 
Why Ops ignored: Dev ops in practice scrum deutschland 2017
Why Ops ignored: Dev ops in practice   scrum deutschland 2017Why Ops ignored: Dev ops in practice   scrum deutschland 2017
Why Ops ignored: Dev ops in practice scrum deutschland 2017Matthias Fauter
 

Ähnlich wie DevOps Sepc15 (20)

Evolution der Softwareentwicklung: Von Wasserfall über Agile zu DevOps
Evolution der Softwareentwicklung: Von Wasserfall über Agile zu DevOpsEvolution der Softwareentwicklung: Von Wasserfall über Agile zu DevOps
Evolution der Softwareentwicklung: Von Wasserfall über Agile zu DevOps
 
DevOps und ITIL: Waffenbrüder oder Feinde?
DevOps und ITIL: Waffenbrüder oder Feinde?DevOps und ITIL: Waffenbrüder oder Feinde?
DevOps und ITIL: Waffenbrüder oder Feinde?
 
Agents of D.E.V.O.P.S
Agents of D.E.V.O.P.SAgents of D.E.V.O.P.S
Agents of D.E.V.O.P.S
 
Agile Ways of Working @ Migros
Agile Ways of Working @ MigrosAgile Ways of Working @ Migros
Agile Ways of Working @ Migros
 
Robert Risch vergleicht DevOps Ingenieur mit Software-Ingenieur
Robert Risch vergleicht DevOps Ingenieur mit Software-IngenieurRobert Risch vergleicht DevOps Ingenieur mit Software-Ingenieur
Robert Risch vergleicht DevOps Ingenieur mit Software-Ingenieur
 
Robert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOpsRobert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOps
 
Lean Development / Standardisierte Software-Entwicklung
Lean Development / Standardisierte Software-EntwicklungLean Development / Standardisierte Software-Entwicklung
Lean Development / Standardisierte Software-Entwicklung
 
Xidra 2016 DevOps
Xidra 2016 DevOpsXidra 2016 DevOps
Xidra 2016 DevOps
 
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukasten
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxis
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernberg
 
Software trends veranstaltungsprogramm_neu
Software trends veranstaltungsprogramm_neuSoftware trends veranstaltungsprogramm_neu
Software trends veranstaltungsprogramm_neu
 
Architekturbewertung
ArchitekturbewertungArchitekturbewertung
Architekturbewertung
 
Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?
 
Large Scale Scrum (LeSS) als Organisations-Design-Framework
Large Scale Scrum (LeSS) als Organisations-Design-FrameworkLarge Scale Scrum (LeSS) als Organisations-Design-Framework
Large Scale Scrum (LeSS) als Organisations-Design-Framework
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-Anwendungen
 
Why Ops ignored: Dev ops in practice scrum deutschland 2017
Why Ops ignored: Dev ops in practice   scrum deutschland 2017Why Ops ignored: Dev ops in practice   scrum deutschland 2017
Why Ops ignored: Dev ops in practice scrum deutschland 2017
 
developer-experience.pdf
developer-experience.pdfdeveloper-experience.pdf
developer-experience.pdf
 

DevOps Sepc15

  • 1. DevOps Team: SepC-15 (Shana Caroti, Janosch Hemmi, Noah Wegmüller, Florian Thiévent)
  • 2. SepC-15 DevOps Inhaltsverzeichnis 1. Was sind typische Anwendungsgebiete von DevOps, wo kommen die Eigenschaften richtig zum Tragen?..................................................................................... 3 2. Gibt es verwandte Modelle und/oder wie ist es entstanden? .................................. 4 3. Eigenschaften und Merkmale von DevOps................................................................ 5 4. Requirementsanalyse.................................................................................................... 6 5. DevOps Rollen................................................................................................................ 7 6. Planung Teil 1................................................................................................................. 8 7. Planung Teil 2................................................................................................................. 8 Quellen .................................................................................................................................... 9 Webquellen ............................................................................................................................. 9
  • 3. SepC-15 DevOps 1. Was sind typische Anwendungsgebiete von DevOps, wo kommen die Eigenschaften richtig zum Tragen? Als Konzept betont DevOps die Kommunikation und Zusammenarbeit von den Abteilungen Development und Operations. So besteht das Ziel darin, dass die Anwendungsentwicklung und der IT-Betrieb enger zusammenarbeiten, um allfällige Fehler möglichst zu vermeiden. Diese Methodik wird häufig im Bereich Anwendersoftware, Webanwendungen und Applikationen verwendet und das aus dem Grund, weil die Verwendung von DevOps die Geschwindigkeit bei der Software- Entwicklung enorm erhöhen kann. So ist der Prozessverbesserungsansatz darauf ausgelegt, eine IT-Dienstleistung oder eine Anwendung nicht erst während des Betriebes, sondern auch schon während der Entwicklung umfassend zu kontrollieren, um so die gesamte Qualität zu verbessern. Hierzu könne auch geeignete Tools beigezogen werden, welche abteilungsübergreifend verwendbar sind. DevOps- Strategien sind ausserdem auch eine Voraussetzung für den Softwarelieferprozess Continuous Delivery (CD). DevOps und die agile Entwicklung können ein Unternehmen bei der Softwareentwicklung unterstützen, indem sie • die Entwicklung flexibler mit den sich ändernden Anforderungen der Kunden umgehen lässt, • es den Entwicklern ermöglicht, in kürzeren Abständen funktionsfähige Software-Versionen bereitzustellen, • den eigentlichen Betrieb enger mit den Entwicklern verzahnt und gemeinsame Ansätze zur Bereitstellung von Software ermöglicht und • alte Rivalitäten und Verständnisschwierigkeiten zwischen Abteilungen und Kollegen reduziert.
  • 4. SepC-15 DevOps 2. Gibt es verwandte Modelle und/oder wie ist es entstanden? Obwohl die agile Entwicklung und DevOps beide für Softwareentwicklungen vorgesehen sind, gibt es in verschiedenen Hinsichten unterschiedliche Ansätze in Bezug auf Gruppen, Abteilungen und Struktur. Es ist aber wichtig zu erwähnen, dass sich diese beiden nicht gegenseitig ausschliessen. Die agile Entwicklung kann als Entwicklungsmethodik bezeichnet werden, während DevOps als eine Art Kultur angesehen werden kann, welche die Zusammenarbeit fördert im Bereich Entwicklung und Wartung. Obwohl es Unterschiede gibt zwischen agile Entwicklung und DevOps, können sie zusammen eingesetzt werden und das kann zu qualitativ besseren Ergebnissen führen. Zur Entstehung von DevOps kann gesagt werden, dass an einer Konferenz im Jahre 2009 in Gent (Belgien) ein gewisser Patrick Debois den Namen der Konferenz zu DevOpsDays benannte. In den darauffolgenden Jahren wurde dann der Begriff DevOps immer wieder mit den agilen Methoden in Verbindung gebracht, weil sich diese Konferenzen mit diesen Themen befassten. Die Konferenz und auch die Vorträge konzentrierten sich thematisch auf die Zusammenarbeit von IT-Spezialisten, Programmieren und dem operativen Produktionsmanagement, sowie den Anforderungen agiler Methoden und eine Veränderung dieser Zusammenarbeit. Das klassische Wasserfall-Model war in der Softwareentwicklung nicht geeignet, um agilen Prozessen Rechnung zu tragen. Die Zusammenarbeit zwischen IT, Entwicklung und Produktmanagement konnte nicht funktionieren, weil z.B. die Entwicklung auf agile Methoden ausgerichtet war, aber die anderen beiden Abteilungen immer noch den Fokus auf das Wasserfall-Modell legten. Aus diesem Grund sollte DevOps diese Probleme hinsichtlich der Zusammenarbeit und der Kommunikation lösen, indem ein Konzept im gesamten Lebenszyklus einer Anwendung integriert wird und den Einsatz von verschiedenen Tools einführt.
  • 5. SepC-15 DevOps 3. Eigenschaften und Merkmale von DevOps Eines der wichtigsten Merkmale in DevOps ist die Zusammenarbeit bzw. Zusammenschluss der Entwicklung und der IT-Operation. Im Vergleich zum Scrum wird nicht nur die Lücke zwischen Kunde und Entwicklungsteam geschlossen, sondern auch die Lücke zwischen Entwicklung und Operations & Infrastruktur. Man hat somit eine Zusammenarbeit zwischen Kunde, Entwickler und der IT-Operation. Dies fördert nicht nur die Kommunikation und Zusammenarbeit, sondern auch die Integration und Automatisierung zwischen den beiden Teams. Die "Agilität wird zu Ende gedacht". Ein weiteres Merkmal in DevOps sind ihre 8 Phasen. Diese Phasen befinden sich in einem Infinity-Loop. Diese verspricht eine kontinuierliche Integration und Bereitstellung der Entwicklung sowie eine kontinuierliche Lieferung an Kunden. DevOps umfasst alle Phasen von der Planung bis zur Bereitstellung des Releases. Die linke Seite des Loops sind die Phasen von den Entwickler und die auf der Rechten, die der IT-Operations. Abbildung 1: 8 Phasen von DevOps: Quelle: [1]) DevOps wird oft nicht nur als eine Methodik betrachtet, sondern als ein Mindset, eine Kultur und mancherorts sogar als Religion. Dies kann auch als ein Merkmal betrachtet werden, denn so kann die Motivation der einzelnen Mitglieder gefördert werden und die Zusammenarbeit stärken. Ebenfalls ein wichtiges Merkmal ist die Automatisierung, diese kommt in den Phasen Testing, Integration und Bereitstellen vorallem in den Einsatz.
  • 6. SepC-15 DevOps 4. Requirementsanalyse Die Requirementsanalyse / Produktvision findet jeweils in der Planungsphase statt. DevOps gibt keine Richtlinien vor, wie bei der Planung vorgegangen werden soll. Jedoch werden diverse Tools zur Wartung der Requirements vorgeschlagen. Nach jedem Intervall wird Feedback beim Kunden eingeholt. Anhand des Feedbacks werden die Anforderungen neu analysiert und priorisiert, wie bei Scrum. Da keine Vorschriften Seitens DevOps gemacht werden, kann sich das Modell Scrum hier nützlich machen. DevOps ist in diesem Sinne ja kein Prozess, sondern eine Methodik, die sich mit anderen agilen Prozessen kombinieren lässt. Ein Ansatz welcher DevOps mehrfach erwähnt. Zuständige Personen für die Übersicht und Pflege der jeweiligen Anforderungen sehen wir einerseits der DevOps Evangelist, welcher die geschäftlichen Vorteile identifiziert sowie quanifiziert, um so die Vorteile von DevOps zu fördern. Andererseits sehen wir den Relase Manager als zuständige Person. Denn diese Person ist für die jeweiligen Releases zuständig. Der Release Manager prüft, dass die Anforderungen der Kunden in das Produkt umgesetzt werden und holt beim Kunden das Feedback. Zu den Artefakten wird ausser die Wartungstools, wie Jira, etc. nicht wirklich berichtet. Es ist sicher von Vorteil am Anfang des Projekts einen Requirementsanalyse durchzuführen und alle Anforderungen mit dem Kunden durchzugehen und diese zu priorisieren. So kann ein Konzept erstellt werden, welches auf Änderungen reagieren kann. Jedoch wird in der Praxis oft ein Vertrag ausgehandelt, denn es wird ein Budget gesprochen, welches am Ende eingehalten werden muss. Wichtig ist, dass das DevOps Team im Klaren ist, was der Auftrag ist, um so den Fokus nicht in Einzelheiten zu verlieren.
  • 7. SepC-15 DevOps 5. DevOps Rollen DevOps Evangelist: Die Rolle des DevOps Evangelisten ist es, die Kultur von DevOps innerhalb des Unternehmens zu fördern und eine quasi führende Rolle einnehmen. Dazu gehört das identifizieren und quantifizieren der Vorteile von DevOps für das Unternehmen, die Developement und Administrativen (aus IT sicht) Teams überzeugen, die Schlüsselrollen für DevOps identifizieren, die Mitarbeiter trainieren und die Furcht vor Versagen zu nehmen. In SCRUM währi diese Rolle ähnlich zum SCRUM Master. Release Manager: Das Management und die Koordination des Produktes während der Entwicklung bis zum Betrieb adressieren, technische Details und Hürden erkennen und beseitigen. Koordination, integration und Entwicklungs-, Testing-, und Deploymentfluss beaufsichtigen, um besser cd (continuous delivery) zu unterstützen. Der Fokus liegt nicht nur an der Kreation einer End-To-End Applikations Delivery Tool Chain, sondern auch deren Instandhaltung. Bei SCRUM wäre diese Rolle eigentich eine Mischung aller vorhandener Rollen. Die folgenden Rollen würden bei SCRUM einfach zur Rolle des Dev Teams gehören. Automation Architect: Analysieren, designen und implementieren von Strategien für continuous deployment und garantieren von hoher Verfügbarkeit auf Betriebs- und Vorbetriebssystemen. Software Developer/Tester: Zuständig dafür, Anforderungen zu Code machen und auch noch das ganze zu Testen, deployen und überwachen. Experience Assurance Expert: beauftragt, dafür zu sorgen, dass alle neuen Features und Funktionen mit Blick auf die Endbenutzererfahrung veröffentlicht werden. Security Engineers: Sie arbeiten Seite an Seite mit den Entwicklern zusammen um von Anfang an Sicherheit einzubauen statt am Schluss nochmals alles verändern, da es unsichere Teile gibt. Utility Technology Players: IT-administratives Personal, dass sich während des gesammten Entwicklungsprozesses engagiert und sich zum Beispiel auch beim Sprint Planing beteiligt, um sicherzustellen, dass die Servicequalität, das Ressourcenmanagement und zum Teil auch die Sicherheit verbessert und auch priorisiert wird. Zu den Utility Technologie Playern gehören auch Experten zu Entwicklungsplatformen, verschiedene Tools, Netzwerke, Server, DBs und sogar Entwicklung und Support dazu. Schlussendlich ist der grösste Unterschied den man zu SCRUM sieht, dass viele Teile, weche zum Dev Team gehören hier zu eigenen Rollen wurden, welche mehr als Ansprechsperson und Intervention dienen sollte, falls diese etwas erkennen, was nicht optimal ist.
  • 8. SepC-15 DevOps 6. Planung Teil 1 Obwohl DevOps keine Richtlinien zur Planung vorgibt, kann festgehalten werden, dass in der Planungsphasen von DevOps die Teams die Funktionen und Features der Anwendungen und Systeme, an denen sie arbeiten konzipieren, definieren und beschreiben. Eine gut funktionierende DevOps-Kultur zeichnet sich insbesondere dadurch aus, dass die Zusammenarbeit innerhalb der Teams gut funktioniert. Unterschiedliche Team müssen ihre DevOps-Prozesse, -Zuständigkeiten und - Prioritäten einander offenlegen. Die Teams müssen die Arbeit gemeinsam planen und ihre Ziele aufeinander abstimmen. DevOps-Teams planen flexibel und gewährleisten deren Sichtbarkeit, indem sie zum Beispiel ein Backlog erstellen, Fehler nachverfolgen, die agile Softwareentwicklung mit Scrum verwalten und den Fortschritt in Form von Dashboards visualisieren. 7. Planung Teil 2 In diesem Abschnitt sollten wir eigentlich erklären, wie die Arbeit verteilt wird, wie der Aufwand geschätzt wird und wer sagt, was wann gemacht wird. Diese Fragen sind aber im Zusammenhung mit DevOps eigentlich nicht wirklich zu beantworten, denn DevOps ist nicht wie SCRUM ein Entwicklungsprozess, sondern mehr eine Kultur und eher übergeordnet. Der eigentliche Sinn von DevOps ist, dass die Entwicklung und die Systemadministration enger miteinander arbeiten und zur Planung lassen sie vieles offen. Auf der Website von Microsoft zum Thema DevOps steht zum Beispiel unter Plan folgendes: «DevOps-Teams planen flexibel und gewährleisten die Sichtbarkeit, indem sie beispielsweise Backlogs erstellen, Fehler nachverfolgen, die agile Softwareentwicklung mit Scrum verwalten, Kanban-Boards verwenden und den Fortschritt in Form von Dashboards visualisieren.». Das bedeutet, dass DevOps die verschiedensten agilen Ansätze unterstützen soll und nicht vorgeben, wie etwas gemacht wird. So kann zum Beispiel eine Firma, die bisher mit SCRUM gearbeitet hat, dieses Wissen und Prozesse immer noch behalten und trotzdem die Vorteile von DevOps nutzen.
  • 9. SepC-15 DevOps Quellen [1]: «Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For Beginners | Simplilearn», Youtube, 2018. [Online]. Available: https://www.youtube.com/watch?v=Me3ea4nUt0U&t=232s (Abrufdatum 21.10.2020) [2]: digital.ai, «What is DevOps? The Ultimate Guide to DevOps» 21.05.2020. [Online] Available: https://digital.ai/resources/devops-101/what-is-devops (Abrufdatum 21.10.2020) [3]: arocom, «DevOps». [Online] Available: https://www.arocom.de/fachbegriffe/devops (Abrufdatum 21.10.2020) [4]: Margaret Rouse, «What is DevOps? The ultimate guide», TechTarget vom 21.08.2017. [Online] Available: https://searchitoperations.techtarget.com/definition/DevOps (Abrufdatum 21.10.2020) [5]: Brian Gracely, «The 7 habits of highly effective DevOps», The Enterprisers Project. [Online]: Available: https://enterprisersproject.com/article/2017/8/7-habits-highly-effective-devops (Abrufdatum 21.10.2020) [6]: Milecia McG, «Why DevOps Is Useful», DEV vom 06.06.2019. [Online] Available: https://dev.to/flippedcoding/why-devops-is-useful-4d5k (Abrufdatum 21.10.2020) [7]: Microsoft, «Was ist DevOps». [Online] Available: https://azure.microsoft.com/de-de/overview/what- is-devops/ (Abrufdatum 21.10.2020) [8]: cprime, «What is DevOps?». [Online] Available: https://www.cprime.com/technology/devops/ (Abrufdatum 21.10.2020) [9]: Stephanie Overby, «7 DevOps roles you need to succeed», TechBeacon. [Online] Available: https://techbeacon.com/devops/7-devops-roles-you-need-succeed (Abrufdatum 21.10.2020) Webquellen https://digital.ai/resources/devops-101/what-is-devops https://devops.com/the-origins-of-devops-whats-in-a-name/ https://techbeacon.com/devops/7-devops-roles-you-need-succeed https://azure.microsoft.com/de-de/overview/what-is-devops/#overview https://azure.microsoft.com/de-de/overview/what-is-devops/ https://www.redhat.com/de/topics/devops https://techbeacon.com/devops/7-devops-roles-you-need-succeed