SlideShare una empresa de Scribd logo
1 de 59
Descargar para leer sin conexión
1
DevOps – Die Evolution agiler Softwareentwicklung
Marc Müller
Principal Consultant
4tecture GmbH
marc.mueller@4tecture.ch
Marc Müller
Principal Consultant
@muellermarc
6
Agenda
 Intro
 DevOps in der Praxis
 Q&A
7
Intro
„Schon bis 2017 wird jedes vierte
Unternehmen seine derzeitige
Marktposition aus Gründen
„Digitaler Inkompetenz“
verlieren.“ (Gartner)
9
Was ist DevOps?
Bildquelle: https://en.wikipedia.org/wiki/Blind_men_and_an_elephant
Team
Automation
Development und
Operations
Zusammenarbeit
Schnelle und
kleinere Releases
Feedback aus
der Produktion
„if you can't measure it,
you can't manage it”
(Robert S. Kaplan)
11
Build, Measure, Learn
Idee
ProgrammAnalysedaten
BUILD
MEASURE
LEARN
Product
Owner
Stakeholder
Dev Team
Product
Backlog
Sprint
Backlog Potentially
Shippable
Increment
Test Team
Release
Vision
Epics
Backlog Item
Agile Planning Tools
Build Automation
Release
Automation
Test Automation Analytics
13
Wir benötigen Feedback…
funktionales Feedback Customer / Stakeholder
nicht-funktionales Feedback
Product Owner Tester
zeitnahe
reproduzierbar
automatisiert
Dev, Testing, Live
14
DevOps als gesamtheitliche Strategie
People
•Zusammenarbeit
•Gemeinsame Ziele
•Fokus auf
Verbesserung
•Mitarbeiter
zusammenbringen
Process
•Reduzierung von
“Waste”
•Bessere Effizienz
•Kontinuierliches
Feedback
•Schneller einen
Mehrwehrt liefern
Tools
•Produktivität
•Zusammenarbeit
•Einfaches
Experimentieren
•Ausführung der
DevOps Strategie
Flow of Customer Value
• Automated Testing
• Continuous Integration
• Continuous Deployment
• Release Management
Team Autonomy & Enterprise Alignment
• Enterprise Agile
• Continuous Integration
• Continuous Deployment
• Release Management
BACKLOG refined with LEARNING
• Usage Monitoring
• Telemetry Collection
• Testing in Production
• Stakeholder Feedback
EVIDENCE gathered in PRODUCTION
• Testing in Production
• Usage Monitoring
• User Telemetry
• Stakeholder feedback
• Feature flags
MANAGED TECHNICAL DEBT
• Code Reviews
• Automated Testing
• Continuous Measurement
PRODUCTION FIRST MINDSET
• Application Performance Management
• Infrastructure as Code
• Continuous Delivery
• Release Management
• Configuration Management
• Automated Recovery
INFRASTRUCTURE is a FLEXIBLE RESOURCE
• Application Performance Management
• Infrastructure as Code
• Continuous Deployment
• Release Management
• Configuration Management
• Automated Recovery
22
Praxis
23
Write Code
Customer use
the code
Write Code
Customer use
the code
24
Enterprise Alignment and Team Autonomy
Organization
Roles
Teams
Cadence
Taxonomy
Plan
Practices
Alignment
Autonomy
Vision
Epics
Features
PBI / Bugs
Tasks
100 Deployments
pro Tag!
27
Viele Deployments
 verursachen Schmerzen, wenn
 es manuell durchgeführt wird!
 ein komplexer Monolith in einem Schritt
ausgerollt werden muss!
 zu viele verschiedene Versionsstände
unterhalten werden müssen!
 Wir bekämpfen den Schmerz in dem wir
 Den kompletten Prozess
automatisieren
 Den Monolith zerlegen 
Microservices
 Häufige kleine Releases einer Version,
Abstufung mittels Feature Flags
28
«Modern» Emergent Architecture
Each Sprint: Working Software
29
Monolithische Architektur
Orders
Products
DAL
Order
Data
Product
Data
BL
Order
Logic
Product
Search
Product
Logic
UI
Admin UI
30
API
Gateway
/ Proxy
Order Service
Orders
Order
Data
Order
Logic
Customer
UI
Admin UI
Product Search Service
Products
Product
Data
Product
Search
Product Service
Products
Product
Data
Product
Search
MessageQueue
31
Microservice?
 Encapsulation
 Automation
 Business Domain Centric
 Decentralization
 Indepence
 Fail-Safe
 Observable
 Scalable
