SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Model-driven Distributed Software Deployment
Sander van der Burg
Technische Universiteit Delft, EWI,
Afdeling Software Technologie
Philips Research, Healthcare Systems Architecture,
Eindhoven
17 Maart 2009
Sander van der Burg Model-driven Distributed Software Deployment
Introductie
“Model-driven Distributed Software Deployment”
Software Engineering
Software Deployment
Model-driven
Distributed systems
Sander van der Burg Model-driven Distributed Software Deployment
Software Engineering
“Discipline die zich bezighoudt met alle aspecten van het bouwen
van software systemen”
Sander van der Burg Model-driven Distributed Software Deployment
Software Engineering
Het bouwen van software systemen is complex:
Voldoet een softwaresysteem aan de gestelde eisen?
Hoe zijn we er zeker van dat een softwaresysteem werkt?
Hoe kunnen we het ontwikkelproces verbeteren?
Hoe kunnen we de kans op fouten verminderen?
Hoe kunnen we het ontwikkelproces sneller maken?
Hoe maken we een software systeem onderhoudbaar?
Sander van der Burg Model-driven Distributed Software Deployment
Software Deployment
Alle activiteiten die uitgevoerd moeten worden om een systeem
geschikt te maken voor gebruik:
Sander van der Burg Model-driven Distributed Software Deployment
Software Deployment
Alle activiteiten die uitgevoerd moeten worden om een systeem
geschikt te maken voor gebruik:
Bouwen van componenten van een softwaresysteem
Versturen van componenten van de producent naar de klant
Installeren van componenten
Activeren van software componenten
Upgraden van componenten
Sander van der Burg Model-driven Distributed Software Deployment
Software Deployment
Software deployment is complex:
Programma’s hebben afhankelijkheden op andere software, bv.
bibliotheken.
Nieuwe versies kunnen overschreven worden door oudere
versies en de software breken (DLL-hell)
Programma’s hebben soms afhankelijkheden op specifieke
versies/varianten van onderdelen
Nieuwere versies van componenten zijn niet altijd compatibel
met oudere versies
Internet Explorer 6 i.p.v. Internet Explorer 7
Sander van der Burg Model-driven Distributed Software Deployment
Software Deployment
Het deinstalleren of verwijderen van software is meestal
onveilig.
Hoe weet je zeker dat het niet meer in gebruik is of benodigd
is voor iets anders?
Upgraden is niet atomair. Als het uitvoeren van een upgrade
faalt kan het systeem niet meer werken.
Falende Windows Update: Herinstallatie nodig.
Sander van der Burg Model-driven Distributed Software Deployment
Software Deployment
Oplossing: Automatische software deployment met de Nix package
manager
Sander van der Burg Model-driven Distributed Software Deployment
Model-driven
Om software deployment automatisch uit te voeren is een
specificatie nodig die beschrijft wat er gedaan moet worden.
De Nix package manager heeft een eigen taal om bouwacties
mee te beschrijven.
Sander van der Burg Model-driven Distributed Software Deployment
Distributed systems
Een systeem waarbij:
Onderdelen van het systeem zijn verspreid over meerdere
computers in een netwerk.
Onderdelen werken samen om een doel te bereiken
Ziet er voor de gebruiker uit als ´e´en systeem
Sander van der Burg Model-driven Distributed Software Deployment
Distributed systems
Het software deployment proces voor een gedistribueerd systeem is
moeilijker:
Kost veel tijd en is complex: op verschillende machines
moeten verschillende deployment stappen op de juiste manier
uitgevoerd worden
Kan niet atomair gebeuren. Tijdens het upgraden is het
systeem inconsistent.
Voorbeeld: Ziekenhuizen. Upgraden maar slechts een of twee
keer per jaar.
Sander van der Burg Model-driven Distributed Software Deployment
Voorbeeld: SDS2
Sander van der Burg Model-driven Distributed Software Deployment
Voorbeeld: SDS2
Sander van der Burg Model-driven Distributed Software Deployment
Model-driven Distributed Software Deployment
Nix package manager maakt software deployment makkelijker,
maar werkt met enkele systemen
Om een gedisitribueerd systeem te kunnen deployen moeten
we Nix uitbreiden; Disnix
Nieuwe modellen om eigenschappen van de deployment van
gedistribueerde systemen te beschrijven
Nieuwe tools om deployment stappen te kunnen uitvoeren
Met Disnix kunnen we automatisch SDS2 gedistribueerd
deployen
Sander van der Burg Model-driven Distributed Software Deployment
Vragen
Sander van der Burg Model-driven Distributed Software Deployment

