dinsdag 6 augustus 2013

Visual Studio in Azure

Wie aan Windows Azure denkt, denkt in eerste instantie aan schaalbare hostingvormen waarin je een webapplicaties kunt draaien en nagenoeg onbegrenste opslagmogelijkheden hebt. Windows Azure heeft echter veel meer te bieden. In eerdere blogs heb je al kennis kunnen maken met Cloud Services, Windows Azure Sql Database, Access Control Service, Windows Azure Service Bus en gedistribueerde cache.
Het basisprincipe blijft dat je een virtuele omgeving draait in één van de datacentra van Microsoft. Zo'n virtuele omgeving is niets anders dan een enorm bestand dat een compleet besturingssysteem bevat. Het is alsof je jouw harde schijf met Windows en alles erop en eraan in een computer van Microsoft plugt. Zo'n omgeving kun je direct uit de bibliotheek van Windows Azure trekken, maar je kunt ook jouw eigen omgeving samenstellen en deze in Windows Azure hangen. Dit gaat via Windows Azure Virtual Machines.

In het kader van "de schoorsteen moet ook roken" heeft Microsoft ook hierin nogal wat werk uit handen genomen. Zo kun je complete basisomgevingen uit de bibliotheek trekken waarop reeds geïnstalleerde producten staan en deze naar believen uitbreiden. Natuurlijk met een prijs. We gaan eens bekijken hoe dat in zijn werk gaat.

Alleereerst log je in op de Azure Portaal. Van daaruit ga je naar de sectie "Virtual Machines" (afbeelding 1). Van hieruit is het allemaal vrij vanzelfsprekend. Klik op "Create A Virtual Machine" hetgeen leidt naar het scherm in afbeelding  2.


Afbeelding 1. De "Virtual Machines" groep.
Afbeelding 2. Selecteerd "from gallery" om een omgeving te selecteren met een specifieke toepassing.
Met de optie "Quick Create" kun je snel een omgeving opzetten en met "From Gallery" kun je hetzelfde bewerkstelligen, maar dan met iets meer werk. We kiezen "From Gallery" en komen bij de wizard in afbeelding 3.


Afbeelding 3. De voorgefabriceerde omgevingen.
Uit dit lijstje selecteer je welke applicatie je op de omgeving wilt hebben. Zoals je ziet, is er een grote hoeveelheid omgevingen met daarop geïnstalleerde toepassingen. Zo zijn er omgevingen met SqlServer (2008 t/m 2014 in alle soorten en maten), BizTalk servers, SharePoint Servers en zowaar een aantal Linux distributies (waarom ook niet), zoals SUSE, Ubuntu en CentOS. De omgeving met Visual Studio Ultimate 2013 trok echter mijn aandacht omdat zo'n Ultimate editie knetterduur (meer dat 10.000,-) is. Vervolgens moet je de omgeving configureren (afbeelding 4). 


Afbeelding 4. Vrij riante omgeving. Specificeer hier ook de credentials die je nodig hebt om in te loggen op de omgeving.
Voor deze omgeving wordt "Large" aanbevolen, dus 4 processoren en 7 GB ram. OK, dat gaat al in de papieren lopen. Zo'n omgeving kost toch al gauw €200,- per maand. Als je de omgeving, na gebruik, netjes uitzet, kun je de kosten reduceren to €0,27 per uur. Dat valt dan weer mee, maar reken je niet rijk. Dit zijn slechts de hostingskosten. De licentiekosten, die op dit moment nog onbekend zijn, komen hier nog bij.
Daarna moet je aangeven in welke cloud service de omgeving komt te draaien (afbeelding 5). Let op! Dit is geen machine. Het is een cluster van omgevingen waarbinnen meerdere virtuele machines kunnen draaien. Handig voor load balancers. Daarnaast zul je nog het datacentrum, waarin de machine komt te draaien, moeten opgeven (region), de storage account waarin de VHD (het bestand dat de harde schijf met daarop de omgeving representeert) wordt opgeslagen. Eventueel kun je nog een Availability Set opgeven. Hiermee ben je niet zo afhankelijk van hinderlijke storingen in het datacentrum.


Afbeelding 5. Configuratie van de service, region, storage en availability.
Tenslotte nog wat endpoints opgeven om te kunnen communiceren met de omgeving. Een remote desktop endpoint en een endpoint om via PowerShel met de omgeving te kunnen interacteren zijn hierbij wel handig. Vandaar dat deze standaard al zijn ingevuld (afbeeldig 6). 


Afbeelding 6. Endpoints definieren.
In nog geen 10 minuten wordt nu een omgeving met Visual Studio Ultimate 2013 in elkaar gedraaid. Wanneer dit gelukt is, kun je aan de slag. In de Windows Azure Portal kun je de zojuist aangemaakte omgeving bewonderen en bedienden (afbeelding 7).


Afbeelding 7. De omgeving is in gereedheid.
Onderin het scherm vind je een aantal bedieningsfuncties:
  1. Connect. Hiermee leg je een remote desktop verbinding met de omgeving. Het downloadt een .rdp bestand dat je kunt activeren waarmee de remote desktop sessie start.
  2. Restart. Om de omgeving te herstarten (reboot)
  3. Shut Down. Om de omgeving uit te zetten. Belangrijk omdat hiermee de kosten stoppen.
  4. Attach. Hiermee kun je een extra vhd aan jouw omgeving hangen. Het komt erop neer dat je een extra "harde schijf" aan jouw omgeving hangt.
  5. Detach Disk. Verwijder de extra harde schijf weer.
  6. Capture. Maak een copie van de huidige image die je vervolgens weer als een basistemplate inzet.
  7. Delete. Verwijder de virtual machine. (Verwijdert niet de .vhd blob in de store!)
Wanneer je de "Connect" knop kiest, wordt de remote desktop verbinding tot stand gebracht en kom je op de virtuele omgeving (afbeelding 8). Van hieruit kun je dan Visual Studio starten (afbeelding 9).


Afbeelding 8. Server 2012 met Visual Studio Ultimate 2013.
Afbeelding 9. Visual Studio draaiende vanuit de cloudomgeving.
Visual Studio op een virtuele omgeving lijkt mij een interessante optie in Windows Azure. Temeer daar Visual Studio Ultimate erg duur is. Tot dusver betaal je nog de hostingskosten (€0,27 per uur), maar daarbij zullen nog de licentiekosten bij komen (geen idee wat die gaan worden). Je hebt dan wel de mogelijkheid om waar dan ook op jouw ontwikkelomgeving te kunnen werken, mits er een internet verbinding is, natuurlijk. Het trekt ook niet zo'n zware wissel op de gewenste hardware die bij iedere Visual Studio release veeleisender lijkt te worden. Voor de Microsoft trainingen zou dit wel eens een handige oplossing kunnen zijn in plaats van die zware omgevingen die nu worden aangeboden. Ik zie het nog wel een keer gebeurden dat de MOC-trainingen op deze manier worden aangeboden. 

Geen opmerkingen:

Een reactie posten