Ein Teil einer Anwendung, der
unabhängig deployed werden kann.
«Do ONE thing and do
it good»
32
Hybrid Development & Feature Isolation
RI
RI
main
RI
FIB
FIFIB
“Your branch distance from main is
equal to your level of insanity”
- anonymous
34
Feature Branch vs Feature Toggle
 Feature Branch
 Komplette Isolierung
 Eher komplexe Integration / Merge
 Feature Toggle
 Schalter in der Software
 Entwicklung im selben Branch
Git Flow
Ein Pull-Request ein Konzept um Änderungen
kontrolliert in ein Git-Repository zu bringen.
Pull-Request
Assign Issue
Create Feature
Branch
Develop and
Commit
Push to Remote
Create
Pull-Request
Notify team &
wait for review
Develop and
Commit
Approved?
Merge PR &
delete branch
Finished?
Automatisierung ist der Schlüssel zur
Effizienzsteigerung!
...darum sollte diese so einfach wie möglich
implementiert werden können.
40
Package Management
 Ziel:
 Kleine isolierte Repositories
 Nur Source-Code, keine Binärdateien
 Umsetzung:
 Artefakte als versionierte Pakete verwalten (z.B. Nuget)
 Firmen- oder projektspezifische Feeds
 Integration in Build Automatisierung
41
FeedBuildRepoA
Package Management (NuGet)
Source Code
Nuget
Specification
Assemblies Package
Published
Package
RepoB
Nuget Config
Build
Package
Restore
Package
Config
42
Release Cycle
43
Sprintorientierte Testplanung
Sprint 1 Sprint 2 Sprint 3 Sprint 4
Repository v 1.0 CopyCopyCopy Copy
44
Tools für Test Automatisierung
UI
Service
Unit / Component
Quelle: Mike Cohn
Unit Testing
Framework +
Isolation
Framework
Unit Testing +
Isolation
Framework
UI Test Frameworks
45
Testautomatisierung in der Praxis
Testpyramide
Automation by Code / Page Object Pattern
UI Automation Engineer und Tester
Richtig vorbereitet ist halb getestet
46
Experimente
Hyptothesis
Experiment
Learning
We believe {customer segment} wants {product/feature}
because {value prop}
To prove or disprove the above, the team will conduct the
following experiment(s): …
The above experiment(s) prove(s) the hypothesis by impacting
the following metric(s): …
47
Learn
Measure
Build
Feedback anhand von Experimenten
New FeatureOld Feature
48
Überwachung mehrere Dimensionen
49
Beispiele für nicht-funktionale Metriken (Der Admin)
 Ziel:
 Primäre technische Kennzahlen vom Server
 Beispiele:
 CPU / Memory Utilization
 Response Time
 Transferred Data
 Data Transfer Rate (e.g MBits/sec)
 Connections
 …
50
Beispiel Funktional (Der Entwickler)
 Ziel:
 Primäre technische Kennzahlen aus der Applikation
 Beispiele:
 Exceptions Client
 Exceptions Server
 Stacktraces
 Non responsive external Services (Salesforce, SAP,
CRM, Internal Services, …)
51
Beispiel Business (Der Analyst)
 Ziel:
 Überwachung der (Business-)Prozesse
 Beispiele:
 Welche Features meiner Anwendung werden „tatsächlich“ genutzt?
 Wie intensiv werden Features genutzt?
 In welche Features müssen wir investieren?
 Wird die Anwendung aus Kundenperspektive langsamer?
52
Auswertung – Metric Explorer ( 1 / 2 )
53
Proactive Detection
54
55
Application Insights Analytics - Beispiele
56
Application Insights
 Power BI
 Business-Sicht
 Integration in
SharePoint und
Webseiten
57
Q & A
Marc Müller
Principal Consultant
für DevOps, ALM, TFS /VS, .NET
E-Mail: marc.mueller@4tecture.ch
Webseite: http://www.4tecture.ch
Schulungen: http://4tecture.ch/trainings
Blog: http://4tecture.ch/blog
Twitter: @muellermarc
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung

Más contenido relacionado

La actualidad más candente

WPF Custom Control Development Unchained
WPF Custom Control Development UnchainedWPF Custom Control Development Unchained
WPF Custom Control Development Unchained
thoemmes
 