Weitere ähnliche Inhalte

Ähnlich wie Model-driven Distributed Software Deployment laymen's talk

Waarom 42windmills
Waarom 42windmillsWaarom 42windmills
Waarom 42windmills42windmills
 
Dev Days Windows Installer Technology Final
Dev Days Windows Installer Technology FinalDev Days Windows Installer Technology Final
Dev Days Windows Installer Technology FinalJeroen Braak
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatiemenfey
 
Gratis en degelijke toepassingen - lochristi
Gratis en degelijke toepassingen - lochristiGratis en degelijke toepassingen - lochristi
Gratis en degelijke toepassingen - lochristiJoachimleeman.be
 
Gratis en degelijke toepassingen Eeklo
Gratis en degelijke toepassingen   EekloGratis en degelijke toepassingen   Eeklo
Gratis en degelijke toepassingen EekloJoachimleeman.be
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleSjoerd Hemminga
 
Cordis artikel Het Ondernemersbelang
Cordis artikel Het OndernemersbelangCordis artikel Het Ondernemersbelang
Cordis artikel Het Ondernemersbelangswaipnew
 
20170901 - Over wyStack
20170901 - Over wyStack20170901 - Over wyStack
20170901 - Over wyStackTom van Oost
 
Gratis en degelijke toepassingen Aalter
Gratis en degelijke toepassingen   AalterGratis en degelijke toepassingen   Aalter
Gratis en degelijke toepassingen AalterJoachimleeman.be
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleJeroen Reijn
 
Roderick Derks - eBook De werkplek van de toekomst
Roderick Derks - eBook De werkplek van de toekomstRoderick Derks - eBook De werkplek van de toekomst
Roderick Derks - eBook De werkplek van de toekomstRoderick Derks
 
SamenSpel voor Buurt Praktijk Team
SamenSpel voor Buurt Praktijk TeamSamenSpel voor Buurt Praktijk Team
SamenSpel voor Buurt Praktijk TeamOhyoon Kwon
 
Gratis en degelijke toepassingen waregem
Gratis en degelijke toepassingen   waregemGratis en degelijke toepassingen   waregem
Gratis en degelijke toepassingen waregemJoachimleeman.be
 
Bedrijfspresentatie Geuze Automatisering B.V.
Bedrijfspresentatie Geuze Automatisering B.V.Bedrijfspresentatie Geuze Automatisering B.V.
Bedrijfspresentatie Geuze Automatisering B.V.cmgeuze
 
Configuration Manager biedt totaaloplossing voor het beheer van hard- en soft...
Configuration Manager biedt totaaloplossing voor het beheer van hard- en soft...Configuration Manager biedt totaaloplossing voor het beheer van hard- en soft...
Configuration Manager biedt totaaloplossing voor het beheer van hard- en soft...Quadrant Communications
 
De cloud als platform Azure IaaS - Cloud Seminar
De cloud als platform Azure IaaS - Cloud SeminarDe cloud als platform Azure IaaS - Cloud Seminar
De cloud als platform Azure IaaS - Cloud SeminarDelta-N
 
Performance&Commitment
Performance&CommitmentPerformance&Commitment
Performance&CommitmentDatabaseOnline
 

Ähnlich wie Model-driven Distributed Software Deployment laymen's talk (20)

