Hands-On Workshop: DevOps sofort anwenden
(Software Architects, Software Developers, Software Tester, DevOps Engineers)
Relevanz von DevOps und Technologien
DevOps revolutioniert die Art und Weise, wie Software entwickelt, bereitgestellt und betrieben wird, indem es Release-Zyklen verkürzt und Qualität durchgängig sicherstellt. Die Essenz von DevOps liegt in der Automatisierung, die nicht nur die Effizienz steigert, sondern auch Fehlerquellen systematisch eliminiert. Dies schafft kurze Feedback-Zyklen zu Gunsten 'echter' Agilität. Bei DevSecOps umfasst es zudem die frühzeitige, automatisierte Prüfung von Sicherheitsaspekten. Im Zentrum stehen dabei Schlüssel-Technologien wie Container, für eine konsistente Ausführungsumgebung und somit Plattform-Unabhängigkeit. Kubernetes ermöglicht Container-Orchestrierung über mehrere Hosts und sogar Cluster hinweg und bietet dadurch Ausfallsicherheit und Skalierung. Mit GitHub Actions als Automatisierungsplattform lässt sich eine dynamische CI/CD-Lösung realisieren, die nativ dem GitOps Ansatz entspricht. Professionelle Monitoring- und Observability-Lösungen bieten kontinuierliche Überwachung und ermöglichen es, das Systemverhalten in Echtzeit zu verstehen um die Systemzuverlässigkeit kontinuierlich zu verbessern.
Was diesen Kurs auszeichnet
In diesem Kurs entwickeln wir zusammen ein Projekt angemessener Größe in Form 10 durchgängiger, aufeinander aufbauenden Etappen weiter. Dabei werden die jeweiligen Technologien nicht nur vorgestellt sondern direkt selbst von Ihnen angewandt. Sie sammeln dabei nicht nur wertvolle Erfahrungen in der Integration und Fehlersuche, sondern lernen auch von Anfang an essentielle Security Best Practices umzusetzen. Am Ende dieses Kurses besitzen Sie ein ganzheitliches Verständnis von DevOps und dem Zusammenwirken der Werkzeuge, Konzepte und Technologien, das Sie sofort produktiv anwenden können.
Wie dieser Kurs aufgebaut ist
Das zentrale Praxisprojekt beginnt bei einer adäquat bemessenen Webanwendung, die bereits in Git versioniert und aus Frontend, einigen Backend-Services mit individuellen Datenbanken und einen MessageBroker besteht. Wir frischen die Grundlagen auf, indem wir diese WebApp mittels Docker / Compose containerisieren. Anschließend tauchen wir in Kubernetes ein, um Container über mehrere Hosts und Cluster hinweg zu managen, was die Grundlage für Skalierbarkeit und Zuverlässigkeit bildet.
Wir führen GitHub Actions ein, um CI/CD-Prozesse zu automatisieren und die Bereitstellung unserer Anwendung zu vereinfachen. Im weiteren Verlauf konzentrieren wir uns auf bewährte Methoden des Secret-Managements und implementieren ein zentrales Logging- und Monitoring-System auf Basis des 'EFK-Stacks' sowie Prometheus mit Grafana.
Anschließend lernen wir das Istio Service Mesh einzusetzen, und durch die erweiterte Netzwerk-Kontrolle sowohl die Sicherheit, als auch die Observability zu steigern. Wir schließen mit der Einführung von Helm und Argo CD ab. Diese bieten Vereinfachungen und damit das Potential den DevOps-Stack für komplexe Anwendungen zu skalieren.