SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Constantin „Kostja“ Klein | Freudenberg IT SE & Co. KG
@KostjaKlein
Software Engineering war nie spannender.
Wer von Ihnen verwendet eine Versionsverwaltung
für den Anwendungscode?
C#, ASP.NET, JavaScript, VB.NET, …
Software Engineering war nie spannender.
Wer von Ihnen verwendet eine Versionsverwaltung
für den DatenbankAnwendungscode?
Software Engineering war nie spannender.
Ebenen des DB Lifecycle Managements
CD
Continuous
Integration
Versionsverwaltung
Manuell
CD = Continuous Delivery/Deployment
Software Engineering war nie spannender.
Versionsverwaltung
Die absolute Grundlage
Software Engineering war nie spannender.
Die Meinung im Internet
Source: http://programmers.stackexchange.com/questions/122150/how-can-i-convince-cowboy-programmers-to-use-source-control
Source: https://www.drupal.org/node/299067
Source: http://www.makeuseof.com/tag/git-version-control-youre-developer/
Software Engineering war nie spannender.
Und für Datenbanken?
Source: http://blog.codinghorror.com/is-your-database-under-version-control/
Software Engineering war nie spannender.
Und auch Microsoft sagt es ;-)
http://msdn.microsoft.com/en-us/library/ms181368.aspx
Software Engineering war nie spannender.
Der beste Grund
Use source control because neither you nor your
team are perfect
Source: http://stackoverflow.com/questions/559332/why-should-my-team-adopt-source-control
Software Engineering war nie spannender.
… und …
If it’s not in source control,
it doesn’t exist.
Source: http://stackoverflow.com/questions/559332/why-should-my-team-adopt-source-control
Software Engineering war nie spannender.
Im Detail
• Backup und Restore
• Synchronisation
• Kurzfristige Chance zur
Rücknahme von Änderungen
• Langfristige Chance zur
Rücknahme von Änderungen
• Change Tracking
• Ownership Tracking
• Unabhängigkeit durch
„Sandboxing“
• Grundlage für Branching und
Merging
Software Engineering war nie spannender.
Version Control – egal wie …
Software Engineering war nie spannender.
Strategien zur Datenbankversionierung
• Upgrade Scripts
• Versionierung durch Abstraction / Versionierung
von Code
• Versionierung von Schema (und Static Data)
Software Engineering war nie spannender.
Upgrade Scripts
Pros
• Audit
• Wiederholbarkeit
• Leichtgewichtiges Deployment
Cons
• Keine State-Historie
• Wiederholung von Änderungen
erforderlich
• Kein Integritätscheck
• Branching und Merging wird schwer
Software Engineering war nie spannender.
Versionierung mit Abstraction
Pros
• Datenbankänderungen werden
automatisch durch Codeänderungen
generiert
• State-Historie und Audit
• Atomic commits
• Tooling und Prozess
• Unter Umständen
plattformunabhängig
Cons
• Grenzen des Frameworks
• Zusätzliche Custom Upgrade Scripts
Software Engineering war nie spannender.
Versionierung von Schema
Pros
• State-Historie und Audit
• Leichtes Branching und Merging
• Einfaches On-Boarding durch
Erstellen neuer Umgebungen
• Gutes Tooling verfügbar
(neben SSDT z.B. SQL Source
Control)
Cons
• Custom Upgrade Scripts
Software Engineering war nie spannender.
DEMO
Redgate SQL Source Control
Software Engineering war nie spannender.
Unit Testing
Natürlich auch für Datenbanken
Software Engineering war nie spannender.
DEMO
TDD mit SSDT
Software Engineering war nie spannender.
Database Unit Testing in SSDT
• Test Initialize/Cleanup Scripts
• Vorbereitung der Umgebung für den Test
• Aufräumen danach
• Pre/Post Test Scripts
• Vorbereitung des eigentlichen Tests
• ggf. Nachbereitung
• Test Script
• Hier steht der Test
Software Engineering war nie spannender.
CI / CD
Continuous Integration oder Continuous Deployment
… jetzt wird automatisiert
Software Engineering war nie spannender.
Wann wird integriert / deployed?
• Immer dann wenn wir uns danach fühlen
• Täglich
• Auf Basis eines Schedules
• Bei jedem Check-In in die Quellcodeverwaltung
Software Engineering war nie spannender.
Zum Integrationszeitpunkt
• Bedeutet mehr Zeit seit der letzten Integration gleichzeitig mehr Fehler
• Mehr Fehler bedeutet mehr Zeit um diese zu lösen
• In dieser Zeit wird aber weiterentwickelt
• Und am Ende wird eventuell nie integriert
Time
Main
New Developer
Software Engineering war nie spannender.
Häufigere Integration
• Bedeutet weniger Probleme die gelöst werden müssen
• Ein Deployment kann immer stattfinden
• Der Code ist bei jedem Entwickler in einem Build-fähigen Zustand
Time
Main
New Developer
Software Engineering war nie spannender.
DEMO
Continuous Integration / Continuous Deployment
Software Engineering war nie spannender.
Vorteile von CI
• CI verhindert das „Works on my machine“ syndrom
• Die Änderungen aller Entwickler kommen in das Deployment und keiner
wird abgehängt
• Tests können kontinuierlich laufen und so im Falle eines Fehlers früher
informieren
• Größere Sichtbarkeit des Projektes
• Das Deployment wird unabhängig von den Entwicklern
• Einfachere Bereitstellung einer Umgebung für ein neues Teammitglied
Software Engineering war nie spannender.
Nachteile Hürden von CI
• Es benötigt Zeit den CI Prozess aufzubauen
• Funktioniert besser mit Tests
• Kurze Buildzeiten helfen – daran kann/muss man arbeiten
• Verletzter Stolz
Software Engineering war nie spannender.
Fragen ???
Software Engineering war nie spannender.
Wrap up
• Versionskontrolle der Datenbank ist die existentielle
Grundlage für professionelle Datenbankentwicklung
• Tooling, Versionierungsstrategie und bevorzugte
Umgebung spielen dabei eine wichtige Rolle
• „If it’s not in source control, it doesn’t exist“
• TDD und CI sind auch für Datenbanken möglich
Software Engineering war nie spannender.
Feedback !!!
Software Engineering war nie spannender.
Speakerinfo: Constantin Klein
Constantin arbeitet bei der Freudenberg IT SE & Co. KG. Dort
beschäftigt er sich mit der Entwicklung von Lösungen auf
Basis der Microsoft Produkte und Technologie Plattformen.
Sein besonderes Interesse gilt dabei der Gewinnung,
Verarbeitung und Nutzung von Daten und Informationen. Er
ist MCSD, MCITP Database Developer und MCPD Web +
Enterprise Application Developer. Seit 2010 wurde er jährlich
von Microsoft zum Most Valuable Professional (MVP) für SQL
Server ernannt. Er engagiert sich zusätzlich im Vorstand des Just
Community e.V. und des PASS Deutschland e.V.. Er leitet
außerdem die .NET User Group Frankfurt.
Sein Blog finden Sie unter
http://kostjaklein.wordpress.com
Software Engineering war nie spannender.
• Jamie Thomson: Continuous deployment of SSDT
database projects
http://tiny.cc/JamieCI
• Andrew Fenna: Introduction to SQL Server Data Tools
http://tiny.cc/AndrewSSDT
Ressourcen
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen Sie Ihre SQL Datenbank unter Kontrolle”