Waarom 42windmills
Waarom 42windmillsWaarom 42windmills
Waarom 42windmills
 
Solvinity CI CD
Solvinity CI CDSolvinity CI CD
Solvinity CI CD
 
Dev Days Windows Installer Technology Final
Dev Days Windows Installer Technology FinalDev Days Windows Installer Technology Final
Dev Days Windows Installer Technology Final
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatie
 
Gratis en degelijke toepassingen - lochristi
Gratis en degelijke toepassingen - lochristiGratis en degelijke toepassingen - lochristi
Gratis en degelijke toepassingen - lochristi
 
Gratis en degelijke toepassingen Eeklo
Gratis en degelijke toepassingen   EekloGratis en degelijke toepassingen   Eeklo
Gratis en degelijke toepassingen Eeklo
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
 
Cordis artikel Het Ondernemersbelang
Cordis artikel Het OndernemersbelangCordis artikel Het Ondernemersbelang
Cordis artikel Het Ondernemersbelang
 
111450
111450111450
111450
 
20170901 - Over wyStack
20170901 - Over wyStack20170901 - Over wyStack
20170901 - Over wyStack
 
Gratis en degelijke toepassingen Aalter
Gratis en degelijke toepassingen   AalterGratis en degelijke toepassingen   Aalter
Gratis en degelijke toepassingen Aalter
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
 
Roderick Derks - eBook De werkplek van de toekomst
Roderick Derks - eBook De werkplek van de toekomstRoderick Derks - eBook De werkplek van de toekomst
Roderick Derks - eBook De werkplek van de toekomst
 
SamenSpel voor Buurt Praktijk Team
SamenSpel voor Buurt Praktijk TeamSamenSpel voor Buurt Praktijk Team
SamenSpel voor Buurt Praktijk Team
 
Gratis en degelijke toepassingen waregem
Gratis en degelijke toepassingen   waregemGratis en degelijke toepassingen   waregem
Gratis en degelijke toepassingen waregem
 
Requirement engineer es
Requirement engineer esRequirement engineer es
Requirement engineer es
 
Bedrijfspresentatie Geuze Automatisering B.V.
Bedrijfspresentatie Geuze Automatisering B.V.Bedrijfspresentatie Geuze Automatisering B.V.
Bedrijfspresentatie Geuze Automatisering B.V.
 
Configuration Manager biedt totaaloplossing voor het beheer van hard- en soft...
Configuration Manager biedt totaaloplossing voor het beheer van hard- en soft...Configuration Manager biedt totaaloplossing voor het beheer van hard- en soft...
Configuration Manager biedt totaaloplossing voor het beheer van hard- en soft...
 
De cloud als platform Azure IaaS - Cloud Seminar
De cloud als platform Azure IaaS - Cloud SeminarDe cloud als platform Azure IaaS - Cloud Seminar
De cloud als platform Azure IaaS - Cloud Seminar
 
Performance&Commitment
Performance&CommitmentPerformance&Commitment
Performance&Commitment
 

Mehr von Sander van der Burg

nix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic frameworknix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic frameworkSander van der Burg
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsSander van der Burg
 
Dysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deploymentDysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deploymentSander van der Burg
 
Automating Mendix application deployments with Nix
Automating Mendix application deployments with NixAutomating Mendix application deployments with Nix
Automating Mendix application deployments with NixSander van der Burg
 
Deploying NPM packages with the Nix package manager
Deploying NPM packages with the Nix package managerDeploying NPM packages with the Nix package manager
Deploying NPM packages with the Nix package managerSander van der Burg
 
The NixOS project and deploying systems declaratively
The NixOS project and deploying systems declarativelyThe NixOS project and deploying systems declaratively
The NixOS project and deploying systems declarativelySander van der Burg
 
Deploying (micro)services with Disnix
Deploying (micro)services with DisnixDeploying (micro)services with Disnix
Deploying (micro)services with DisnixSander van der Burg
 
