Wenn ein Unternehmen sich entscheidet, Software nach der DevOps-Philosophie zu entwickeln, bietet sich eine große Chance, den Kunden robustere Software in kürzeren Entwicklungszyklen bereit zu stellen. Gemeinsam müssen alle Beteiligten die Unternehmenskultur so verändern, dass Konzeption, Entwicklung, Test und Betrieb von Software Hand in Hand gehen.
Für Entwickler bedeutet dies meist eine deutliche Erweiterung von Anforderungen und Verantwortung: Themen wie Containerisierung, Integrationstests, Monitoring und Logging sollten bedacht und beherrscht werden. In diesem Praxisseminar machen Sie sich anhand ‘echter’ Softwareprojekte mit vielen unterschiedlichen Technologien und Methoden vertraut.
Schulungsziel
In diesem Praxisseminar lernen Sie die verschiedenen Methoden und Techniken agiler DevOps Projekte mit vielen Codebeispielen untermauert. Unser Fokus richtet sich vornehmlich auf Java /Spring Boot Projekte, die mit Maven gebaut werden. Schritt für Schritt erweitern Sie in diesem Kurs Ihre Kenntnisse und erfahren anhand von vielen Best Practice Beispielen wie sich eine gelebte DevOps Kultur in den Entwickleralltag einbinden lässt. Dabei wird regelmäßig auf altbekanntes zurückgegriffen, so dass sich ein geschlossenes Bild ergibt auf dem Sie weiterhin aufbauen können und gestalten Sie so den Wandel in Ihrem Unternehmen mit!
Wer teilnehmen sollte: Softwareentwickler, die bisher wenig Berührungspunkte, jedoch keine Berührungsängste mit Technologien aus dem Bereich DevOps haben.
Inhalt:
Einführung
- “You build it – you run it!”: Was bedeutet DevOps für Entwickler?
- Werkzeuge und Methodiken
- Planung und Agilität
Docker
- Einführung und Konzepte
- Verwenden von Containern
- Bauen eigener Images
- Docker Compose zur einfachen Orchestrierung
Maven
- Die Bedeutung von Build Werkzeugen im DevOps Workflow
- Einführung und Konzepte
- Single Point of Trust
- Praxisbeispiele
Java Beispiel Projekt & Spring Boot
- Was ist Spring Boot?
- Die Bedeutung von Softwarearchitekturen
- Architektur Tests
Integrationstests
- Welche Bedeutung hat das Testen für DevOps?
- Wie ist eine Infrastruktur für effizientes Testen aufgebaut?
- Was ist der Unterschied zwischen Unit und Integration Tests
- Embedded Integration Tests mit Maven
- Das Testcontainer Framework
Logging und Reporting
- Die Bedeutung des Loggens
- Typische Frameworks & Formate
- Wie wird das Logging im Anwendungsbetrieb eingesetzt?
- Reporting mit Maven
Monitoring
- Konzepte des Monitorings
- Welche Metriken werden Monitored?
- Ein Beispiel Monitor mit Spring Boot, Prometheus und Grafana