Vi har jobbet med virtualisering i nesten 2 år. I all hovedsak har vi benyttet oss av VMware Server (Linux) og hhv Workstation (Windows/Linux) og Fusion (Mac). Den siste tiden har vi eksperimentert en del med Amazon EC2. I den sammenhengen har jeg sett på diverse produkter og tjenester i tilknytning til EC2. Bla har jeg prøvd EngineYard Solo, scalr.net og Poolparty.
Poolparty var i utgangspunktet veldig interessant, fordi det er open source og fordi det skulle støtte både ec2 og VMware Worstation/Fusion. Nå viste det seg fort at dette ikke akkurat var en dans på roser eller “twisting by the pool” for den saks skyld. VMware implementasjonen var (per 1.mai 2009) særdeles rudimentær. Feks ville programvaren påstå at skyen din allerede var operativ dersom en virtuell maskin allerede var startet, helt uavhengig av hva slags rolle denne hadde. Jeg bruker Mac til hverdags og har en egen Windows VM (virtuell maskin) for å få fjern-oppkobling til en av mine kunder (Windows basert VPN + putty tunnel; ganske fikst om jeg skal si det selv). Denne VM (og aller andre) må slås av før Poolparty kan kjøres. Videre er Poolparty avhengig av å vite ip-adressen til en VM før denne kan bearbeides. Det betyr i praksis at en VM som du skal konfigurere opp må ha vært startet manuelt før du kan kjøre automatikk på denne. Det vil for eksempel ikke være mulig å dra i gang en ny sky med et sett roller basert på lagrede VMer, vi vet jo ikke hvilke ip-adresser disse VMene vil få!
Skal du lage denne type automatik (pålogging uten å vite ip-addressen), så må du ha VMware Tools installert i basis VMene dine (eng: “base images”). Dette er godt dokumentert og muliggjør en del kul funksjonalitet. Ved hjelp av kommandolinje-verktøyet vmrun kan du feks kjøre programmer inne i VMet ditt, overføre filer fra VM til host mm. Mine basis VMer er satt opp med ruby, chef og VMware Tools. I tillegg har jeg lagt inn et par script for å finne ip-adressen og lagre denne i en predefinert fil. Fra min Mac kan jeg da først kjøre vmrun runProgramInGuest og få generert opp en fil med ip-adressen og deretter vmrun copyFileFromGuestToHost for å kopiere filen ned til min maskin. Nå har jeg ip-adressen og kan begynne å kjøre chef oppskriftene fra capsitrano. Dersom du lurer på hva chef oppskrifter er for noe, kan du jo følge linken ovenfor eller vente på et innlegg i denne bloggen
Jeg kommer tilbake med mer om erfaringer rundt scalr.net og EngineYard Solo.