Hydra: Continuous Integration and Testing for Demanding People: The Details
Hydra: Continuous Integration and Testing for Demanding People: The DetailsHydra: Continuous Integration and Testing for Demanding People: The Details
Hydra: Continuous Integration and Testing for Demanding People: The DetailsSander van der Burg
 
Hydra: Continuous Integration and Testing for Demanding People: The Basics
Hydra: Continuous Integration and Testing for Demanding People: The BasicsHydra: Continuous Integration and Testing for Demanding People: The Basics
Hydra: Continuous Integration and Testing for Demanding People: The BasicsSander van der Burg
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentSander van der Burg
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentSander van der Burg
 
Techniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesTechniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesSander van der Burg
 
A Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software ComponentsA Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software ComponentsSander van der Burg
 
Deploying .NET services with Disnix
Deploying .NET services with DisnixDeploying .NET services with Disnix
Deploying .NET services with DisnixSander van der Burg
 
A Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented SystemsA Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented SystemsSander van der Burg
 
Using NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testingUsing NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testingSander van der Burg
 

Mehr von Sander van der Burg (20)

The Monitoring Playground
The Monitoring PlaygroundThe Monitoring Playground
The Monitoring Playground
 
nix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic frameworknix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic framework
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutions
 
Dysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deploymentDysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deployment
 
Automating Mendix application deployments with Nix
Automating Mendix application deployments with NixAutomating Mendix application deployments with Nix
Automating Mendix application deployments with Nix
 
Deploying NPM packages with the Nix package manager
Deploying NPM packages with the Nix package managerDeploying NPM packages with the Nix package manager
Deploying NPM packages with the Nix package manager
 
The NixOS project and deploying systems declaratively
The NixOS project and deploying systems declarativelyThe NixOS project and deploying systems declaratively
The NixOS project and deploying systems declaratively
 
Deploying (micro)services with Disnix
Deploying (micro)services with DisnixDeploying (micro)services with Disnix
Deploying (micro)services with Disnix
 
Hydra: Continuous Integration and Testing for Demanding People: The Details
Hydra: Continuous Integration and Testing for Demanding People: The DetailsHydra: Continuous Integration and Testing for Demanding People: The Details
Hydra: Continuous Integration and Testing for Demanding People: The Details
 
Hydra: Continuous Integration and Testing for Demanding People: The Basics
Hydra: Continuous Integration and Testing for Demanding People: The BasicsHydra: Continuous Integration and Testing for Demanding People: The Basics
Hydra: Continuous Integration and Testing for Demanding People: The Basics
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software Deployment
 
The Nix project
The Nix projectThe Nix project
The Nix project
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software Deployment
 
Techniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesTechniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processes
 
The Nix project
The Nix projectThe Nix project
The Nix project
 
A Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software ComponentsA Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software Components
 
Deploying .NET services with Disnix
Deploying .NET services with DisnixDeploying .NET services with Disnix
Deploying .NET services with Disnix
 
A Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented SystemsA Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented Systems
 
Using NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testingUsing NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testing
 
Pull Deployment of Services
Pull Deployment of ServicesPull Deployment of Services
Pull Deployment of Services
 