Mais conteúdo relacionado

Mais procurados

Whitebox testing-phpughh
Whitebox testing-phpughhWhitebox testing-phpughh
Whitebox testing-phpughhWebcsonsultsEU
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickUdo Pracht
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneVorname Nachname
 
Objektbasierte Versionierung und Lifecycle Management für den OWB
Objektbasierte Versionierung und Lifecycle Management für den OWBObjektbasierte Versionierung und Lifecycle Management für den OWB
Objektbasierte Versionierung und Lifecycle Management für den OWBMinerva SoftCare GmbH
 

Mais procurados (6)

Whitebox testing-phpughh
Whitebox testing-phpughhWhitebox testing-phpughh
Whitebox testing-phpughh
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
 
Advanced Continuous Integration
Advanced Continuous IntegrationAdvanced Continuous Integration
Advanced Continuous Integration
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der Schiene
 
Objektbasierte Versionierung und Lifecycle Management für den OWB
Objektbasierte Versionierung und Lifecycle Management für den OWBObjektbasierte Versionierung und Lifecycle Management für den OWB
Objektbasierte Versionierung und Lifecycle Management für den OWB
 

Semelhante a 30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen Sie Ihre SQL Datenbank unter Kontrolle”

Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und TestsDaniel Fisher
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice ArchitekturenLeo Lindhorst
 
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 CloudAarno Aukia
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023Johannes Kleinlercher
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
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 K8sQAware GmbH
 
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 VirtualizationGWAVA
 
