SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
CONTINOUS DELIVERY
Aber sicher?!
DevDay 2016 -- Dresden, 12.04.2016
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 1
Jan Dittberner
T-Systems Multimedia Solutions GmbH
▶ Softwarearchitekt
▶ Themen: Linux, PKI, Automatisierung, …
▶ Debian Developer
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 2
Continous Delivery
Entwicklungsumgebungen
Nachvollziehbare Deployments
Security-Aspekte
Fazit
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 3
CONTINOUS DELIVERY
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 4
CONTINOUS DELIVERY
WARUM?
▶ Features schneller beim Anwender
▶ schnelles Feedback
▶ Qualitätssteigerung
▶ mehr
”
Denkarbeit“ statt langweiliger Routine
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 5
CONTINOUS DELIVERY
AUTOMATISIERUNG
▶ Softwarebuild
▶ Unit-, Acceptance-, Integration-, Performance-, …-Test
▶ Umgebungsbereitstellung (Provisionierung)
▶ Deployment
▶ Lieferprozesse
▶ Dokumentation
▶ Monitoring/Reporting
▶ …alles was sonst noch Routine sein sollte
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 6
ENTWICKLUNGSUMGEBUNGEN
SYSTEMKONTEXT
Datenbank
Filesystem
Scheduler
Webservice
WebappHTTP-ProxyLoad-Balancer
Spooler
SMTP-MTASMTP-Proxy
DNS-Server
Abbildung: vereinfachtes Architekturbild
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 7
ENTWICKLUNGSUMGEBUNGEN
PUPPET
https://puppetlabs.com
▶ Tool für Configuration Management
▶ Infrastruktur wird als Code beschrieben (Puppet DSL,
YAML, Ruby)
▶ neue Maschinen können innerhalb weniger Minuten
nachvollziehbar eingerichtet werden
▶ kann auch mit anderen Tools realisiert werden (Beispiel
cfengine, Saltstack, Ansible, …)
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 8
ENTWICKLUNGSUMGEBUNGEN
PACKER UND VAGRANT
https://www.packer.io
https://www.vagrantup.com
▶ Mit Packer kann man sauber definierte Basisimages
erstellen
▶ Vagrant steuert (lokale) VMs über eine textuelle
Beschreibung
▶ dadurch können Entwickler mit einem produktionsnahen
OS arbeiten
▶ gleicher Puppet-Code für lokale und andere Umgebungen
▶ lokaler Test von Deployments möglich
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 9
ENTWICKLUNGSUMGEBUNGEN
SECURITY
Auch Sicherheitsfunktionalität sollte produktionsnah umgesetzt sein:
möglichst gleiche Einstellungen, Schlüssellängen, Algorithmen, …auch in Entwicklungs- und
Testumgebungen
so nicht
Quelle: starecat.com
so auch nicht …sondern so
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 10
NACHVOLLZIEHBARE DEPLOYMENTS
DEPLOYMENTS
▶ … müssen nachvollziehbar sein und zur Software
passen
▶ … müssen getestet werden
▶ auch Änderungen an der Persistenzschicht (z.B.
Datenbankänderungen) gehören dazu
▶ … und natürlich Konfigurationsdaten
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 11
NACHVOLLZIEHBARE DEPLOYMENTS
JENKINS
▶ Software übersetzen, paketieren, automatisch testen mit
Maven oder anderem Build-Tool
▶ Konfiguration der Software vor dem Deployment
▶ Ausführen von Datenbankmigrationen (bei uns mit
Liquibase)
▶ Deployment auf Entwicklungs- und Testumgebungen
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 12
NACHVOLLZIEHBARE DEPLOYMENTS
METADATEN
Information welcher Softwarestand,
in welcher Konfiguration, wo deployt ist
▶ benötigt für Testaussagen
▶ benötigt für Monitoring
▶ beim Build werden Versionen in definierte Dateien
geschrieben
▶ beim Deployment werden daraus Custom Facts für Puppet
und Wiki-Seiten
▶ von Puppet in PuppetDB übertragen
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 13
NACHVOLLZIEHBARE DEPLOYMENTS
MONITORING
▶ Auch für Entwicklungs- und Testsysteme nützlich
▶ Vermeiden von
”
Blindflug“, Früherkennung von
Problemen
▶ Üben für den Wirkbetrieb
▶ um manuelle Einrichtung zu vermeiden registrieren
sich unsere Maschinen beim Puppetlauf selbst fürs
Monitoring durch Icinga2
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 14
SECURITY-ASPEKTE
VERSCHLÜSSELUNG VON CREDENTIALS
▶ betriebliche Anforderung: keine Klartextpasswörter
on Disk
▶ Lösungen:
▶ Jasypt
▶ Wildfly-Vault (Applikationsserver-spezifischer
Mechanismus)
▶ Encrypted Tablespaces in Datenbank
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 15
SECURITY-ASPEKTE
VERSCHLÜSSELUNG VON CREDENTIALS
Jasypt
http://www.jasypt.org/
▶ Verschlüsselung von Properties, Texten oder ganzen
Dateien mit Standard-Algorithmen
▶ einfach integrierbar mit Spring, Hibernate und
anderen Java-Frameworks
▶ Verschlüsselung passiert bei uns während der
Deploymentkonfiguration
▶ Entschlüsselung beim Applikationsstart/ zur Laufzeit
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 16
SECURITY-ASPEKTE
ZERTIFIKATE
▶ Anforderung: Alle Netzwerkverbindungen müssen
TLS-verschlüsselt sein
▶ Herausforderung: mehrere hundert gültige Zertifikate
in unterschiedlichsten Keystore-Formaten benötigt
▶ Lösung:
▶ Projekt-CA inkl. OCSP-Responder für Entwicklung
und Test (aktuell auf Basis von OpenSSL)
▶ Maven-Plugins für Erzeugung von Signing-Request
und Keystore-Formaten
▶ Jenkins-Jobs für Steuerung der CA, Erzeugung von
umgebungsspezifischen Keystores und Checks auf
Zertifikatsablauf
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 17
SECURITY-ASPEKTE
ZUGRIFF AUF MASCHINEN
▶ dedizierte Applikationsnutzer
▶ zentrale Verwaltung von SSH-Keys (SKM)
▶ Verteilung des SKM-Master-Keys per Puppet
▶ kein Zugriff auf Produktionsmaschinen für
Entwicklungs-/Testteam
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 18
SECURITY-ASPEKTE
ABSICHERUNG DER (ORACLE-)DATENBANK
▶ Encrypted Tablespaces
▶ Database Vault
▶ ermöglicht Vier-Augen-Prinzip für
Datenbankänderungen
▶ verhindert Datenzugriff auch für DBAs
▶ zu beachten bei Datenbankmigrationen
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 19
SECURITY-ASPEKTE
ABSICHERUNG VON DEPLOYMENTS
▶ unkonfigurierte Lieferartefakte
▶ Konfigurationsdateien nur als Templates in der
Lieferung
▶ Konfigurationsdaten liegen in getrennten
Repositories
▶ Konfiguration findet auf separaten Maschinen statt
▶ Deployment per Key-Based SSH
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 20
FAZIT
▶ Continuos Delivery ist sinnvoll – auch für
sicherheitsrelevante Projekte
▶ Entwicklungs- und Testumgebungen so
wirkbetriebsnah wie möglich
▶ Alles automatisieren – auch Security-Aspekte
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 21
KONTAKT
Jan Dittberner
T-Systems Multimedia Solutions GmbH
Mail: jan.dittberner@t-systems.com
Twitter: @jandd
https://coffeestats.org/
Jan Dittberner DevDay 2016 – Dresden, 12.04.2016 22