Model-driven Distributed Software Deployment laymen's talk

  • 1. Model-driven Distributed Software Deployment Sander van der Burg Technische Universiteit Delft, EWI, Afdeling Software Technologie Philips Research, Healthcare Systems Architecture, Eindhoven 17 Maart 2009 Sander van der Burg Model-driven Distributed Software Deployment
  • 2. Introductie “Model-driven Distributed Software Deployment” Software Engineering Software Deployment Model-driven Distributed systems Sander van der Burg Model-driven Distributed Software Deployment
  • 3. Software Engineering “Discipline die zich bezighoudt met alle aspecten van het bouwen van software systemen” Sander van der Burg Model-driven Distributed Software Deployment
  • 4. Software Engineering Het bouwen van software systemen is complex: Voldoet een softwaresysteem aan de gestelde eisen? Hoe zijn we er zeker van dat een softwaresysteem werkt? Hoe kunnen we het ontwikkelproces verbeteren? Hoe kunnen we de kans op fouten verminderen? Hoe kunnen we het ontwikkelproces sneller maken? Hoe maken we een software systeem onderhoudbaar? Sander van der Burg Model-driven Distributed Software Deployment
  • 5. Software Deployment Alle activiteiten die uitgevoerd moeten worden om een systeem geschikt te maken voor gebruik: Sander van der Burg Model-driven Distributed Software Deployment
  • 6. Software Deployment Alle activiteiten die uitgevoerd moeten worden om een systeem geschikt te maken voor gebruik: Bouwen van componenten van een softwaresysteem Versturen van componenten van de producent naar de klant Installeren van componenten Activeren van software componenten Upgraden van componenten Sander van der Burg Model-driven Distributed Software Deployment
  • 7. Software Deployment Software deployment is complex: Programma’s hebben afhankelijkheden op andere software, bv. bibliotheken. Nieuwe versies kunnen overschreven worden door oudere versies en de software breken (DLL-hell) Programma’s hebben soms afhankelijkheden op specifieke versies/varianten van onderdelen Nieuwere versies van componenten zijn niet altijd compatibel met oudere versies Internet Explorer 6 i.p.v. Internet Explorer 7 Sander van der Burg Model-driven Distributed Software Deployment
  • 8. Software Deployment Het deinstalleren of verwijderen van software is meestal onveilig. Hoe weet je zeker dat het niet meer in gebruik is of benodigd is voor iets anders? Upgraden is niet atomair. Als het uitvoeren van een upgrade faalt kan het systeem niet meer werken. Falende Windows Update: Herinstallatie nodig. Sander van der Burg Model-driven Distributed Software Deployment
  • 9. Software Deployment Oplossing: Automatische software deployment met de Nix package manager Sander van der Burg Model-driven Distributed Software Deployment
  • 10. Model-driven Om software deployment automatisch uit te voeren is een specificatie nodig die beschrijft wat er gedaan moet worden. De Nix package manager heeft een eigen taal om bouwacties mee te beschrijven. Sander van der Burg Model-driven Distributed Software Deployment
  • 11. Distributed systems Een systeem waarbij: Onderdelen van het systeem zijn verspreid over meerdere computers in een netwerk. Onderdelen werken samen om een doel te bereiken Ziet er voor de gebruiker uit als ´e´en systeem Sander van der Burg Model-driven Distributed Software Deployment
  • 12. Distributed systems Het software deployment proces voor een gedistribueerd systeem is moeilijker: Kost veel tijd en is complex: op verschillende machines moeten verschillende deployment stappen op de juiste manier uitgevoerd worden Kan niet atomair gebeuren. Tijdens het upgraden is het systeem inconsistent. Voorbeeld: Ziekenhuizen. Upgraden maar slechts een of twee keer per jaar. Sander van der Burg Model-driven Distributed Software Deployment
  • 13. Voorbeeld: SDS2 Sander van der Burg Model-driven Distributed Software Deployment
  • 14. Voorbeeld: SDS2 Sander van der Burg Model-driven Distributed Software Deployment
  • 15. Model-driven Distributed Software Deployment Nix package manager maakt software deployment makkelijker, maar werkt met enkele systemen Om een gedisitribueerd systeem te kunnen deployen moeten we Nix uitbreiden; Disnix Nieuwe modellen om eigenschappen van de deployment van gedistribueerde systemen te beschrijven Nieuwe tools om deployment stappen te kunnen uitvoeren Met Disnix kunnen we automatisch SDS2 gedistribueerd deployen Sander van der Burg Model-driven Distributed Software Deployment
  • 16. Vragen Sander van der Burg Model-driven Distributed Software Deployment