model-driven distributed software deployment laymen's talk
DESCRIPTION
Laymen's talk (in Dutch) of my Master's thesisTRANSCRIPT
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 bouwenvan 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 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
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
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
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
Software Deployment
Oplossing: Automatische software deployment met de Nix packagemanager
Sander van der Burg Model-driven Distributed Software Deployment
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
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
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
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 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
Vragen
Sander van der Burg Model-driven Distributed Software Deployment