Mais conteúdo relacionado

Mais procurados

Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
s0enke
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
René Winkelmeyer
 

Mais procurados (20)

Arquillian
ArquillianArquillian
Arquillian
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenContinuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
 
Tipps und Tricks im Umgang mit Docker
Tipps und Tricks im Umgang mit DockerTipps und Tricks im Umgang mit Docker
Tipps und Tricks im Umgang mit Docker
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
 
Build Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessBuild Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build Prozess
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3
 
In den sicheren Hafen jax2020
In den sicheren Hafen jax2020In den sicheren Hafen jax2020
In den sicheren Hafen jax2020
 
Robustes Testen mit Selenium
Robustes Testen mit SeleniumRobustes Testen mit Selenium
Robustes Testen mit Selenium
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes sein
 
Deploy Magento Shops with Capistrano v3
Deploy Magento Shops with Capistrano  v3Deploy Magento Shops with Capistrano  v3
Deploy Magento Shops with Capistrano v3
 
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsDevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
 
Vagrant
VagrantVagrant
Vagrant
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
Einstieg in das Windows Installer XML (WiX) ToolSet
Einstieg in das Windows Installer XML (WiX) ToolSetEinstieg in das Windows Installer XML (WiX) ToolSet
Einstieg in das Windows Installer XML (WiX) ToolSet
 
JAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascript
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
PHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware ImagesPHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware Images
 
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sKontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
 

Destaque

Destaque (7)

