SlideShare una empresa de Scribd logo
1 de 23
DevOps in der Praxis
Entwicklung und Betrieb einer Anwendung in Azure
Helmut Strasser, Karsten Gaebert
DevOps MeetUp 20.10.2015
20.10.2015Seite 2
FDS
Karsten Gaebert, Helmut Strasser
Agenda
• Historie
• Projektziele
• Technische Umsetzung
• Deployment
• Test
• Betrieb
• Fazit Azure, Dev, Ops
20.10.2015Seite 3
FDS
Karsten Gaebert, Helmut Strasser
Die Lösung
Microsoft Azure
20.10.2015Seite 4
FDS
Karsten Gaebert, Helmut Strasser
Partnerprogramm
• 2012 - Start Azure Partnerprogramm mit Microsoft
• Ziele:
• Anwendungen auf Azure entwickeln
• Traffic + Umsatz generieren
• Premiumsupport durch Microsoft nutzen
20.10.2015Seite 5
FDS
Karsten Gaebert, Helmut Strasser
Wo ist das passende
Problem?
20.10.2015Seite 6
FDS
Karsten Gaebert, Helmut Strasser
Projekt Downloadmanager
Themen + Ziele
•Distribution und Aktualisierung der Lexware Desktopprodukte
•Hohe Bandbreite bei Lastspitzen
•Kostensenkung beim Traffic
•Anbindung an Shop -> Downloads von Produkten, eBooks etc.
•Integration in die Haufe Systemlandschaft
Timeline
•Projektstart Mitte 2012
•Livegang V1 (POC) im Januar 2013
•Ständige Weiterentwicklung seit März 2013
20.10.2015Seite 7
FDS
Karsten Gaebert, Helmut Strasser
Teamaufstellung
• Projektmanagement
• Entwicklungsteam
• QK-Team
• Betriebsteam
=> Aufwandsabschätzung
Ergebnis
Kosten zu hoch
Entwicklungsdauer zu lange
Risiken zu hoch
Und jetzt?
20.10.2015Seite 8
FDS
Karsten Gaebert, Helmut Strasser
„DevOps“ Ansatz
• QK ersetzen durch automatisierte Tests
• Betrieb im Entwicklungsteam
• Monitoring mit Integrationstests
• Vollständige Testabdeckung der businesskritischen Funktionen
• Tracking aller relevanten Ereignisse und Zustände
Team
• Projektleitung, Consulting, Businessanalyse: 1 FTE
• Entwicklungsteam + Architekt: 1-3 FTE
• Betriebsteam: -
• QK: -
20.10.2015Seite 9
FDS
Karsten Gaebert, Helmut Strasser
Konsequenzen
• Anwendung muss „testbar“ entwickelt werden
• Viel Aufwand in die Testautomatisierung investieren
• Entwickler erstellen Tests parallel zu den Features
• Test laufen regelmäßig über das Produktivsystem
• Aufwände für die Transition zu IT und QK werden in Automatisierung investiert
• Verantwortung für Betrieb liegt im Entwicklungsteam
• Selbstverständnis für den gewählten Ansatz bei allen Beteiligten
20.10.2015Seite 10
FDS
Karsten Gaebert, Helmut Strasser
Features
• Verwaltungsportal für:
• > 10.000 Produktuploads + Aktualisierungen
• 1800 eBooks
• Rest-API für Downloadlinks
• Geschützte Downloadlinks (Klickzahl und Laufzeit)
• Freigabeworkflow für neue Produktversionen
• Skalierung bei Lastspitzen
• Echtzeittracking
• Installations- und Aktualisierungstests für neue Uploads
• Personalisierte Wasserzeichen
20.10.2015Seite 11
FDS
Karsten Gaebert, Helmut Strasser
FDS
TFS Build
SAP XI
Support
Upload
D
ow
nload
20.10.2015Seite 12
FDS
Karsten Gaebert, Helmut Strasser
Cloud Service
FDS
Queue
Tracking Cloud Service
Tracking
Cloud Service Cloud Service Cloud Service Cloud Service
Queue
Install
Cloud Service
Install
Virtual
MachineVirtual
MachineVirtual
Machine
20.10.2015Seite 13
FDS
Karsten Gaebert, Helmut Strasser
Tracking
 Serverseitiges Tracking
 Angebunden über Queue
 Echtzeit und Statistik
 Feedback über Events
 Beliebige Ansichten
 ALLES tracken
