In diesem Vortrag erfahren Sie, warum sich der erste Ansatz einer zentralen CI/CD-Installation für alle Teams als problematisch erwies und durch dezentrale Pipelines ersetzt wurde. Danach lernen Sie die Tücken unserer Einführung einer eingekauften API-Management-Lösung kennen, und wieso sich der Kauf von großer On-Premise-Software nur schwer mit den agilen Prinzipien vereinbaren lässt. Der Zuhörer lernt zudem, wie wir im Team mit polyglotter Softwareentwicklung zu kämpfen haben und wie wir permanent gegen Wissensinseln ankämpfen. Zuletzt gehe ich darauf ein, wie wir mit umfassender Architekturdokumentation gestartet und gescheitert sind. Unser neuer Ansatz ist eine leichtgewichtige dezentrale Dokumentation mit AsciiDoc und ein im Team abgestimmter Toolstack, der auch vom Zuhörer adaptiert werden kann. Am Ende der Reise wird der Zuhörer einige Methoden und Tools kennen gelernt haben, um in einem Kontext zu überleben, der an vielen Stellen noch von klassischen Prozessen dominiert wird. Aber eines ist klar: Der Weg Richtung DevOps geht nicht plötzlich, es ist eine Reise mit Umwegen und Hindernissen. Die Reise ist es aber auf jeden Fall Wert!
Kaps - Es muss nicht immer Kubernetes seinStephan Kaps
In vielen größeren Institutionen gibt es noch jede Menge Software, die eher monolithisch aufgebaut ist, die häufig in Applikation-Servern auf dedizierten virtuellen Maschinen von einem eher klassisch aufgestellten und organisatorisch separierten IT-Betrieb betrieben wird. In Fachzeitschriften, Online-Artikeln und Konferenzen wird vorgeführt, wie einfach es doch ist, einen Hello-World Spring Boot Microservice mit mehreren Instanzen auf Kubernetes zu deployen. Doch zurück im Unternehmen wird klar: sollte man es tatsächlich schaffen, alle notwendigen Personen davon zu überzeugen, ab sofort Kubernetes einzuführen, wird das für einen meist auch personell am Limit arbeitenden IT-Betrieb schnell zu einem Projekt mit vermutlich 1-2 Jahren Laufzeit (je nach Erfahrung), mit möglichen Seiteneffekten wie reduzierter Handlungsfähigkeit für das laufende Geschäft und dem Zurückstellen anderer Modernisierungsmaßnahmen. In diesem Vortrag werden wir die sich kontinuierlich entwickelnde (evolving) Architektur einer Anwendungslandschaft hin zu Cloud Native betrachten und dabei (OpenSource) Werkzeuge kennen lernen für die schrittweise Anpassung der on-premise Infrastruktur, ohne Kubernetes.
Bei dem Vorhaben, Container in Produktion zu betreiben, sind einige Aspekte zu betrachten. Unter anderem besteht der Bedarf, die erzeugten Images in geeigneten Repositories innerhalb einer sogenannten Container-Registry abzulegen. Es muss sichergestellt werden, dass nicht ungewollt fremde Container aus unbekannten Quellen oder manipulierte Images mit Malware den Weg in die Produktion schaffen. Des Weiteren sollen keine Container betrieben werden, deren Images bekannte Verwundbarkeiten beinhalten. In diesem Vortrag wird Projekt Harbor vorgestellt, eine Open-Source-Cloud-Native-Container-Registry, die on premises betrieben werden kann und Vulnerability-Scans und Content-Trust unterstützt. Darüberhinaus stelle ich euch den OWASP-Container-Security-Verification-Standard vor, der wichtige Tipps für sicherere Container und Infrastruktur bereitstellt.
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sQAware GmbH
Continuous Testing Days, Mai 2021, online: Vortrag von Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware)
== Please download slides if blurred! ==
Abstract: Viele Teams straucheln immer noch dabei regelmäßig gut getestete Produktinkremente zu liefern. Normalerweise mit der gleichen alten Ausrede: speziell die (nicht)-funktionale Tests seien zu aufwändig und zu teuer umzusetzen. Doch genau das Gegenteil ist der Fall!
Per Anhalter zu Cloud-nativen API GatewaysQAware GmbH
betterCode, April 2021, online: Vortrag von Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware)
== Please download slides if blurred! ==
Abstract:
Gute APIs sind das Herzstück erfolgreicher digitale Produkte und Cloud-nativer Anwendungen. Doch für komplexe Systeme mit zahlreichen Abnehmern ist die ordnungsgemäße Verwaltung dieser APIs von größter Bedeutung. In diesem Vortrag werden wir das Cloud-native API-Gateway-Ökosystem näher betrachten: Ambassador, Gloo, KrakenD, Kong, Tyk et al.
Mit LoRaWAN und Serverless zur eigenen Smart-Office-LösungQAware GmbH
building IoT, März 2021, online: Vortrag von Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware)
Abstract: Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Die Stadt Rosenheim ist auf dem Weg zur Smart City mit zahlreichen bereits umgesetzten Use Cases im kommunalen Bereich. Mit der Eröffnung unseres neuen Büros in Zeiten der Pandemie sahen wir den Bedarf und die Gelegenheit für eine moderne Raumklima-Überwachung unter Verwendung der lokalen LoRaWAN Infrastruktur. Dieser Vortrag berichtet wie wir in sehr kurzer Zeit eine eigene Smart-Office Lösung umgesetzt haben. Wir beschreiben die konzeptionelle Architektur und zeigen die wesentlichen Bestandteile des komplett Event-getriebenen Serverless Backends auf Basis verschiedener Dienste der Google
Cloud.
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesTobias Schneck
Stabile und skalierbare Testumgebungen sind seit jeher schwer aufzusetzen und zu warten. Besonders in Zeiten von Continuous Delivery ist das Aufsetzen von Build-Pipelines in Verbindung mit automatisierten Integration- und UI-Tests eine besonders große Herausforderung. Einen eleganten Ausweg bieten containerbasierte Testumgebungen, die dynamisch zum Build-Zeitpunkt bereitgestellt werden. Der Talk zeigt anhand von mehreren Live-Demos, wie mit Hilfe von OpenShift-Build-Pipeline sowohl Server-APIs als auch grafische Web- und Rich-Client-Oberflächen getestet werden können. Zum Einsatz kommen hierfür die Open-Source-Test-Frameworks Citrus und Sakuli, die bereits für die Verwendung in OpenShift vorbereitet sind.
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldQAware GmbH
ECN Summit 2019, München: Workshop von Josef Adersberger (@adersberger, CTO QAware), Josef Fuchshuber (@fuchshuber) und Christian Binder (Microsoft)
=== Dokument bitte herunterladen, falls unscharf! ===
Abstract:
Continuous Integration und Continuous Delivery sind wichtiger Teil der Wertschöpfungskette einer Cloud Native Softwareentwicklung. Sie bilden die Brücke zwischen der Entwicklung (produziert Code) und der Betriebsumgebung (führt Container aus) - und zwar in beide Richtungen: von der Entwicklung in die Betriebsumgebung indem aus Code möglichst automatisiert laufende und qualitätsgesicherte Container erzeugt werden; und von der Betriebsumgebung in Richtung Entwicklung indem Feedback zum Nutzer- und Softwareverhalten kontinuierlich zurückgegeben wird. Im Workshop werden demnach die beiden folgenden Fragestellungen diskutiert: Wie sieht eine CI/CD-Pipeline aus, die für den Einsatz in Unternehmen geeignet ist? Welche Features sind dabei besonders neuralgisch und welche Best Practices gibt es?
In diesem Vortrag erfahren Sie, warum sich der erste Ansatz einer zentralen CI/CD-Installation für alle Teams als problematisch erwies und durch dezentrale Pipelines ersetzt wurde. Danach lernen Sie die Tücken unserer Einführung einer eingekauften API-Management-Lösung kennen, und wieso sich der Kauf von großer On-Premise-Software nur schwer mit den agilen Prinzipien vereinbaren lässt. Der Zuhörer lernt zudem, wie wir im Team mit polyglotter Softwareentwicklung zu kämpfen haben und wie wir permanent gegen Wissensinseln ankämpfen. Zuletzt gehe ich darauf ein, wie wir mit umfassender Architekturdokumentation gestartet und gescheitert sind. Unser neuer Ansatz ist eine leichtgewichtige dezentrale Dokumentation mit AsciiDoc und ein im Team abgestimmter Toolstack, der auch vom Zuhörer adaptiert werden kann. Am Ende der Reise wird der Zuhörer einige Methoden und Tools kennen gelernt haben, um in einem Kontext zu überleben, der an vielen Stellen noch von klassischen Prozessen dominiert wird. Aber eines ist klar: Der Weg Richtung DevOps geht nicht plötzlich, es ist eine Reise mit Umwegen und Hindernissen. Die Reise ist es aber auf jeden Fall Wert!
Kaps - Es muss nicht immer Kubernetes seinStephan Kaps
In vielen größeren Institutionen gibt es noch jede Menge Software, die eher monolithisch aufgebaut ist, die häufig in Applikation-Servern auf dedizierten virtuellen Maschinen von einem eher klassisch aufgestellten und organisatorisch separierten IT-Betrieb betrieben wird. In Fachzeitschriften, Online-Artikeln und Konferenzen wird vorgeführt, wie einfach es doch ist, einen Hello-World Spring Boot Microservice mit mehreren Instanzen auf Kubernetes zu deployen. Doch zurück im Unternehmen wird klar: sollte man es tatsächlich schaffen, alle notwendigen Personen davon zu überzeugen, ab sofort Kubernetes einzuführen, wird das für einen meist auch personell am Limit arbeitenden IT-Betrieb schnell zu einem Projekt mit vermutlich 1-2 Jahren Laufzeit (je nach Erfahrung), mit möglichen Seiteneffekten wie reduzierter Handlungsfähigkeit für das laufende Geschäft und dem Zurückstellen anderer Modernisierungsmaßnahmen. In diesem Vortrag werden wir die sich kontinuierlich entwickelnde (evolving) Architektur einer Anwendungslandschaft hin zu Cloud Native betrachten und dabei (OpenSource) Werkzeuge kennen lernen für die schrittweise Anpassung der on-premise Infrastruktur, ohne Kubernetes.
Bei dem Vorhaben, Container in Produktion zu betreiben, sind einige Aspekte zu betrachten. Unter anderem besteht der Bedarf, die erzeugten Images in geeigneten Repositories innerhalb einer sogenannten Container-Registry abzulegen. Es muss sichergestellt werden, dass nicht ungewollt fremde Container aus unbekannten Quellen oder manipulierte Images mit Malware den Weg in die Produktion schaffen. Des Weiteren sollen keine Container betrieben werden, deren Images bekannte Verwundbarkeiten beinhalten. In diesem Vortrag wird Projekt Harbor vorgestellt, eine Open-Source-Cloud-Native-Container-Registry, die on premises betrieben werden kann und Vulnerability-Scans und Content-Trust unterstützt. Darüberhinaus stelle ich euch den OWASP-Container-Security-Verification-Standard vor, der wichtige Tipps für sicherere Container und Infrastruktur bereitstellt.
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sQAware GmbH
Continuous Testing Days, Mai 2021, online: Vortrag von Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware)
== Please download slides if blurred! ==
Abstract: Viele Teams straucheln immer noch dabei regelmäßig gut getestete Produktinkremente zu liefern. Normalerweise mit der gleichen alten Ausrede: speziell die (nicht)-funktionale Tests seien zu aufwändig und zu teuer umzusetzen. Doch genau das Gegenteil ist der Fall!
Per Anhalter zu Cloud-nativen API GatewaysQAware GmbH
betterCode, April 2021, online: Vortrag von Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware)
== Please download slides if blurred! ==
Abstract:
Gute APIs sind das Herzstück erfolgreicher digitale Produkte und Cloud-nativer Anwendungen. Doch für komplexe Systeme mit zahlreichen Abnehmern ist die ordnungsgemäße Verwaltung dieser APIs von größter Bedeutung. In diesem Vortrag werden wir das Cloud-native API-Gateway-Ökosystem näher betrachten: Ambassador, Gloo, KrakenD, Kong, Tyk et al.
Mit LoRaWAN und Serverless zur eigenen Smart-Office-LösungQAware GmbH
building IoT, März 2021, online: Vortrag von Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware)
Abstract: Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Die Stadt Rosenheim ist auf dem Weg zur Smart City mit zahlreichen bereits umgesetzten Use Cases im kommunalen Bereich. Mit der Eröffnung unseres neuen Büros in Zeiten der Pandemie sahen wir den Bedarf und die Gelegenheit für eine moderne Raumklima-Überwachung unter Verwendung der lokalen LoRaWAN Infrastruktur. Dieser Vortrag berichtet wie wir in sehr kurzer Zeit eine eigene Smart-Office Lösung umgesetzt haben. Wir beschreiben die konzeptionelle Architektur und zeigen die wesentlichen Bestandteile des komplett Event-getriebenen Serverless Backends auf Basis verschiedener Dienste der Google
Cloud.
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesTobias Schneck
Stabile und skalierbare Testumgebungen sind seit jeher schwer aufzusetzen und zu warten. Besonders in Zeiten von Continuous Delivery ist das Aufsetzen von Build-Pipelines in Verbindung mit automatisierten Integration- und UI-Tests eine besonders große Herausforderung. Einen eleganten Ausweg bieten containerbasierte Testumgebungen, die dynamisch zum Build-Zeitpunkt bereitgestellt werden. Der Talk zeigt anhand von mehreren Live-Demos, wie mit Hilfe von OpenShift-Build-Pipeline sowohl Server-APIs als auch grafische Web- und Rich-Client-Oberflächen getestet werden können. Zum Einsatz kommen hierfür die Open-Source-Test-Frameworks Citrus und Sakuli, die bereits für die Verwendung in OpenShift vorbereitet sind.
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldQAware GmbH
ECN Summit 2019, München: Workshop von Josef Adersberger (@adersberger, CTO QAware), Josef Fuchshuber (@fuchshuber) und Christian Binder (Microsoft)
=== Dokument bitte herunterladen, falls unscharf! ===
Abstract:
Continuous Integration und Continuous Delivery sind wichtiger Teil der Wertschöpfungskette einer Cloud Native Softwareentwicklung. Sie bilden die Brücke zwischen der Entwicklung (produziert Code) und der Betriebsumgebung (führt Container aus) - und zwar in beide Richtungen: von der Entwicklung in die Betriebsumgebung indem aus Code möglichst automatisiert laufende und qualitätsgesicherte Container erzeugt werden; und von der Betriebsumgebung in Richtung Entwicklung indem Feedback zum Nutzer- und Softwareverhalten kontinuierlich zurückgegeben wird. Im Workshop werden demnach die beiden folgenden Fragestellungen diskutiert: Wie sieht eine CI/CD-Pipeline aus, die für den Einsatz in Unternehmen geeignet ist? Welche Features sind dabei besonders neuralgisch und welche Best Practices gibt es?
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
ECN Summit 2019, München: Workshop von Josef Adersberger (@adersberger, CTO QAware), Helmut Weiss (Beck et al.) und Mario Lohner (Syncier Cloud)
Abstract:
Um eine Anwendungslandschaft in die Zukunft zu führen wird immer deutlicher, dass kein Weg mehr an Cloud Native Plattformen wie Kubernetes vorbei führt. Eine flexiblere Entwicklung, hochfrequente Releases sowie geringere Betriebskosten und eine bessere Skalierbarkeit zählen mit zu den Hauptvorteilen dieser Technologie. Dies erreicht man jedoch nicht durch eine simple Migration der bestehenden Anwendungen in einen Container und einem Betrieb auf Kubernetes.
Im Workshop gliedert sich dabei in drei Teile:
- Migration von IT-Services in die Cloud
- Migration von Anwendungen in die Cloud
- Aufbau einer Kubernetes-Plattform mit Blick auf Day 2
Kubernetes ist so viel mehr als ein Container OrchestriererQAware GmbH
Heise, Mastering Kubernetes 2021,15. Juli 2021, online: Vortrag von Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware)
== Bitte Folien herunterladen, falls sie unscharf sein sollten! =
Abstract:
Wer an Kubernetes denkt, sieht erstmal die Features zur Orchestrierung von Containern auf vielen Hosts. Allerdings kann Kubernetes so viel mehr, was sowohl bei Dev- als auch bei Ops-Aufgaben helfen kann.
In diesem Vortrag werden die Fähigkeiten näher beleuchtet, die sonst ein Schattendasein fristen.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
JCON 2018, Düsseldorf: Vortrag von Mario-Leander Reimer (@LeanderReimer, Cheftechnologe bei QAware)
Abstract:
Jahrzehnte lang haben wir mehr oder weniger erfolgreich monolithische Enterprise Applikationen gebaut. Leider können diese Systeme und deren Betriebsmodelle den hohen Anforderungen moderner Geschäftsmodelle nur noch schwer genügen. Kurze Release-Zyklen, Antifragilität und Hyperscale scheinen unerreichbar zu sein. Was also tun? Muss man diese Systeme alle neu bauen? Das ist sicherlich kein besonders ökonomischer und sinnvoller Weg. Dieser Vortrag zeigt mögliche Wege der Cloud-nativen Evolution von Bestandssystemen und berichtet aus der Praxis.
Enterprise Cloud Native ist das neue NormalQAware GmbH
SE-Couch Meetup, Februar 2020, München: Vortrag von Mario-Leander Reimer (@LeanderReimer, Technischer Geschäftsbereichsleiter bei QAware)
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Abstract: Leander erklärt, was hinter dem Begriff Cloud Native wirklich steckt und wie man es verwenden kann, um Software(-Architekturen) für die (Elastic) Cloud zu bauen. Er kennt die aktuellen Trends und Neuerungen im Cloud-native Universum und berichtet darüber, wie er diese in das eigene Unternehmen und seine Projekte trägt.
Making the internet faster HTTP/3 und QUICQAware GmbH
Linux-Stammtisch, Making the internet faster HTTP/3 und QUIC, 27. Juli 2021, online: Vortrag von Franz Wimmer, (@zalintyre, Senior Software Engineer bei QAware)
== Bitte Folien herunterladen, falls sie unscharf sein sollten! =
Abstract:
Mit QUIC und HTTP/3 das Internet beschleunigen. Erfahre mehr über die Entwicklung des WWW, Benchmarks und die Implementierung von HTTP/3.
Continuous Lifecycle / ContainerConf, Februar 2021, online: Vortrag von Benjamin Tokgöz (@benn0rs, Cloud Solution Architect bei Microsoft) & Josef Fuchshuber (@fuchshuber, Director of Quality, Productivity & Innovation bei bei QAware)
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Abstract: Status quo: Chaos Engineering
Die Prinzipien des Chaos Engineering sind nicht neu. Beim Chaos Engineering werden Experimente am „lebenden System” durchgeführt. Es werden Ausfälle absichtlich herbeigerufen oder Systeme in widrigste Umstände gebracht. Immer mit dem Ziel Schwachstellen zu finden, frühzeitig zu beheben und dadurch stabilere Systeme und Vertrauen in das System zu bekommen.
Durch den Einzug von Microservice-Architekturen und die damit verbundene Vervielfältigung des Verteilungsgrades hat sich die Daseinsberechtigung für Chaos Engineering dramatisch erhöht. Denn die Komplexität des Runtime-Layers kann bei Microservice-Architekturen sehr schnell ins Unermessliche führen.
Dieser Talk führt in die Prinzipien des Chaos Engineering ein und zeigt den aktuellen Stand der Werkzeuge mit denen Experimente an Cloud-Native-Plattformen und -Applikationen durchgeführt werden können.
Dataservices - Data Processing mit MicroservicesQAware GmbH
IT-Tage 2018, Frankfurt: Vortrag von Mario-Leander Reimer (@LeanderReimer, Cheftechnologe bei QAware)
=== Dokument bitte herunterladen für bessere Lesbarkeit! ===
Abstract: Data Processing und Microservices sind ein perfektes Gespann. In dieser Kombination können Microservices dazu verwendet werden, ein flexibles, Event-getriebenes und skalierbares System von lose gekoppelten Datenverarbeitungsaufgaben aufzubauen. Diesen Ansatz nennen wir Dataservices.
In diesem Vortrag stellen wir zunächst die wesentlichen Konzepte und einige Schlüsseltechnologien vor, um Dataservice-Architekturen zu realisieren. Anschließend werden wir die einzelnen Bestandteile einer exemplarischen Datenverarbeitungs-Pipeline schrittweise komponieren und die Showcase-Pipeline in der Cloud zur Ausführung bringen und skalieren.
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?punkt.de GmbH
Mit Hilfe von Layout-Testing kann das Design von Webanwendungen wie Webseiten dauerhaft überprüft werden. Talk von Christiane Helmchen und Bianca Niestroj auf der Developer Week in Nürnberg. #dwx2016
OpenShift-Build-Pipelines: Build ► Test ► Run!Tobias Schneck
GitHub Repo: https://github.com/toschneck/openshift-example-bakery-ci-pipeline
Stabile und skalierbare Continuous-Integration-Umgebungen sind seit jeher schwer aufzusetzen und zu pflegen. Besonders in Zeiten von Containern und Cloud-Native-Apps, wird der nächste Schritt hin zur voll-automatisierten Build-Pipeline eingefordert. Sowohl der Aufbau des automatisierten Deployments als auch die Ausführung von automatisierten Integration- und UI-Tests stellen die DevOps-Teams vor neue Hürden. Einen eleganten Ausweg bieten Container-basierte CI/CD-Umgebungen, die dynamisch zum Build-Zeitpunkt bereitgestellt werden. An diesen Punkt setzt die Open-Source-Container-Plattform "OpenShift" an. Durch den Infrastructure-as-Code-Ansatz wird sowohl der CI-Server als auch der komplette Build-Lifecycle vom Bau der Artefakte bis zum Testen der Anwendung in den Container-Cluster verschoben.
Der Talk zeigt auf wo die Unterschiede von OpenShift zur Kubernetes-API liegen, wie durch Jenkins-Build-Pipelines Artefakte gebaut, in Docker Images verpackt, getestet und deployed werden können. In mehreren Live-Demos wird aufgezeigt, wie mit geschickten Einsatz von Open-Source-Tools sowohl Server-APIs als auch grafische Web- und Rich-Client-Oberflächen in Container-Clustern als Black-Box getestet werden können. Eine abschließende, kritische Bewertung der gesammelten Erfahrungen, zeigt wo das Potenzial dieses Ansatz liegt, aber auch welche Fallstricke derzeit (noch) zu meistern sind.
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsStephan Kaps
Continuous Delivery (CD) ist in aller Munde. Zu Recht, doch wollen wir unsere Software kontinuierlich ausliefern, müssen wir auch kontinuierlich Sicherheitstests durchführen.
Continuous Security Testing bedeutet, statische und dynamische Analysen bereits während der Entwicklung durchzuführen, um frühzeitig und regelmäßig Sicherheitsmaßnahmen umzusetzen, bevor manuelle Prüfungen wie Penetrationstests zum Einsatz kommen. Um eine Anwendung bereits während der Entwicklung auf das Vorhandensein sicherheitskritischer Schwachstellen hin überprüfen zu können, ist eine Integration in den Entwicklungsprozess und somit eine kontinuierliche und am besten automatisierte Prüfung notwendig.
Der Vortrag stellt die praktischen Erfahrungen aus einem Projekt vor, bei dem Sicherheitsrichtlinien (Secure Coding Guide) für die eigene Entwicklung von Java-Webanwendungen aufgestellt und Sicherheitstests in den Softwareentwicklungsprozess integriert wurden. Dabei wird auf die organisatorischen, inhaltlichen und technischen Überlegungen eingegangen.
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
JAX 2017, Mainz: Vortrag von Josef Fuchshuber (@fuchshuber, Cheftechnologe bei QAware) und Tobias Placht (@knacht, Software Ingenieur bei QAware).
Abstract: Wie oft kannst du ein neues Feature releasen? Jede Woche? Jeden Tag? Jede Stunde? Continuous Delivery ist einer der wesentlichen Treiber, warum wir Cloud-native Anwendung bauen. Für Software-driven Organisationen ist das der Schlüssel für eine sicherere, stabilere Software bei minimiertem Risiko und kurzen Feedbackschleifen. Die Herausforderung dabei ist, aus jeder Codeänderung möglichst schnell eine lauffähige und gründlich getestete Software zu machen. Das ist für viele Firmen ein wesentlicher Wettbewerbsvorteil. Wir zeigen in diesem Vortrag eine Werkzeugkette, mit der Continuous Delivery nicht nur für Cloud-native Anwendungen, sondern auch auf Cloud-nativer Infrastruktur möglich ist. Ganz im Gedanken von „Everything is Code“ betrachten wir dabei nicht nur das Bauen und Testen von Software, sondern auch die Automatisierung der Infrastrukturbereitstellung, der Deployments und Roll-outs. Dabei treffen alte Bekannte (z.B. Jenkins, SonarQube) auf Cloud-Computing-Technologien wie z.B. Docker für Betriebssystemvirtualisierung und DC/OS für das Clustermanagement.
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenRalf Eggert
Überall hören Sie von den neuen Möglichkeiten, die Ihnen die modernen PHP-Frameworks und -Tools bieten können, doch Sie müssen immer noch an einer trägen und veralteten Legacy-Anwendung arbeiten? Ein kompletter Relaunch kommt aus Kostengründen und aufgrund stetig zu implementierender Features nicht in Frage? Mit dem Microframework Expressive können Sie beides vereinen. Sie können ein modernes und leichtgewichtiges Framework einsetzen und parallel dazu Ihre Legacy-Anwendung betreiben. Damit schaffen Sie die Grundlage, um Ihre Anwendung schrittweise zu modernisieren und damit wettbewerbsfähig zu bleiben.
Die Migration älterer Projekte zum neuen Zend Framework 3 will wohlgeplant sein; statt Aktionismus ist eine solide Vorbereitung essentiell. Wie komplex die Migration zum ZF3 ist, hängt stark von dem zu migrierenden Projekt ab: Läuft Ihre Anwendung bereits auf aktuellsten Zend Framework 2-Komponenten, kann die Migration deutlich schneller verlaufen als bei einem älteren Zend Framework 1 Projekt.
In dieser Präsentation erfahren Sie, welche wesentlichen Änderungen das ZF3 mit sich bringt und wie Sie eine Migration sinnvoll angehen sollten. Dabei beleuchtet Ralf Eggert dank seiner langjährigen Projekterfahrung verschiedene Szenarien. Zusätzlich bekommen Sie einige Checklisten an die Hand mit dem Ziel, Ihre Migration optimal vorbereiten zu können.
„Bekommen Sie Ihre SQL Datenbank unter Kontrolle”
Ein Großteil des existierenden .NET Codes steht unter Quellcodeverwaltung und bereits heute verwenden viele Anwendungsentwickler irgendeine Form von Continuous Integration. Die Datenbankentwickler hängen an dieser Stelle leider ein wenig hinterher. Dabei sind gerade die Daten das Herzstück einer Anwendung und Änderungen an Datenbankstrukturen daher besonders komplex. Der erste Schritt um eine Verbesserung herbeizuführen ist es, die Datenbank ebenfalls unter Quellcodeverwaltung zu stellen. Das erleichtert nicht nur die Zusammenarbeit mit anderen Teammitgliedern und ermöglicht ein einfacheres Deployment, sondern es bildet auch die Grundlage für Continuous Integration, sowie automatisiertes Testing.
Dieser User-Group Abend zeigt:
* wie man seine SQL Datenbank genauso einfach in die Quellcodeverwaltung bringt wie .NET Code
* wie man seine Datenbank direkt aus der Quellcodeverwaltung heraus deployen kann und
* wie man einen ersten Schritt in Richtung Continous Integration machen kann
Jeder redet von Continuous Delivery, aber was macht eine gute Development-, Testing- und Delivery-Pipeline aus? Diese Session soll zeigen, welche Schritte nötig sind, um das Ziel Continuous Delivery zu erreichen. Neben Themen wie Update- und Roll-out-Strategie werden ebenso Crash Reports und Analytics-Möglichkeiten beleuchtet.
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
ECN Summit 2019, München: Workshop von Josef Adersberger (@adersberger, CTO QAware), Helmut Weiss (Beck et al.) und Mario Lohner (Syncier Cloud)
Abstract:
Um eine Anwendungslandschaft in die Zukunft zu führen wird immer deutlicher, dass kein Weg mehr an Cloud Native Plattformen wie Kubernetes vorbei führt. Eine flexiblere Entwicklung, hochfrequente Releases sowie geringere Betriebskosten und eine bessere Skalierbarkeit zählen mit zu den Hauptvorteilen dieser Technologie. Dies erreicht man jedoch nicht durch eine simple Migration der bestehenden Anwendungen in einen Container und einem Betrieb auf Kubernetes.
Im Workshop gliedert sich dabei in drei Teile:
- Migration von IT-Services in die Cloud
- Migration von Anwendungen in die Cloud
- Aufbau einer Kubernetes-Plattform mit Blick auf Day 2
Kubernetes ist so viel mehr als ein Container OrchestriererQAware GmbH
Heise, Mastering Kubernetes 2021,15. Juli 2021, online: Vortrag von Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware)
== Bitte Folien herunterladen, falls sie unscharf sein sollten! =
Abstract:
Wer an Kubernetes denkt, sieht erstmal die Features zur Orchestrierung von Containern auf vielen Hosts. Allerdings kann Kubernetes so viel mehr, was sowohl bei Dev- als auch bei Ops-Aufgaben helfen kann.
In diesem Vortrag werden die Fähigkeiten näher beleuchtet, die sonst ein Schattendasein fristen.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
JCON 2018, Düsseldorf: Vortrag von Mario-Leander Reimer (@LeanderReimer, Cheftechnologe bei QAware)
Abstract:
Jahrzehnte lang haben wir mehr oder weniger erfolgreich monolithische Enterprise Applikationen gebaut. Leider können diese Systeme und deren Betriebsmodelle den hohen Anforderungen moderner Geschäftsmodelle nur noch schwer genügen. Kurze Release-Zyklen, Antifragilität und Hyperscale scheinen unerreichbar zu sein. Was also tun? Muss man diese Systeme alle neu bauen? Das ist sicherlich kein besonders ökonomischer und sinnvoller Weg. Dieser Vortrag zeigt mögliche Wege der Cloud-nativen Evolution von Bestandssystemen und berichtet aus der Praxis.
Enterprise Cloud Native ist das neue NormalQAware GmbH
SE-Couch Meetup, Februar 2020, München: Vortrag von Mario-Leander Reimer (@LeanderReimer, Technischer Geschäftsbereichsleiter bei QAware)
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Abstract: Leander erklärt, was hinter dem Begriff Cloud Native wirklich steckt und wie man es verwenden kann, um Software(-Architekturen) für die (Elastic) Cloud zu bauen. Er kennt die aktuellen Trends und Neuerungen im Cloud-native Universum und berichtet darüber, wie er diese in das eigene Unternehmen und seine Projekte trägt.
Making the internet faster HTTP/3 und QUICQAware GmbH
Linux-Stammtisch, Making the internet faster HTTP/3 und QUIC, 27. Juli 2021, online: Vortrag von Franz Wimmer, (@zalintyre, Senior Software Engineer bei QAware)
== Bitte Folien herunterladen, falls sie unscharf sein sollten! =
Abstract:
Mit QUIC und HTTP/3 das Internet beschleunigen. Erfahre mehr über die Entwicklung des WWW, Benchmarks und die Implementierung von HTTP/3.
Continuous Lifecycle / ContainerConf, Februar 2021, online: Vortrag von Benjamin Tokgöz (@benn0rs, Cloud Solution Architect bei Microsoft) & Josef Fuchshuber (@fuchshuber, Director of Quality, Productivity & Innovation bei bei QAware)
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Abstract: Status quo: Chaos Engineering
Die Prinzipien des Chaos Engineering sind nicht neu. Beim Chaos Engineering werden Experimente am „lebenden System” durchgeführt. Es werden Ausfälle absichtlich herbeigerufen oder Systeme in widrigste Umstände gebracht. Immer mit dem Ziel Schwachstellen zu finden, frühzeitig zu beheben und dadurch stabilere Systeme und Vertrauen in das System zu bekommen.
Durch den Einzug von Microservice-Architekturen und die damit verbundene Vervielfältigung des Verteilungsgrades hat sich die Daseinsberechtigung für Chaos Engineering dramatisch erhöht. Denn die Komplexität des Runtime-Layers kann bei Microservice-Architekturen sehr schnell ins Unermessliche führen.
Dieser Talk führt in die Prinzipien des Chaos Engineering ein und zeigt den aktuellen Stand der Werkzeuge mit denen Experimente an Cloud-Native-Plattformen und -Applikationen durchgeführt werden können.
Dataservices - Data Processing mit MicroservicesQAware GmbH
IT-Tage 2018, Frankfurt: Vortrag von Mario-Leander Reimer (@LeanderReimer, Cheftechnologe bei QAware)
=== Dokument bitte herunterladen für bessere Lesbarkeit! ===
Abstract: Data Processing und Microservices sind ein perfektes Gespann. In dieser Kombination können Microservices dazu verwendet werden, ein flexibles, Event-getriebenes und skalierbares System von lose gekoppelten Datenverarbeitungsaufgaben aufzubauen. Diesen Ansatz nennen wir Dataservices.
In diesem Vortrag stellen wir zunächst die wesentlichen Konzepte und einige Schlüsseltechnologien vor, um Dataservice-Architekturen zu realisieren. Anschließend werden wir die einzelnen Bestandteile einer exemplarischen Datenverarbeitungs-Pipeline schrittweise komponieren und die Showcase-Pipeline in der Cloud zur Ausführung bringen und skalieren.
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?punkt.de GmbH
Mit Hilfe von Layout-Testing kann das Design von Webanwendungen wie Webseiten dauerhaft überprüft werden. Talk von Christiane Helmchen und Bianca Niestroj auf der Developer Week in Nürnberg. #dwx2016
OpenShift-Build-Pipelines: Build ► Test ► Run!Tobias Schneck
GitHub Repo: https://github.com/toschneck/openshift-example-bakery-ci-pipeline
Stabile und skalierbare Continuous-Integration-Umgebungen sind seit jeher schwer aufzusetzen und zu pflegen. Besonders in Zeiten von Containern und Cloud-Native-Apps, wird der nächste Schritt hin zur voll-automatisierten Build-Pipeline eingefordert. Sowohl der Aufbau des automatisierten Deployments als auch die Ausführung von automatisierten Integration- und UI-Tests stellen die DevOps-Teams vor neue Hürden. Einen eleganten Ausweg bieten Container-basierte CI/CD-Umgebungen, die dynamisch zum Build-Zeitpunkt bereitgestellt werden. An diesen Punkt setzt die Open-Source-Container-Plattform "OpenShift" an. Durch den Infrastructure-as-Code-Ansatz wird sowohl der CI-Server als auch der komplette Build-Lifecycle vom Bau der Artefakte bis zum Testen der Anwendung in den Container-Cluster verschoben.
Der Talk zeigt auf wo die Unterschiede von OpenShift zur Kubernetes-API liegen, wie durch Jenkins-Build-Pipelines Artefakte gebaut, in Docker Images verpackt, getestet und deployed werden können. In mehreren Live-Demos wird aufgezeigt, wie mit geschickten Einsatz von Open-Source-Tools sowohl Server-APIs als auch grafische Web- und Rich-Client-Oberflächen in Container-Clustern als Black-Box getestet werden können. Eine abschließende, kritische Bewertung der gesammelten Erfahrungen, zeigt wo das Potenzial dieses Ansatz liegt, aber auch welche Fallstricke derzeit (noch) zu meistern sind.
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsStephan Kaps
Continuous Delivery (CD) ist in aller Munde. Zu Recht, doch wollen wir unsere Software kontinuierlich ausliefern, müssen wir auch kontinuierlich Sicherheitstests durchführen.
Continuous Security Testing bedeutet, statische und dynamische Analysen bereits während der Entwicklung durchzuführen, um frühzeitig und regelmäßig Sicherheitsmaßnahmen umzusetzen, bevor manuelle Prüfungen wie Penetrationstests zum Einsatz kommen. Um eine Anwendung bereits während der Entwicklung auf das Vorhandensein sicherheitskritischer Schwachstellen hin überprüfen zu können, ist eine Integration in den Entwicklungsprozess und somit eine kontinuierliche und am besten automatisierte Prüfung notwendig.
Der Vortrag stellt die praktischen Erfahrungen aus einem Projekt vor, bei dem Sicherheitsrichtlinien (Secure Coding Guide) für die eigene Entwicklung von Java-Webanwendungen aufgestellt und Sicherheitstests in den Softwareentwicklungsprozess integriert wurden. Dabei wird auf die organisatorischen, inhaltlichen und technischen Überlegungen eingegangen.
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
JAX 2017, Mainz: Vortrag von Josef Fuchshuber (@fuchshuber, Cheftechnologe bei QAware) und Tobias Placht (@knacht, Software Ingenieur bei QAware).
Abstract: Wie oft kannst du ein neues Feature releasen? Jede Woche? Jeden Tag? Jede Stunde? Continuous Delivery ist einer der wesentlichen Treiber, warum wir Cloud-native Anwendung bauen. Für Software-driven Organisationen ist das der Schlüssel für eine sicherere, stabilere Software bei minimiertem Risiko und kurzen Feedbackschleifen. Die Herausforderung dabei ist, aus jeder Codeänderung möglichst schnell eine lauffähige und gründlich getestete Software zu machen. Das ist für viele Firmen ein wesentlicher Wettbewerbsvorteil. Wir zeigen in diesem Vortrag eine Werkzeugkette, mit der Continuous Delivery nicht nur für Cloud-native Anwendungen, sondern auch auf Cloud-nativer Infrastruktur möglich ist. Ganz im Gedanken von „Everything is Code“ betrachten wir dabei nicht nur das Bauen und Testen von Software, sondern auch die Automatisierung der Infrastrukturbereitstellung, der Deployments und Roll-outs. Dabei treffen alte Bekannte (z.B. Jenkins, SonarQube) auf Cloud-Computing-Technologien wie z.B. Docker für Betriebssystemvirtualisierung und DC/OS für das Clustermanagement.
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenRalf Eggert
Überall hören Sie von den neuen Möglichkeiten, die Ihnen die modernen PHP-Frameworks und -Tools bieten können, doch Sie müssen immer noch an einer trägen und veralteten Legacy-Anwendung arbeiten? Ein kompletter Relaunch kommt aus Kostengründen und aufgrund stetig zu implementierender Features nicht in Frage? Mit dem Microframework Expressive können Sie beides vereinen. Sie können ein modernes und leichtgewichtiges Framework einsetzen und parallel dazu Ihre Legacy-Anwendung betreiben. Damit schaffen Sie die Grundlage, um Ihre Anwendung schrittweise zu modernisieren und damit wettbewerbsfähig zu bleiben.
Die Migration älterer Projekte zum neuen Zend Framework 3 will wohlgeplant sein; statt Aktionismus ist eine solide Vorbereitung essentiell. Wie komplex die Migration zum ZF3 ist, hängt stark von dem zu migrierenden Projekt ab: Läuft Ihre Anwendung bereits auf aktuellsten Zend Framework 2-Komponenten, kann die Migration deutlich schneller verlaufen als bei einem älteren Zend Framework 1 Projekt.
In dieser Präsentation erfahren Sie, welche wesentlichen Änderungen das ZF3 mit sich bringt und wie Sie eine Migration sinnvoll angehen sollten. Dabei beleuchtet Ralf Eggert dank seiner langjährigen Projekterfahrung verschiedene Szenarien. Zusätzlich bekommen Sie einige Checklisten an die Hand mit dem Ziel, Ihre Migration optimal vorbereiten zu können.
„Bekommen Sie Ihre SQL Datenbank unter Kontrolle”
Ein Großteil des existierenden .NET Codes steht unter Quellcodeverwaltung und bereits heute verwenden viele Anwendungsentwickler irgendeine Form von Continuous Integration. Die Datenbankentwickler hängen an dieser Stelle leider ein wenig hinterher. Dabei sind gerade die Daten das Herzstück einer Anwendung und Änderungen an Datenbankstrukturen daher besonders komplex. Der erste Schritt um eine Verbesserung herbeizuführen ist es, die Datenbank ebenfalls unter Quellcodeverwaltung zu stellen. Das erleichtert nicht nur die Zusammenarbeit mit anderen Teammitgliedern und ermöglicht ein einfacheres Deployment, sondern es bildet auch die Grundlage für Continuous Integration, sowie automatisiertes Testing.
Dieser User-Group Abend zeigt:
* wie man seine SQL Datenbank genauso einfach in die Quellcodeverwaltung bringt wie .NET Code
* wie man seine Datenbank direkt aus der Quellcodeverwaltung heraus deployen kann und
* wie man einen ersten Schritt in Richtung Continous Integration machen kann
Jeder redet von Continuous Delivery, aber was macht eine gute Development-, Testing- und Delivery-Pipeline aus? Diese Session soll zeigen, welche Schritte nötig sind, um das Ziel Continuous Delivery zu erreichen. Neben Themen wie Update- und Roll-out-Strategie werden ebenso Crash Reports und Analytics-Möglichkeiten beleuchtet.
Applikationsmodernisierung: Der Weg von Legacy in die CloudAarno Aukia
Stell Dir vor: Du willst einen 6000er besteigen. Eine gute Vorbereitung, gutes Material und professionelles Wissen sind dabei unabdingbar.
Du schnappst Dir einen Berg-Guide, der Dich bei schwierigen Passagen unterstützt und Dir das passende Know-How weitergibt. Das schwere Material kannst Du auf ein Team aufteilen, das genau weiss, welche Pakete Du am sinnvollsten schnürst. Sie zeigen Dir zudem, welchen unnötigen Ballast Du abwerfen kannst.
Am Ende stehst Du am Ziel – Dich erwartet ein grossartiges Resultat und die Zufriedenheit des Vollbrachten.
Genau so fühlt sich die Reise Deiner Legacy Applikation an.
Im Webinar zeigen Dir die drei Partnerfirmen Object Engineering, Puzzle und VSHN, wie Du Deine Applikationen fit hältst. Dabei geben sie Dir einen Einblick, wie Experten die Applikationen analysieren, aufpeppen und den Betrieb sicherstellen können.
Der Iterations-Zylus, in dem Software-Entwickler arbeiten, hat sich in den letzten Jahren schrittweise erweitert: Entwicklung, Entwickler-Test, Integration, Akzeptanz-Test, Deployment, Delivery. Zur DevOps-Kultur gehört die Bewältigung dieser Schritte im Entwickler-Team.
Dies sind die Folien zu meinem Vortrag "Continuous Delivery - Aber Sicher?!" auf dem DevDay 2016 in Dresden.
Für kurze Entwicklungszyklen bei gleichbleibend hoher Qualität sind Continuous Integration und sinnvollerweise Continuous Delivery heutzutage wichtige Hilfsmittel.
Im Vortrag zeigte ich wie wir in einem relativ großen sicherheitsrelevanten Projekt damit umgehen, kontinuierlich Entwicklungs- und Testumgebungen bereitzustellen und dabei ein hohes Sicherheitsniveau gewährleisten können.
Dabei geht es technologisch um Jenkins, Puppet, den Umgang mit Zertifikaten und Keystores, die Umsetzung von Berechtigungen auf Betriebssystem- und Datenbankebene und daran angrenzende Themen gehen.
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!DevDay Dresden
Für kurze Entwicklungszyklen bei gleichbleibend hoher Qualität sind Continuous-Integration und sinnvollerweise Continuous Delivery heutzutage wichtige Hilfsmittel.
Im Vortrag wurde gezeigt, wie in einem relativ großen sicherheitsrelevanten Projekt damit umgegangen wird, kontinuierlich Entwicklungs- und Testumgebungen bereitzustellen und dabei ein hohes Sicherheitsniveau gewährleisten zu können.
Dabei ging es technologisch um Jenkins, Puppet, den Umgang mit Zertifikaten und Keystores, die Umsetzung von Berechtigungen auf Betriebssystem- und Datenbankebene sowie daran angrenzende Themen.
Vortragsreihe Dortmund: Unified Development EnvironmentsThorsten Kamann
Große Entwicklungsabteilungen stehen oft vor dem Problem einheitlicher Entwicklungsprozesse und Werkzeuge. Nach einiger Zeit hat jedes Projekt eigene Prozesse und Werkzeuge etabliert. Dies ist nicht im Sinne der Entwicklungsabteilung. Softwaresysteme müssen i. d. R. über Jahre hinweg gewartet und erweitert werden - oft von einem Team, das sich neu in die Anwendung einarbeiten muss.
Nicht selten stellt die Rekonstruktion der Entwicklungsumgebung einen erheblichen Aufwand dar.
Dieser Vortrag beschreibt - anhand eines Erfahrungsberichts - den Aufbau einer strukturierten Entwicklungsumgebung, die auch für grosse Entwicklungsabteilungen skaliert.
- Zentrale Projekt- und Codeverwaltung (ähnlich wie Sourceforge)
- Buildmanagement mit Maven
- Entwicklungswerkzeuge basierend auf Maven und Eclipse
- Installierbare Teamserver mit Virtualisierungstechnologie für Continuous Integration
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
Mittlerweile haben sich im VS-Umfeld immer mehr Nicht-MSTest-Testframeworks etabliert. Im Vortrag wollen wir auf mögliche Alternativen zu MSTest und Coded UI eingehen (z. B. Selenium, Ranorex, Protractor, …). Es geht dabei um Vor-/Nachteile, sinnvolle Szenarien und wie man es geschickt in die TFS-Werkzeugwelt integriert. Das Ziel ist dabei, das Beste aus beiden Welten zu bekommen
Cloud-Native Plattformen - Produktivitäts-Boost oder nur Hype?
Die Welt wird immer komplexer und die Anforderungen an die IT immer höher. Können moderne Cloud-Native Plattformen dabei unterstützen? Lasst uns besser verstehen mit welchen Problemen IT-Organisationen kämpfen und wie man sich dazu besser aufstellen kann.
Die Nefos Mobile iPad App ermöglicht jederzeit und überall Zugriff auf relevante Kundeninformationen aus Salesforce, optimierte Verkaufsprozesse und einen transparenten Vertrieb. Nefos verfügt über Technologie, Frameworks, Know-how und Erfahrung, um eine auf Ihre Anforderungen abgestimmte iPad-Applikation zu erstellen – und dies rasch, zuverlässig und kostengünstig. So hat z. B. Koenig & Bauer mithilfe von Nefos erfolgreich einen global einheitlichen Verkaufsprozess eingeführt.
2. Stephan Kaps
Leiter Softwareentwicklung Bundesamt für Soziale Sicherung
Gründer Java User Group Bonn
Java Entwickler & Architekt seit 2002
Weitere Schwerpunkte:
✘ Softwareentwicklungsprozesse
✘ BizDevSecOps
✘ OpenSource
✘ Speaker & Autor
@kitenco1
4. Release Anti-Pattern
✘ Software manuell deployen
✘ In der Staging- oder Test-Umgebung wird erst nach Ende der
Entwicklung deployed
✘ Manuelle Konfiguration der Produktionsumgebung
@kitenco1
5. Geht es besser?
Releases sollen "langweilig" werden. Dafür sind gewisse Prinzipien,
Praktiken und Techniken notwendig.
Releases sollten mit geringem Risiko, häufig, verlässlich, günstig
und rapide erfolgen können.
@kitenco1
13. Vorteile
✘ Build & Checks bei jedem Commit
✘ Jederzeit auslieferbare Software
✘ Fail fast / Fast Feedback
✘ Gestiegene Qualität & Vertrauen
@kitenco1
14. Anforderungen an CI
✘ Version Control
✘ CI-Server
✘ Artifact Repository
✘ Automated Tests
✘ Security Testing (SAST & DAST)
✘ Trunk-Based-Development
✘ Team Agreement
@kitenco1
15. Notwendige Praktiken
✘ Nicht einchecken in einen Broken Build
✘ Alle commit Tests vor dem Einchecken ausführen, entweder lokal oder durch den
CI-Server (erst den aktuellen Stand auschecken und Build und Tests durchlaufen)
✘ Bevor man weitermacht, auf den fertigen erfolgreichen Commit Test warten
✘ Niemals nach Hause gehen, wenn der Build broken ist
✘ Immer vorbereitet sein, auf die letzte Version zurückzugehen
✘ Time-Box-Fixing (10 Minuten?) Versuch das Problem zu lösen, sonst wird auf die
letzte Version zurückgegangen
✘ Fehlgeschlagene Tests nicht auskommentieren
✘ Verantwortung für fehlgeschlagene Builds und Tests übernehmen, d.h. auch Tests
anderer anpassen, wenn sie durch die eigene Änderung nicht mehr funktionieren
✘ Test-driven Development
@kitenco1
16. Empfohlene Praktiken
✘ Extreme Programming Development Practices
✘ Den Build fehlschlagen lassen
○ bei Architektur Verstößen
○ Bei zu langsamen Tests
○ Bei Code Style Verstößen
@kitenco1
18. Vorteile
✘ Release faster and more often
✘ Minimize risk
✘ Fast Feedback
✘ Increase trust in deployment process
✘ Faster project setup
✘ Increase transparency
@kitenco1
19. Anforderungen für CD
✘ wie für CI
✘ Entwickle (gescriptete) Delivery Pipelines
✘ Automatisierte Datenbank Änderungen
✘ Unified Deployment
✘ Evtl. organisatorische oder kulturelle Herausforderungen
@kitenco1
21. Wann nehme ich was?
FLYWAY
- gut für interne Anwendungen mit
gleicher DB Technologie
LIQUIBASE
- gut für Produkte, die beim Kunden auf
unterschiedlichen Datenbanken
betrieben werden können müssen
@kitenco1
26. Continuous-Delivery-Kompetenzen
1. Verwenden Sie eine Versionsverwaltung für
alle Produktionsartefakte
2. Automatisieren Sie Ihren Deployment-Prozess
3. Implementieren Sie Continuous Integration
4. Nutzen Sie trunk-basierte Entwicklungsmethoden
5. Implementieren Sie Testautomatisierung
6. Unterstützen Sie Testdatenmanagement
7. Integration von Security in den
Softwareentwicklungsprozess (DevSecOps)
8. Continuous Delivery implementieren
@kitenco1
27. But what about long running
changes or refactorings?
@kitenco1
33. Vorteile
✘ eine Migration kann angehalten werden, aber der Build
bleibt grün
✘ beide Implementierungen können parallel existieren und
können somit getestet werden
@kitenco1
49. Container Security Risks
✘ foreign containers from unknown sources
✘ manipulated Images (maybe with Malware)
✘ containers with known vulnerabilities
@kitenco1
50. Container Security Guide
✘ use only official or signed images
✘ implement Content Trust
✘ do Vulnerability Scans
✘ use a trusted Container Registry (Harbor Project)
✘ follow Container Security Verification Standard
@kitenco1
57. “Stellen Sie sicher, dass Geheimnisse
(z. B. kryptografische Schlüssel und
Kennwörter) sicher mit einer Secret
Management Lösung verwendet
werden, anstatt z.B. unter
Verwendung von
Umgebungsvariablen einem
Container bereitgestellt werden.
@kitenco1
58. Container Security Verification Standard (CSVS)
- OWASP OpenSource Projekt
- Als ausführliche Anleitung zur Sicherheitsarchitektur
- Als Ersatz für handelsübliche Checklisten
- Für Sicherheitstrainings
- drei Stufen, die man als Beginner, Fortgeschritten und Expertenlevel
beschreiben könnte
- Insgesamt 106 Empfehlungen, unterteilt in 12 Kategorien
@kitenco1