DevDay 2016: Adam Bien - Eine sprachneutrale Essenz der Microservices
DevDay 2016: Adam Bien - Eine sprachneutrale Essenz der MicroservicesDevDay 2016: Adam Bien - Eine sprachneutrale Essenz der Microservices
DevDay 2016: Adam Bien - Eine sprachneutrale Essenz der Microservices
 
DevDay 2016: Thomas Haase - Sicherheit der Dinge, Hacking im Internet of Things
DevDay 2016: Thomas Haase - Sicherheit der Dinge, Hacking im Internet of ThingsDevDay 2016: Thomas Haase - Sicherheit der Dinge, Hacking im Internet of Things
DevDay 2016: Thomas Haase - Sicherheit der Dinge, Hacking im Internet of Things
 
DevDay 2016: Frank Lamack, Denis Loh - Mixing Up Realities – Mit AR, VR, AV z...
DevDay 2016: Frank Lamack, Denis Loh - Mixing Up Realities – Mit AR, VR, AV z...DevDay 2016: Frank Lamack, Denis Loh - Mixing Up Realities – Mit AR, VR, AV z...
DevDay 2016: Frank Lamack, Denis Loh - Mixing Up Realities – Mit AR, VR, AV z...
 
DevDay 2016: Artur Speth - DevOps - Microsoft Developer Divisions Weg ins näc...
DevDay 2016: Artur Speth - DevOps - Microsoft Developer Divisions Weg ins näc...DevDay 2016: Artur Speth - DevOps - Microsoft Developer Divisions Weg ins näc...
DevDay 2016: Artur Speth - DevOps - Microsoft Developer Divisions Weg ins näc...
 
DevDay 2016: Dave Farley - The Rationale for Continuous Delivery
DevDay 2016: Dave Farley - The Rationale for Continuous DeliveryDevDay 2016: Dave Farley - The Rationale for Continuous Delivery
DevDay 2016: Dave Farley - The Rationale for Continuous Delivery
 
DevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoC
DevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoCDevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoC
DevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoC
 
DevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous deliveryDevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous delivery
 

Semelhante a DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!

Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
Steven Grzbielok
 

Semelhante a DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?! (20)

DevSecOps .pptx
DevSecOps .pptxDevSecOps .pptx
DevSecOps .pptx
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Oracle AVDF in der Praxis
Oracle AVDF in der PraxisOracle AVDF in der Praxis
Oracle AVDF in der Praxis
 
Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment Roadmap
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
Dev Day Stephan Pirnbaum.pdf
Dev Day Stephan Pirnbaum.pdfDev Day Stephan Pirnbaum.pdf
Dev Day Stephan Pirnbaum.pdf
 
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
 
Akzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene ProduktentwicklungAkzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene Produktentwicklung
 
Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development Environments
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
Middleware Basics für den DBA
Middleware Basics für den DBAMiddleware Basics für den DBA
Middleware Basics für den DBA
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
 
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
 
070-685 Zertifizierungsprüfung deutsch
070-685 Zertifizierungsprüfung deutsch070-685 Zertifizierungsprüfung deutsch
070-685 Zertifizierungsprüfung deutsch
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
 
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
Icinga 2: Integration von Graphite (Webinar vom 25.09.2014)
Icinga 2: Integration von Graphite (Webinar vom 25.09.2014)Icinga 2: Integration von Graphite (Webinar vom 25.09.2014)
Icinga 2: Integration von Graphite (Webinar vom 25.09.2014)
 

Mais de DevDay Dresden

Mais de DevDay Dresden (20)

The Architecture of Uncertainty - Kevlin Henney
The Architecture of Uncertainty - Kevlin HenneyThe Architecture of Uncertainty - Kevlin Henney
The Architecture of Uncertainty - Kevlin Henney
 
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
 
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-ProjektenTobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
 
Andreas Roth - GraphQL erfolgreich im Backend einsetzen
Andreas Roth - GraphQL erfolgreich im Backend einsetzenAndreas Roth - GraphQL erfolgreich im Backend einsetzen
Andreas Roth - GraphQL erfolgreich im Backend einsetzen
 
Alexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for DevelopersAlexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for Developers
 
DevDay 19 Accessibility: Praxistipps für Entwickler
DevDay 19 Accessibility: Praxistipps für EntwicklerDevDay 19 Accessibility: Praxistipps für Entwickler
DevDay 19 Accessibility: Praxistipps für Entwickler
 
Dev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
Dev Day 2019: Phillip Krenn – Aggregierte Logging PatternsDev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
Dev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
 
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
 
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
 
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
 
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
 
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
 
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
 
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
 
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-TeamsDev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
 
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den RadverkehrDev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
 
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
 
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
 
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
 
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
 

DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!