20.10.2015Seite 14
FDS
Karsten Gaebert, Helmut Strasser
Monitoring
• Nagios als führendes Tool
• Überwachung der Bandbreite (Downloadgeschwindigkeit) aller Storages
• Permanente Integrationstests über alle Inhalte + APIs
• Überprüfung der ausgelieferten Dateiversionen
• Überprüfung aller verfügbaren Inhalte
• Abgleich mit dem Shop
20.10.2015Seite 15
FDS
Karsten Gaebert, Helmut Strasser
Dev (Implementierung)
• .NET/C# in Visual Studio
• Azure SDK
• Azure Emulator für lokale Entwicklung und Tests
• WorkerRole und CloudService Template (PaaS)
• Komponenten
• Azure SQL Datenbank
• Workflows (WF)
• Azure Queues für die Entkoppelung (z.B. Tracking)
• …
• Mehrere entkoppelte Services (Endpunkte)
• Unabhängige Deployments
• Unabhängige Skalierung
• CI
20.10.2015Seite 16
FDS
Karsten Gaebert, Helmut Strasser
Deployments
• Build erzeugt fertige Azure Cloud Services (package)
• Lauffähig nur in Azure
• Deployment
• über Azure Management-Portal
• Visual-Studio
• Powershell (Automatisierung)
• Mehrere Environments
• Dev
• Integration (Stabilisierung)
• Production
-> nur ein Branch?!
20.10.2015Seite 17
FDS
Karsten Gaebert, Helmut Strasser
Test
• Production- und Stagingumgebung in Azure (pro cloud service)
• Test auf Integration – Umgebung (Konfigurationsmangement)
• Lasttests bei neuen Features und geänderten Konfigurationen
• Integrations- und Freigabetests über das Monitoring
20.10.2015Seite 18
FDS
Karsten Gaebert, Helmut Strasser
Releasefreigabe
• Blue/Green - VIP Swap
(Konfiguration muss stimmen)
• Keine Downtime
• Rollback sofort möglich
Betrieb
• Überwachung im Azure Portal (RAM, CPU etc.)
• Überwachungs-Scripte
• Nagios
• Backup
• Aufräumen
• u.v.a.m
20.10.2015Seite 19
FDS
Karsten Gaebert, Helmut Strasser
Skalierung
• Benachrichtigung bei konfigurierbaren Ereignissen (z.B. CPU-Last größer 80%)
• Autoskalierung abhängig von CPU Last, Queue Einträgen etc.
• Manuell (Azure Portal)
20.10.2015Seite 20
FDS
Karsten Gaebert, Helmut Strasser
Fazit - Azure
• Azure als Plattform von Anfang an sehr stabil
• Ständige Weiterentwicklung + neue Services durch Microsoft
• Einfaches Deployment (PAAS)
• Nachteil: Starke Bindung an die Plattform, Wechsel ist aufwändig
• Kosten nicht sofort sichtbar
• Sehr hohe Flexibilität (neue Server, Testumgebungen etc.)
• „SDK Version 1.8 is not supported any more – Please upgrade“
• Microsoft Support über Tickets aus dem Portal funktioniert gut
(5 Klicks, Mail aus Indien oder Anruf aus München – je nach Dringlichkeit)
• Gute Dokumentation zu Azure von MS und große Community mit Lösungen
20.10.2015Seite 21
FDS
Karsten Gaebert, Helmut Strasser
Fazit - Dev
• Bei der Featureentwicklung auch die Testbarkeit im Fokus behalten
• Tests zusammen mit der Anwendung weiterentwickeln
• Mindestens 20% der Ressourcen für Automatisierung einplanen
• Laufende Integrationstests auf Production
(hilft auch beim blue/green swap)
• Als Entwickler wird man auch zum Operator
• Vorteil: keine Reibungsverluste zu einer IT-Abteilung
• Nachteil: Weniger Zeit zum Entwickeln, SSL Zertifikate etc.
20.10.2015Seite 22
FDS
Karsten Gaebert, Helmut Strasser
Fazit - Ops
• Sehr viel Test-Automatisierung (CI) notwendig, damit
man sicher sein kann, dass die neue Version funktional stabil ist
• Infrastruktur ist eine Black Box
(z.B. Lasttests aus Kroatien werden geblockt, aus D nicht)
• CI langfristig notwendig (am Besten gleich zu Anfang)
• Verantwortung für Betrieb und Dev in einem Team. Keine „Schuldzuweisungen“
und unklare Verantwortungen
• Keine langen Abstimmungen zwischen den Teams
• Problem 24x7 allerdings noch ungelöst
20.10.2015Seite 23
FDS
Karsten Gaebert, Helmut Strasser
Ende
Danke für eure Aufmerksamkeit!

Más contenido relacionado

La actualidad más candente

Agiles Enterprise Big Data Testmanagement
Agiles Enterprise Big Data TestmanagementAgiles Enterprise Big Data Testmanagement
Agiles Enterprise Big Data Testmanagement
OPITZ CONSULTING Deutschland
 
Logical Data Warehouse - SQL mit Oracle DB und Hadoop
Logical Data Warehouse - SQL mit Oracle DB und HadoopLogical Data Warehouse - SQL mit Oracle DB und Hadoop
Logical Data Warehouse - SQL mit Oracle DB und Hadoop
OPITZ CONSULTING Deutschland
 

La actualidad más candente (20)

Migration von Applikationen in die Cloud
Migration von Applikationen in die CloudMigration von Applikationen in die Cloud
Migration von Applikationen in die Cloud
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldInfrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
 
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
 
Agiles Enterprise Big Data Testmanagement
Agiles Enterprise Big Data TestmanagementAgiles Enterprise Big Data Testmanagement
Agiles Enterprise Big Data Testmanagement
 
Agile BI in der Praxis - Agiles Testen
Agile BI in der Praxis - Agiles TestenAgile BI in der Praxis - Agiles Testen
Agile BI in der Praxis - Agiles Testen
 
BizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationBizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-Organisation
 
DevOps - ab auf die Reise
DevOps - ab auf die ReiseDevOps - ab auf die Reise
DevOps - ab auf die Reise
 
ConSol Unternehmenspräsentation 2019
ConSol Unternehmenspräsentation 2019ConSol Unternehmenspräsentation 2019
ConSol Unternehmenspräsentation 2019
 
Large Scale Scrum (LeSS) als Organisations-Design-Framework
Large Scale Scrum (LeSS) als Organisations-Design-FrameworkLarge Scale Scrum (LeSS) als Organisations-Design-Framework
Large Scale Scrum (LeSS) als Organisations-Design-Framework
 
Logical Data Warehouse - SQL mit Oracle DB und Hadoop
Logical Data Warehouse - SQL mit Oracle DB und HadoopLogical Data Warehouse - SQL mit Oracle DB und Hadoop
Logical Data Warehouse - SQL mit Oracle DB und Hadoop
 
Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge
Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge
Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge
 
DevOps jenseits der Tools
DevOps jenseits der ToolsDevOps jenseits der Tools
DevOps jenseits der Tools
 
Herbstcampus2019_Kubernetes Docker Swarm
Herbstcampus2019_Kubernetes Docker SwarmHerbstcampus2019_Kubernetes Docker Swarm
Herbstcampus2019_Kubernetes Docker Swarm
 
E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018
 
Forms 12c und der Oracle SB
Forms 12c und der Oracle SBForms 12c und der Oracle SB
Forms 12c und der Oracle SB
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
Der Mythos der Trunk-basierten Entwicklung
Der Mythos der Trunk-basierten EntwicklungDer Mythos der Trunk-basierten Entwicklung
Der Mythos der Trunk-basierten Entwicklung
 
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
 

Destacado

2015 05-06-karsten gaebert-akademie-etrainings
2015 05-06-karsten gaebert-akademie-etrainings2015 05-06-karsten gaebert-akademie-etrainings
2015 05-06-karsten gaebert-akademie-etrainings
Haufe-Lexware GmbH & Co KG
 
DevOps und ITIL: Waffenbrüder oder Feinde?
DevOps und ITIL: Waffenbrüder oder Feinde?DevOps und ITIL: Waffenbrüder oder Feinde?
DevOps und ITIL: Waffenbrüder oder Feinde?
OPITZ CONSULTING Deutschland
 
SLAC2011 - DevOps - Neue Arbeitsweise und Selbstverständnis in der IT
SLAC2011 - DevOps - Neue Arbeitsweise und Selbstverständnis in der ITSLAC2011 - DevOps - Neue Arbeitsweise und Selbstverständnis in der IT
SLAC2011 - DevOps - Neue Arbeitsweise und Selbstverständnis in der IT
Schlomo Schapiro
 
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
BTEXX GmbH
 
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
BTEXX GmbH
 
BTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
BTEXX mobilePortal: Mobiler Workflow, flexible GeschäftsprozesseBTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
BTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
BTEXX GmbH
 

Destacado (20)

Haufe's Tech Strategy In Practice
Haufe's Tech Strategy In PracticeHaufe's Tech Strategy In Practice
Haufe's Tech Strategy In Practice
 
BTEXX Creation: Projektarten, Leistungen, Angebote
BTEXX Creation: Projektarten, Leistungen, AngeboteBTEXX Creation: Projektarten, Leistungen, Angebote
BTEXX Creation: Projektarten, Leistungen, Angebote
 
2015 05-06-karsten gaebert-akademie-etrainings
2015 05-06-karsten gaebert-akademie-etrainings2015 05-06-karsten gaebert-akademie-etrainings
2015 05-06-karsten gaebert-akademie-etrainings
 
Actor model: an approach to concurrency
Actor model: an approach to concurrencyActor model: an approach to concurrency
Actor model: an approach to concurrency
 
The Automated Monolith
The Automated MonolithThe Automated Monolith
The Automated Monolith
 
Using Pattern Lab at SmashingConf Freiburg 2016
Using Pattern Lab at SmashingConf Freiburg 2016Using Pattern Lab at SmashingConf Freiburg 2016
Using Pattern Lab at SmashingConf Freiburg 2016
 
Automated Testing in DevOps
Automated Testing in DevOpsAutomated Testing in DevOps
Automated Testing in DevOps
 
API Management @ Haufe
API Management @ HaufeAPI Management @ Haufe
API Management @ Haufe
 
Api360 Summit The Automated Monolith
Api360 Summit  The Automated MonolithApi360 Summit  The Automated Monolith
Api360 Summit The Automated Monolith
 
DevOps und ITIL: Waffenbrüder oder Feinde?
DevOps und ITIL: Waffenbrüder oder Feinde?DevOps und ITIL: Waffenbrüder oder Feinde?
DevOps und ITIL: Waffenbrüder oder Feinde?
 
Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev
 
Haufe API Strategy
Haufe API StrategyHaufe API Strategy
Haufe API Strategy
 
SLAC2011 - DevOps - Neue Arbeitsweise und Selbstverständnis in der IT
SLAC2011 - DevOps - Neue Arbeitsweise und Selbstverständnis in der ITSLAC2011 - DevOps - Neue Arbeitsweise und Selbstverständnis in der IT
SLAC2011 - DevOps - Neue Arbeitsweise und Selbstverständnis in der IT
 
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
 
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
 
Unternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCES
Unternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCESUnternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCES
Unternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCES
 
BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...
BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...
BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...
 
BTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital Workplace
BTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital WorkplaceBTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital Workplace
BTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital Workplace
 
BTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
BTEXX mobilePortal: Mobiler Workflow, flexible GeschäftsprozesseBTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
BTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
 
BTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im Unternehmen
BTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im UnternehmenBTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im Unternehmen
BTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im Unternehmen
 

Similar a DevOps Meetup Freiburg - DevOps in Practice

Similar a DevOps Meetup Freiburg - DevOps in Practice (20)

CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVs
 
Einführung in Microsoft Azure und seine Funktionalitäten
Einführung in Microsoft Azure und seine FunktionalitätenEinführung in Microsoft Azure und seine Funktionalitäten
Einführung in Microsoft Azure und seine Funktionalitäten
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Microsoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience PlatformMicrosoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience Platform
 
CCD2014 - Vortrag NetworkedAssets und Kabel Deutschland
CCD2014 - Vortrag NetworkedAssets und Kabel DeutschlandCCD2014 - Vortrag NetworkedAssets und Kabel Deutschland
CCD2014 - Vortrag NetworkedAssets und Kabel Deutschland
 
Webcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing ToolsWebcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing Tools
 
Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)
 
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
 
MS Sharepoint auf AWS - eine Lösung für viele Herausforderungen - AWS Cloud W...
MS Sharepoint auf AWS - eine Lösung für viele Herausforderungen - AWS Cloud W...MS Sharepoint auf AWS - eine Lösung für viele Herausforderungen - AWS Cloud W...
MS Sharepoint auf AWS - eine Lösung für viele Herausforderungen - AWS Cloud W...
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1
 
Groupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 CbGroupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 Cb
 
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
 
Innovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenInnovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzen
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
 
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
 
IT-Ringvorlesung - Präsentation Comparex
IT-Ringvorlesung - Präsentation ComparexIT-Ringvorlesung - Präsentation Comparex
IT-Ringvorlesung - Präsentation Comparex
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application Framework
 
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
 

Más de Haufe-Lexware GmbH & Co KG

Más de Haufe-Lexware GmbH & Co KG (20)

Tech stackhaufegroup
Tech stackhaufegroupTech stackhaufegroup
Tech stackhaufegroup
 
X-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN StackX-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN Stack
 
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019
 
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
 
Cloud Journey: Lifting a Major Product to Kubernetes
Cloud Journey: Lifting a Major Product to KubernetesCloud Journey: Lifting a Major Product to Kubernetes
Cloud Journey: Lifting a Major Product to Kubernetes
 
ONA ( organizational network analysis ) to enable individuals to impact their...
ONA ( organizational network analysis ) to enable individuals to impact their...ONA ( organizational network analysis ) to enable individuals to impact their...
ONA ( organizational network analysis ) to enable individuals to impact their...
 
ONA ( organizational network analysis ) enabling individuals to impact their ...
ONA ( organizational network analysis ) enabling individuals to impact their ...ONA ( organizational network analysis ) enabling individuals to impact their ...
ONA ( organizational network analysis ) enabling individuals to impact their ...
 
Using word vectors to enable better search in our legal products
Using word vectors to enable better search in our legal productsUsing word vectors to enable better search in our legal products
Using word vectors to enable better search in our legal products
 
Identifying customer potentials through unsupervised learning
Identifying customer potentials through unsupervised learningIdentifying customer potentials through unsupervised learning
Identifying customer potentials through unsupervised learning
 
Field report: Rapid application development
Field report: Rapid application developmentField report: Rapid application development
Field report: Rapid application development
 
Behavior-Driven Development with JGiven
Behavior-Driven Development with JGivenBehavior-Driven Development with JGiven
Behavior-Driven Development with JGiven
 
Externalized Spring Boot App Configuration
Externalized  Spring Boot App ConfigurationExternalized  Spring Boot App Configuration
Externalized Spring Boot App Configuration
 
Managing short lived Kubernetes (Production) deployments
Managing short lived Kubernetes (Production) deploymentsManaging short lived Kubernetes (Production) deployments
Managing short lived Kubernetes (Production) deployments
 
Docker in Production at the Aurora Team
Docker in Production at the Aurora TeamDocker in Production at the Aurora Team
Docker in Production at the Aurora Team
 
DevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at HaufeDevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at Haufe
 
New Serverless World - Cloud Native Apps
New Serverless World - Cloud Native AppsNew Serverless World - Cloud Native Apps
New Serverless World - Cloud Native Apps
 
Microservice Transformation of the Haufe Publishing System
Microservice Transformation of the Haufe Publishing SystemMicroservice Transformation of the Haufe Publishing System
Microservice Transformation of the Haufe Publishing System
 
API Management with wicked.haufe.io
API Management with wicked.haufe.ioAPI Management with wicked.haufe.io
API Management with wicked.haufe.io
 
Reactive microservices
Reactive microservicesReactive microservices
Reactive microservices
 
An Introduction to event sourcing and CQRS
An Introduction to event sourcing and CQRSAn Introduction to event sourcing and CQRS
An Introduction to event sourcing and CQRS
 

DevOps Meetup Freiburg - DevOps in Practice

  • 1. DevOps in der Praxis Entwicklung und Betrieb einer Anwendung in Azure Helmut Strasser, Karsten Gaebert DevOps MeetUp 20.10.2015
  • 2. 20.10.2015Seite 2 FDS Karsten Gaebert, Helmut Strasser Agenda • Historie • Projektziele • Technische Umsetzung • Deployment • Test • Betrieb • Fazit Azure, Dev, Ops
  • 3. 20.10.2015Seite 3 FDS Karsten Gaebert, Helmut Strasser Die Lösung Microsoft Azure
  • 4. 20.10.2015Seite 4 FDS Karsten Gaebert, Helmut Strasser Partnerprogramm • 2012 - Start Azure Partnerprogramm mit Microsoft • Ziele: • Anwendungen auf Azure entwickeln • Traffic + Umsatz generieren • Premiumsupport durch Microsoft nutzen
  • 5. 20.10.2015Seite 5 FDS Karsten Gaebert, Helmut Strasser Wo ist das passende Problem?
  • 6. 20.10.2015Seite 6 FDS Karsten Gaebert, Helmut Strasser Projekt Downloadmanager Themen + Ziele •Distribution und Aktualisierung der Lexware Desktopprodukte •Hohe Bandbreite bei Lastspitzen •Kostensenkung beim Traffic •Anbindung an Shop -> Downloads von Produkten, eBooks etc. •Integration in die Haufe Systemlandschaft Timeline •Projektstart Mitte 2012 •Livegang V1 (POC) im Januar 2013 •Ständige Weiterentwicklung seit März 2013
  • 7. 20.10.2015Seite 7 FDS Karsten Gaebert, Helmut Strasser Teamaufstellung • Projektmanagement • Entwicklungsteam • QK-Team • Betriebsteam => Aufwandsabschätzung Ergebnis Kosten zu hoch Entwicklungsdauer zu lange Risiken zu hoch Und jetzt?
  • 8. 20.10.2015Seite 8 FDS Karsten Gaebert, Helmut Strasser „DevOps“ Ansatz • QK ersetzen durch automatisierte Tests • Betrieb im Entwicklungsteam • Monitoring mit Integrationstests • Vollständige Testabdeckung der businesskritischen Funktionen • Tracking aller relevanten Ereignisse und Zustände Team • Projektleitung, Consulting, Businessanalyse: 1 FTE • Entwicklungsteam + Architekt: 1-3 FTE • Betriebsteam: - • QK: -
  • 9. 20.10.2015Seite 9 FDS Karsten Gaebert, Helmut Strasser Konsequenzen • Anwendung muss „testbar“ entwickelt werden • Viel Aufwand in die Testautomatisierung investieren • Entwickler erstellen Tests parallel zu den Features • Test laufen regelmäßig über das Produktivsystem • Aufwände für die Transition zu IT und QK werden in Automatisierung investiert • Verantwortung für Betrieb liegt im Entwicklungsteam • Selbstverständnis für den gewählten Ansatz bei allen Beteiligten
  • 10. 20.10.2015Seite 10 FDS Karsten Gaebert, Helmut Strasser Features • Verwaltungsportal für: • > 10.000 Produktuploads + Aktualisierungen • 1800 eBooks • Rest-API für Downloadlinks • Geschützte Downloadlinks (Klickzahl und Laufzeit) • Freigabeworkflow für neue Produktversionen • Skalierung bei Lastspitzen • Echtzeittracking • Installations- und Aktualisierungstests für neue Uploads • Personalisierte Wasserzeichen
  • 11. 20.10.2015Seite 11 FDS Karsten Gaebert, Helmut Strasser FDS TFS Build SAP XI Support Upload D ow nload
  • 12. 20.10.2015Seite 12 FDS Karsten Gaebert, Helmut Strasser Cloud Service FDS Queue Tracking Cloud Service Tracking Cloud Service Cloud Service Cloud Service Cloud Service Queue Install Cloud Service Install Virtual MachineVirtual MachineVirtual Machine
  • 13. 20.10.2015Seite 13 FDS Karsten Gaebert, Helmut Strasser Tracking  Serverseitiges Tracking  Angebunden über Queue  Echtzeit und Statistik  Feedback über Events  Beliebige Ansichten  ALLES tracken
  • 14. 20.10.2015Seite 14 FDS Karsten Gaebert, Helmut Strasser Monitoring • Nagios als führendes Tool • Überwachung der Bandbreite (Downloadgeschwindigkeit) aller Storages • Permanente Integrationstests über alle Inhalte + APIs • Überprüfung der ausgelieferten Dateiversionen • Überprüfung aller verfügbaren Inhalte • Abgleich mit dem Shop
  • 15. 20.10.2015Seite 15 FDS Karsten Gaebert, Helmut Strasser Dev (Implementierung) • .NET/C# in Visual Studio • Azure SDK • Azure Emulator für lokale Entwicklung und Tests • WorkerRole und CloudService Template (PaaS) • Komponenten • Azure SQL Datenbank • Workflows (WF) • Azure Queues für die Entkoppelung (z.B. Tracking) • … • Mehrere entkoppelte Services (Endpunkte) • Unabhängige Deployments • Unabhängige Skalierung • CI
  • 16. 20.10.2015Seite 16 FDS Karsten Gaebert, Helmut Strasser Deployments • Build erzeugt fertige Azure Cloud Services (package) • Lauffähig nur in Azure • Deployment • über Azure Management-Portal • Visual-Studio • Powershell (Automatisierung) • Mehrere Environments • Dev • Integration (Stabilisierung) • Production -> nur ein Branch?!
  • 17. 20.10.2015Seite 17 FDS Karsten Gaebert, Helmut Strasser Test • Production- und Stagingumgebung in Azure (pro cloud service) • Test auf Integration – Umgebung (Konfigurationsmangement) • Lasttests bei neuen Features und geänderten Konfigurationen • Integrations- und Freigabetests über das Monitoring
  • 18. 20.10.2015Seite 18 FDS Karsten Gaebert, Helmut Strasser Releasefreigabe • Blue/Green - VIP Swap (Konfiguration muss stimmen) • Keine Downtime • Rollback sofort möglich Betrieb • Überwachung im Azure Portal (RAM, CPU etc.) • Überwachungs-Scripte • Nagios • Backup • Aufräumen • u.v.a.m
  • 19. 20.10.2015Seite 19 FDS Karsten Gaebert, Helmut Strasser Skalierung • Benachrichtigung bei konfigurierbaren Ereignissen (z.B. CPU-Last größer 80%) • Autoskalierung abhängig von CPU Last, Queue Einträgen etc. • Manuell (Azure Portal)
  • 20. 20.10.2015Seite 20 FDS Karsten Gaebert, Helmut Strasser Fazit - Azure • Azure als Plattform von Anfang an sehr stabil • Ständige Weiterentwicklung + neue Services durch Microsoft • Einfaches Deployment (PAAS) • Nachteil: Starke Bindung an die Plattform, Wechsel ist aufwändig • Kosten nicht sofort sichtbar • Sehr hohe Flexibilität (neue Server, Testumgebungen etc.) • „SDK Version 1.8 is not supported any more – Please upgrade“ • Microsoft Support über Tickets aus dem Portal funktioniert gut (5 Klicks, Mail aus Indien oder Anruf aus München – je nach Dringlichkeit) • Gute Dokumentation zu Azure von MS und große Community mit Lösungen
  • 21. 20.10.2015Seite 21 FDS Karsten Gaebert, Helmut Strasser Fazit - Dev • Bei der Featureentwicklung auch die Testbarkeit im Fokus behalten • Tests zusammen mit der Anwendung weiterentwickeln • Mindestens 20% der Ressourcen für Automatisierung einplanen • Laufende Integrationstests auf Production (hilft auch beim blue/green swap) • Als Entwickler wird man auch zum Operator • Vorteil: keine Reibungsverluste zu einer IT-Abteilung • Nachteil: Weniger Zeit zum Entwickeln, SSL Zertifikate etc.
  • 22. 20.10.2015Seite 22 FDS Karsten Gaebert, Helmut Strasser Fazit - Ops • Sehr viel Test-Automatisierung (CI) notwendig, damit man sicher sein kann, dass die neue Version funktional stabil ist • Infrastruktur ist eine Black Box (z.B. Lasttests aus Kroatien werden geblockt, aus D nicht) • CI langfristig notwendig (am Besten gleich zu Anfang) • Verantwortung für Betrieb und Dev in einem Team. Keine „Schuldzuweisungen“ und unklare Verantwortungen • Keine langen Abstimmungen zwischen den Teams • Problem 24x7 allerdings noch ungelöst
  • 23. 20.10.2015Seite 23 FDS Karsten Gaebert, Helmut Strasser Ende Danke für eure Aufmerksamkeit!