Model-driven Distributed Software Deployment laymen's talk

16
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

description

Laymen's talk (in Dutch) of my Master's thesis

Transcript of Model-driven Distributed Software Deployment laymen's talk

Page 1: Model-driven Distributed Software Deployment laymen's talk

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

Page 2: Model-driven Distributed Software Deployment laymen's talk

Introductie

“Model-driven Distributed Software Deployment”

Software Engineering

Software Deployment

Model-driven

Distributed systems

Sander van der Burg Model-driven Distributed Software Deployment

Page 3: Model-driven Distributed Software Deployment laymen's talk

Software Engineering

“Discipline die zich bezighoudt met alle aspecten van het bouwenvan software systemen”

Sander van der Burg Model-driven Distributed Software Deployment

Page 4: Model-driven Distributed Software Deployment laymen's talk

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

Page 5: Model-driven Distributed Software Deployment laymen's talk

Software Deployment

Alle activiteiten die uitgevoerd moeten worden om een systeemgeschikt 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

Page 6: Model-driven Distributed Software Deployment laymen's talk

Software Deployment

Alle activiteiten die uitgevoerd moeten worden om een systeemgeschikt 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

Page 7: Model-driven Distributed Software Deployment laymen's talk

Software Deployment

Software deployment is complex:

Programma’s hebben afhankelijkheden op andere software, bv.bibliotheken.

Nieuwe versies kunnen overschreven worden door oudereversies en de software breken (DLL-hell)

Programma’s hebben soms afhankelijkheden op specifiekeversies/varianten van onderdelen

Nieuwere versies van componenten zijn niet altijd compatibelmet oudere versiesInternet Explorer 6 i.p.v. Internet Explorer 7

Sander van der Burg Model-driven Distributed Software Deployment

Page 8: Model-driven Distributed Software Deployment laymen's talk

Software Deployment

Het deinstalleren of verwijderen van software is meestalonveilig.

Hoe weet je zeker dat het niet meer in gebruik is of benodigdis voor iets anders?

Upgraden is niet atomair. Als het uitvoeren van een upgradefaalt kan het systeem niet meer werken.

Falende Windows Update: Herinstallatie nodig.

Sander van der Burg Model-driven Distributed Software Deployment

Page 9: Model-driven Distributed Software Deployment laymen's talk

Software Deployment

Oplossing: Automatische software deployment met de Nix packagemanager

Sander van der Burg Model-driven Distributed Software Deployment

Page 10: Model-driven Distributed Software Deployment laymen's talk

Model-driven

Om software deployment automatisch uit te voeren is eenspecificatie nodig die beschrijft wat er gedaan moet worden.

De Nix package manager heeft een eigen taal om bouwactiesmee te beschrijven.

Sander van der Burg Model-driven Distributed Software Deployment

Page 11: Model-driven Distributed Software Deployment laymen's talk

Distributed systems

Een systeem waarbij:

Onderdelen van het systeem zijn verspreid over meerderecomputers in een netwerk.

Onderdelen werken samen om een doel te bereiken

Ziet er voor de gebruiker uit als een systeem

Sander van der Burg Model-driven Distributed Software Deployment

Page 12: Model-driven Distributed Software Deployment laymen's talk

Distributed systems

Het software deployment proces voor een gedistribueerd systeem ismoeilijker:

Kost veel tijd en is complex: op verschillende machinesmoeten verschillende deployment stappen op de juiste manieruitgevoerd worden

Kan niet atomair gebeuren. Tijdens het upgraden is hetsysteem inconsistent.

Voorbeeld: Ziekenhuizen. Upgraden maar slechts een of tweekeer per jaar.

Sander van der Burg Model-driven Distributed Software Deployment

Page 13: Model-driven Distributed Software Deployment laymen's talk

Voorbeeld: SDS2

Sander van der Burg Model-driven Distributed Software Deployment

Page 14: Model-driven Distributed Software Deployment laymen's talk

Voorbeeld: SDS2

Sander van der Burg Model-driven Distributed Software Deployment

Page 15: Model-driven Distributed Software Deployment laymen's talk

Model-driven Distributed Software Deployment

Nix package manager maakt software deployment makkelijker,maar werkt met enkele systemen

Om een gedisitribueerd systeem te kunnen deployen moetenwe Nix uitbreiden; Disnix

Nieuwe modellen om eigenschappen van de deployment vangedistribueerde systemen te beschrijvenNieuwe tools om deployment stappen te kunnen uitvoeren

Met Disnix kunnen we automatisch SDS2 gedistribueerddeployen

Sander van der Burg Model-driven Distributed Software Deployment

Page 16: Model-driven Distributed Software Deployment laymen's talk

Vragen

Sander van der Burg Model-driven Distributed Software Deployment