< Terug naar vorige pagina

Project

Beheer van grootschalige ICT infrastructuur.

In onze samenleving zijn we in ons privé en professioneel leven steeds meer afhankelijk van software programmas. Veel van deze software programmas zijn onderling met elkaar verbonden om zo een gedistribueerd systeem te creëren. Helaas falen software programmas frequent en is de resulterende onbeschikbaarheid erg kostelijk. Fouten in de configuratie van deze software programmas liggen vaak aan de basis van dit falen. Daarenboven wordt de impact van configuratiefouten versterkt door het feit dat softwareprogrammas in een gedistribueerd systeem afhankelijk zijn van andere programmas in het gedistribueerd systeem, en afhankelijkheden hebben op de uitvoeringsomgeving waarin ze opereren.

De configuratievan software, en in het bijzonder van gedistribueerde systemen, bestaatuit vele configuratieparameters. De waarde van deze parameters moet consistent zijn met alle andere parameters in de configuratie: van de configuratieparameters van een programma dat gebruikt wordt door een eindgebruiker, tot de parameters in een netwerkswitch in de onderliggende infrastructuur. Elke aanpassing moet zorgvuldig uitgevoerd worden zodat alle configuratieparameters consistent blijven met elkaar. Indien dit niet gebeurt kan de aanpassing falen veroorzaken en wordt de software onbeschikbaar. Configuration management tools laten toe om de configuratie en herconfiguratie van software programmas en hun uitvoeringsomgeving te automatiseren. De invoer van deze gereedschappen is een model dat de gewenste toestand van de configuratie beschrijft, inclusief afhankelijkheden tussen configuratieparameters om ze zo onderling consistent te houden. Helaas is de huidige generatie van beheersgereedschappen niet in staat om een volledig gedistribueerd systeem in zijn geheel te beschrijven. De configuratie wordt doorgaans per apparaat of per subsysteem beheerd. Ondanks de automatisatie moeten systeembeheerders dus nog steeds configuratieparameters manueel consistent houden tussen verschillende beheersgereedschappen.

Deze thesis introduceert een raamwerk voor geïntegreerd configuratiebeheer. De invoer voor het raamwerk is een geïntegreerd, modulair configuratiemodel. Dit model bevat de configuratie van de volledige infrastructuur: alle apparaten, alle subsystemen en hun afhankelijkheden. Het raamwerk gebruikt verfijning om alle abstractieniveaus te vattenin één model, inclusief concepten van laag abstractieniveau zoals configuratiebestanden op een machine, maar ook architecturale concepten zoals programmas met hoge beschikbaarheid en replicatie. Het geïntegreerd configuratiemodel kan alle relaties tussen configuratieparameters modelleren zodat bij aanpassingen elke parameter consistent gehouden kan worden. 

Het raamwerk genereert configuratieartefacten en kan ze toepassen op echte infrastructuren: zoals configuratiebestanden aanmaken en installeren of software installeren op machines. Systeembeheerders kunnen het raamwerk gebruiken om hun huidige ad-hoc scripts over te zetten naar gestructureerde, herhaalbare en beheerbare scripts. Ontwikkelaars van een configuratiemodel kunnen gebruikmaken van software engineering technieken zoals modulariteit, hergebruik en verfijning. Het raamwerken het gebruik van technieken uit software engineering biedt een rigoureuze en gedisciplineerde aanpak aan voor het beschrijven en uitrollen van complexe configuratieaanpassingen. 

Een prototype en drie gevalstudies valideren de haalbaarheid van het raamwerk. Bovendien demonstreren de gevalstudies dat het raamwerk in staat is om: (a) de configuratie van complexe gedistribueerde systemen en hun uitvoerinsomgeving volledig te automatiseren, inclusief het genereren van de onderliggende virtuele machines, (b) heterogene infrastructuur, zoals netwerkapparatuur en servers, te beheren vanuit een geïntegreerd configuratiemodel, en (c) om domein specifieke configuratieparameters automatisch te alloceren, bijvoorbeeld subnetwerken in een dual stack IP netwerk.
Datum:2 jul 2009 →  23 jun 2014
Trefwoorden:Scaling, Cloud computing, System administration, Monitoring, ICT indrastructure
Disciplines:Toegepaste wiskunde, Computerarchitectuur en -netwerken, Distributed computing, Informatiewetenschappen, Informatiesystemen, Programmeertalen, Scientific computing, Theoretische informatica, Visual computing, Andere informatie- en computerwetenschappen
Project type:PhD project