Continuous Delivery - Aber Sicher?!
Continuous Delivery - Aber Sicher?!Continuous Delivery - Aber Sicher?!
Continuous Delivery - Aber Sicher?!Jan Dittberner
 
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!DevDay Dresden
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareAndreas Schreiber
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsQAware GmbH
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
AG Softwaretechnik
AG SoftwaretechnikAG Softwaretechnik
AG SoftwaretechnikRoland M
 
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsWindows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsFabian Niesen
 

Semelhante a 30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen Sie Ihre SQL Datenbank unter Kontrolle” (20)

Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice Architekturen
 
App-Delivery-Pipeline
App-Delivery-PipelineApp-Delivery-Pipeline
App-Delivery-Pipeline
 
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
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
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
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
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
 
Continuous Delivery - Aber Sicher?!
Continuous Delivery - Aber Sicher?!Continuous Delivery - Aber Sicher?!
Continuous Delivery - Aber Sicher?!
 
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos Engineerings
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
AG Softwaretechnik
AG SoftwaretechnikAG Softwaretechnik
AG Softwaretechnik
 
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsWindows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen Sie Ihre SQL Datenbank unter Kontrolle”

  • 1. Constantin „Kostja“ Klein | Freudenberg IT SE & Co. KG @KostjaKlein
  • 2. Software Engineering war nie spannender. Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode? C#, ASP.NET, JavaScript, VB.NET, …
  • 3. Software Engineering war nie spannender. Wer von Ihnen verwendet eine Versionsverwaltung für den DatenbankAnwendungscode?
  • 4. Software Engineering war nie spannender. Ebenen des DB Lifecycle Managements CD Continuous Integration Versionsverwaltung Manuell CD = Continuous Delivery/Deployment
  • 5. Software Engineering war nie spannender. Versionsverwaltung Die absolute Grundlage
  • 6. Software Engineering war nie spannender. Die Meinung im Internet Source: http://programmers.stackexchange.com/questions/122150/how-can-i-convince-cowboy-programmers-to-use-source-control Source: https://www.drupal.org/node/299067 Source: http://www.makeuseof.com/tag/git-version-control-youre-developer/
  • 7. Software Engineering war nie spannender. Und für Datenbanken? Source: http://blog.codinghorror.com/is-your-database-under-version-control/
  • 8. Software Engineering war nie spannender. Und auch Microsoft sagt es ;-) http://msdn.microsoft.com/en-us/library/ms181368.aspx
  • 9. Software Engineering war nie spannender. Der beste Grund Use source control because neither you nor your team are perfect Source: http://stackoverflow.com/questions/559332/why-should-my-team-adopt-source-control
  • 10. Software Engineering war nie spannender. … und … If it’s not in source control, it doesn’t exist. Source: http://stackoverflow.com/questions/559332/why-should-my-team-adopt-source-control
  • 11. Software Engineering war nie spannender. Im Detail • Backup und Restore • Synchronisation • Kurzfristige Chance zur Rücknahme von Änderungen • Langfristige Chance zur Rücknahme von Änderungen • Change Tracking • Ownership Tracking • Unabhängigkeit durch „Sandboxing“ • Grundlage für Branching und Merging
  • 12. Software Engineering war nie spannender. Version Control – egal wie …
  • 13. Software Engineering war nie spannender. Strategien zur Datenbankversionierung • Upgrade Scripts • Versionierung durch Abstraction / Versionierung von Code • Versionierung von Schema (und Static Data)
  • 14. Software Engineering war nie spannender. Upgrade Scripts Pros • Audit • Wiederholbarkeit • Leichtgewichtiges Deployment Cons • Keine State-Historie • Wiederholung von Änderungen erforderlich • Kein Integritätscheck • Branching und Merging wird schwer
  • 15. Software Engineering war nie spannender. Versionierung mit Abstraction Pros • Datenbankänderungen werden automatisch durch Codeänderungen generiert • State-Historie und Audit • Atomic commits • Tooling und Prozess • Unter Umständen plattformunabhängig Cons • Grenzen des Frameworks • Zusätzliche Custom Upgrade Scripts
  • 16. Software Engineering war nie spannender. Versionierung von Schema Pros • State-Historie und Audit • Leichtes Branching und Merging • Einfaches On-Boarding durch Erstellen neuer Umgebungen • Gutes Tooling verfügbar (neben SSDT z.B. SQL Source Control) Cons • Custom Upgrade Scripts
  • 17. Software Engineering war nie spannender. DEMO Redgate SQL Source Control
  • 18. Software Engineering war nie spannender. Unit Testing Natürlich auch für Datenbanken
  • 19. Software Engineering war nie spannender. DEMO TDD mit SSDT
  • 20. Software Engineering war nie spannender. Database Unit Testing in SSDT • Test Initialize/Cleanup Scripts • Vorbereitung der Umgebung für den Test • Aufräumen danach • Pre/Post Test Scripts • Vorbereitung des eigentlichen Tests • ggf. Nachbereitung • Test Script • Hier steht der Test
  • 21. Software Engineering war nie spannender. CI / CD Continuous Integration oder Continuous Deployment … jetzt wird automatisiert
  • 22. Software Engineering war nie spannender. Wann wird integriert / deployed? • Immer dann wenn wir uns danach fühlen • Täglich • Auf Basis eines Schedules • Bei jedem Check-In in die Quellcodeverwaltung
  • 23. Software Engineering war nie spannender. Zum Integrationszeitpunkt • Bedeutet mehr Zeit seit der letzten Integration gleichzeitig mehr Fehler • Mehr Fehler bedeutet mehr Zeit um diese zu lösen • In dieser Zeit wird aber weiterentwickelt • Und am Ende wird eventuell nie integriert Time Main New Developer
  • 24. Software Engineering war nie spannender. Häufigere Integration • Bedeutet weniger Probleme die gelöst werden müssen • Ein Deployment kann immer stattfinden • Der Code ist bei jedem Entwickler in einem Build-fähigen Zustand Time Main New Developer
  • 25. Software Engineering war nie spannender. DEMO Continuous Integration / Continuous Deployment
  • 26. Software Engineering war nie spannender. Vorteile von CI • CI verhindert das „Works on my machine“ syndrom • Die Änderungen aller Entwickler kommen in das Deployment und keiner wird abgehängt • Tests können kontinuierlich laufen und so im Falle eines Fehlers früher informieren • Größere Sichtbarkeit des Projektes • Das Deployment wird unabhängig von den Entwicklern • Einfachere Bereitstellung einer Umgebung für ein neues Teammitglied
  • 27. Software Engineering war nie spannender. Nachteile Hürden von CI • Es benötigt Zeit den CI Prozess aufzubauen • Funktioniert besser mit Tests • Kurze Buildzeiten helfen – daran kann/muss man arbeiten • Verletzter Stolz
  • 28. Software Engineering war nie spannender. Fragen ???
  • 29. Software Engineering war nie spannender. Wrap up • Versionskontrolle der Datenbank ist die existentielle Grundlage für professionelle Datenbankentwicklung • Tooling, Versionierungsstrategie und bevorzugte Umgebung spielen dabei eine wichtige Rolle • „If it’s not in source control, it doesn’t exist“ • TDD und CI sind auch für Datenbanken möglich
  • 30. Software Engineering war nie spannender. Feedback !!!
  • 31. Software Engineering war nie spannender. Speakerinfo: Constantin Klein Constantin arbeitet bei der Freudenberg IT SE & Co. KG. Dort beschäftigt er sich mit der Entwicklung von Lösungen auf Basis der Microsoft Produkte und Technologie Plattformen. Sein besonderes Interesse gilt dabei der Gewinnung, Verarbeitung und Nutzung von Daten und Informationen. Er ist MCSD, MCITP Database Developer und MCPD Web + Enterprise Application Developer. Seit 2010 wurde er jährlich von Microsoft zum Most Valuable Professional (MVP) für SQL Server ernannt. Er engagiert sich zusätzlich im Vorstand des Just Community e.V. und des PASS Deutschland e.V.. Er leitet außerdem die .NET User Group Frankfurt. Sein Blog finden Sie unter http://kostjaklein.wordpress.com
  • 32. Software Engineering war nie spannender. • Jamie Thomson: Continuous deployment of SSDT database projects http://tiny.cc/JamieCI • Andrew Fenna: Introduction to SQL Server Data Tools http://tiny.cc/AndrewSSDT Ressourcen