Bij software-installatie hebben sommige mensen nog het beeld van een floppy die je zelf in je machine stopt waarna je een paar keer op next drukt. Virtualisatie en cloud computing veranderen dat idee echter fundamenteel. De floppy verandert, de installatie verandert, en zelfs de machine verandert.
De traditionele manier vraagt om aanschaf van hardware en installatie en optimalisatie van het besturingsssysteem, databases, etc. Dat kost veel en duurt lang. Daarom is het zo prettig als iemand anders dat doet: ‘software as a service' (SaaS). Dan heb je geen eigen hardware en geen eigen software. De bekendste voorbeelden van SaaS zijn Gmail en salesforce.com.
Maar SaaS is niet altijd handig, bijvoorbeeld bij business intelligence-oplossingen met grote datawarehouses. Als je die op gedeelde servers draait kun je aardig last hebben van de andere gebruikers, als die even flink los gaan. Om in consultantstaal te spreken: 'het capaciteitsbeheer is een uitdaging'.
Een moderne tussenvorm is het uitleveren van een ‘virtual appliance'. Dat is een kant-en- klare virtuele server met de applicatie en database er al op geconfigureerd. Die installeer je zo in je eigen rekencentrum, of desgewenst in de cloud. In Nederland hoorde ik dat Anago het eerste doen, vooral omdat dat installatietijd bespaart, en de afnemers toch zelf kunnen bepalen hoeveel capaciteit ze er op inzetten.
In de computing cloud kan het nog een stap verder gaan. Een 'virtual machine' is nog altijd aan een fysieke machine gebonden, en 'operating systems' zoals Windows en Linux ook. Maar als je dat kan fundamenteel kan loslaten kan je software overal in de wereld draaien waar capaciteit en behoefte is. Toekomstmuziek? Misschien, maar bij Google App Engine, bijvoorbeeld, is het nu al mogelijk om software (mits geschreven in de programmeertalen Java of Python) plaatsonafhankelijk te draaien. Volgens mijn metingen draait de software tegelijk in New York, Hong Kong en Groningen.
The sky is the limit.
Peter van Eijk is onafhankelijk adviseur (www.digitalinfrastructures.nl)