Ergosign-Responsive-Design-2013
Ergosign-Responsive-Design-2013Ergosign-Responsive-Design-2013
Ergosign-Responsive-Design-2013
Ergosign GmbH
 

La actualidad más candente (8)

Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für Fortgeschrittende
 
WPF UI Development Unchained
WPF UI Development UnchainedWPF UI Development Unchained
WPF UI Development Unchained
 
WPF UI-Development Best Practices
WPF UI-Development Best PracticesWPF UI-Development Best Practices
WPF UI-Development Best Practices
 
WPF Custom Control Development Unchained
WPF Custom Control Development UnchainedWPF Custom Control Development Unchained
WPF Custom Control Development Unchained
 
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
 
Windows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungWindows 8 Business-App-Entwicklung
Windows 8 Business-App-Entwicklung
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0
 
Ergosign-Responsive-Design-2013
Ergosign-Responsive-Design-2013Ergosign-Responsive-Design-2013
Ergosign-Responsive-Design-2013
 

Similar a DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung

Similar a DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung (20)

DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxis
 
Hey, wie geht es dir?
Hey, wie geht es dir?Hey, wie geht es dir?
Hey, wie geht es dir?
 
Wie Sie Mit Design Sprints Echten Digitalen Wandel Schaffen
Wie Sie Mit Design Sprints Echten Digitalen Wandel SchaffenWie Sie Mit Design Sprints Echten Digitalen Wandel Schaffen
Wie Sie Mit Design Sprints Echten Digitalen Wandel Schaffen
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine Einführung
 
Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...
Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...
Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...
 
OSLC in Aktion
OSLC in AktionOSLC in Aktion
OSLC in Aktion
 
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
 
PLM Open Hours - Einsatzbeispiele von Business Productivity Apps
PLM Open Hours - Einsatzbeispiele von Business Productivity AppsPLM Open Hours - Einsatzbeispiele von Business Productivity Apps
PLM Open Hours - Einsatzbeispiele von Business Productivity Apps
 
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
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Xidra 2016 DevOps
Xidra 2016 DevOpsXidra 2016 DevOps
Xidra 2016 DevOps
 
Splunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit Splunk
 
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
 
Large-Scale Product Owner @ XPDays Germany (5.10.2023)
Large-Scale Product Owner @ XPDays Germany (5.10.2023)Large-Scale Product Owner @ XPDays Germany (5.10.2023)
Large-Scale Product Owner @ XPDays Germany (5.10.2023)
 
XPages - The Basics
XPages - The BasicsXPages - The Basics
XPages - The Basics
 
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
 
Kurzschluss, Cloudausfall - Mal wieder kalt erwischt?
Kurzschluss, Cloudausfall - Mal wieder kalt erwischt?Kurzschluss, Cloudausfall - Mal wieder kalt erwischt?
Kurzschluss, Cloudausfall - Mal wieder kalt erwischt?
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 

Más de Marc Müller

Más de Marc Müller (20)

.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
 
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
 
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
 
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-BenutzerDWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
 
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes ReleaseDWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
 
DWX 2023 - Schnelles Feedback mit Pull-Request Deployments
DWX 2023 - Schnelles Feedback mit Pull-Request DeploymentsDWX 2023 - Schnelles Feedback mit Pull-Request Deployments
DWX 2023 - Schnelles Feedback mit Pull-Request Deployments
 
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
 
Global Azure Austria 2023 - Fast feedback with pull request deployments
Global Azure Austria 2023 - Fast feedback with pull request deploymentsGlobal Azure Austria 2023 - Fast feedback with pull request deployments
Global Azure Austria 2023 - Fast feedback with pull request deployments
 
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTSBASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
 
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESSBASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
 
BASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
BASTA! 2022 - Einführung in Helm, der Paket-Manger für KubernetesBASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
BASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
 
BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 
BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
 BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
 
.NET Day 2022 - Fast feedback with pull request deployments
.NET Day 2022 - Fast feedback with pull request deployments.NET Day 2022 - Fast feedback with pull request deployments
.NET Day 2022 - Fast feedback with pull request deployments
 
DWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHubDWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHub
 
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-ProzessDWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 
Einführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für KubernetesEinführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für Kubernetes
 
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsDWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
 
Helm introduction
Helm introductionHelm introduction
Helm introduction
 
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
 

DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung