DevOps en Continuous Delivery, hoe past architectuur daar in? Is er spanning tussen het uitdenken van een architectuur en snel functionaliteit releasen en hoe ga je daarmee om? Is architectuur wel nodig? Wij denken van wel. Vanuit praktijkervaringen met twee van onze belangrijke producten wordt toegelicht hoe een “DevOps-ready” architectuur opgezet kan worden en hoe bestaande architecturen kunnen worden omgevormd. En daarnaast: wat is het effect voor de klant, betalen de beloftes zich ook uit?
5. (Agile) Architectuur mythes
“Met architectuur
gaat het in 1x goed”
“Architectuur kost te
veel tijd”
“Architectuur is niet
nodig bij..”
DevOps
Agile Continuous
Delivery
LAC 2013: Hogere klanttevredenheid met “DevOps-ready” architectuur
5
6. Eisen aan een “DevOps ready” architectuur
Vaker Uitrollen
Incrementeel
Uitrollen
Autonomie &
Design for Change
Context Sensitive
Features
Auto Deploy &
Back Out
Data Migratie
Mixed Versions
Deployment
Infrastructure
Telemetrie &
Monitoring
LAC 2013: Hogere klanttevredenheid met “DevOps-ready” architectuur
6
7. Greenfield (KnowNow)
Autonomie &
Design for Change
Modulair en extensible
CMS (Orchard)
Context Sensitive
Features
A/B Testing,
Dunne laagjes, Piloting
Deployment
Infrastructure
5 min Deploy,
Background migration
Telemetrie &
Monitoring
Google Analytics,
MS System Center
LAC 2013: Hogere klanttevredenheid met “DevOps-ready” architectuur
7
8. Bestaand (Endeavour)
Autonomie &
Design for Change
Architectuur gekanteld,
Release scope variabel
Context Sensitive
Features
Modulaire upgrade
Deployment
Infrastructure
Handleiding => Automated
Auto config werkplek
Telemetrie &
Monitoring
MS System Center,
UpTrends, … (Hosted)
LAC 2013: Hogere klanttevredenheid met “DevOps-ready” architectuur
8
9. Effect van architectuur keuzen
Building Blocks
Vsiual
Sutdio
Digital Coach
SOA
Business Application
ALM
SOA Reference
Architecture
Business Application
Reference Architecture
ALM Guidance
SOA Developer
Guidance
Business Application
Developer Guidance
Developer
programming guidance
Web Service template
Business application
template
Build and Test
extensions
Web Service
Framework
MVC Framework
Build and Test
extensions
Message Mapping
Component
ORM Component
Test framework
LAC 2013: Hogere klanttevredenheid met “DevOps-ready” architectuur
9
10. Release & Change management
Context: Product afgenomen door meerdere
klanten
Cloud
On-Premise
1 Versie
Multi Versie
Modulair
Big Bang
LAC 2013: Hogere klanttevredenheid met “DevOps-ready” architectuur
10
11. Effect van DevOps op klanttevredenheid
Bestaand Product
Service Response
times <
Nieuw Product
2 wekelijkse release,
nu rel. 38
Open Issues <
User Feedback via
User Voice
Kwartaal migraties,
continuous patch
#auteurs van 15 naar
115 (spontaan)
Sneller innoveren => Sneller Technical Debt
Architectuur is “slechts” Enabler
Organisatie & Cultuur is randvoorwaardelijk
LAC 2013: Hogere klanttevredenheid met “DevOps-ready” architectuur
11
12. Doorkijk naar “de Enterprise”
Focus was hier product ontwikkeling
Maar werkt dit ook breder?
Stelling
DevOps en Continuous Delivery is interessant
voor software architectuur, en zeker ook voor
“de Enterprise”
(kom naar onze discussie sessie!)
LAC 2013: Hogere klanttevredenheid met “DevOps-ready” architectuur
12
13. Take aways
DevOps & Continuous Delivery doe je voor een
concreet doel, definieer dit
Continuous Delivery stelt andere architectuur eisen en
vergt dus anders kijken en denken
Succesvolle verbetering betekent organisatie én
architectuur op orde brengen
LAC 2013: Hogere klanttevredenheid met “DevOps-ready” architectuur
13