Artikel top billede

(Foto: Computerworld)

Sådan udnytter du Microsofts Sky-platform Azure

Hvis du arbejder med it-infrastruktur, dataintensive applikationer eller meget besøgte hjemmesider og online-tjenester, er det værd at overveje Microsofts Sky-platform Azure.

Af Tom Madsen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Du kan afprøve Microsoft Azure i en måned uden at skulle betale ved at registrere dig på www.windowsazure.com. Her giver vi dig forudsætningerne for at komme hurtigt i gang med eksperimenterne. I denne første del vil vi gå igennem nogle eksempler på konfigurering i portalen til Azure. I næste del vil vi skifte til programmering og udvikling til og rettet imod Azure.

Men lad os springe ud i det. På figur 1 kan du se et udsnit af den portal, du får præsenteret, når du er logget ind på Azure. Her vil vi oprette et virtuelt netwæk samt en virtuel maskine og kikke på de konfigurationsmuligheder, der er for hver af dem. Hvad Azure er, kommer an på hvem du er. En udvikler vil have ét synspunkt, mens en systemadminstrator vil have et andet. Azure kan udfylde behov hos begge to, men i denne artikel vil vi se primært på, hvad Azure tilbyder for en systemadministrator.

I gang med netværk

Hvis man skal have et helt datacentermiljø op at køre på Azure, så skal man først oprette og konfigurere det netværk, der skal understøtte alle de servere og services, som skal køres fra datacentret. Hvis du har oprettet en profil på windowsazure.com, så kan du følge med her. Jeg tager det hele step for step.

Først navigerer vi til Networks på Azure-portalen og klikker på ’New Network’. Det bringer skærmen på figur 3 frem. Her kan vi give vores netværk et navn og fortælle Azure, hvor henne i verden vi gerne vil have vores netværk etableret. Dropdown-listen, hvor der står ’Create a new afinity group’, udløser en default-gruppe, der bliver basis for alle andre netværk, du laver på Azure.

Du kan ikke se den på figur 3, men neden under listen med regioner er en teksboks til at give din gruppe et navn. Giv netværket et navn, og giv et navn til din gruppe, og vælg ’North Europe’ som region. At lave det så tæt på din fysiske lokation som muligt vil sikre, at ping-tiderne ikke bliver for lange. Klik på pilen i nederste højre hjørne for at komme videre. På figur 4 kan du se, hvordan næste konfigurationsskærm ser ud.

Du kan sætte navneopslag op imellem dit lokale netværk og det Azure-netværk, vi er ved at lave. Den setting kan vi ignorere her. Læg mærke til, at det er muligt her at sætte en VPN-forbindelse op imellem dit lokale netværk og Azure-netværket samt for en enkelt bruger til Azure.

Den næste skærm er stedet, hvor vi skal sætte vores ip-adresser op for netværket. Som du kan se på figur 5, så er de IP-adresser, der er tilrådighed på Azure, dem, som er defineret som private adresser – altså adresser, der ikke kan routes på Internet. Nu kan du spørge dig selv, om det ikke er ret få adresser til hundredtusindvis af kunder. Men husk på, at det vi er ved at lave er et virtuelt netværk.

En anden kunde, der konfigurerer sit netværk med de samme adresser, og med de samme subnet som dig, vil ikke ane, at du eksisterer. Hvad så med IPv6? Det er der ikke for nuværende support for på Azure, men det er utvivlsom noget, der kommer med tiden. Så vælg nogle indstillinger, der passer dig, og klik ’Done’ i nederste højre hjørne.

Hvad vi vælger, gør ingen forskel, fordi vi kan oprette og slette netværk, som det passer os på Azure. Nu står Azure så og tænker lidt over tingene et halvt minuts tid, hvorefter vores netværk er klart.

Den virtuelle maskine

Næste punkt er oprettelsen af en virtuel maskine – så klik på ’Virtual Machines’-linket i navigationen på venstre side af Azure portalen. Klik på ’New Virtual Machine’. Som du kan se på figur 6, er der nogle flere muligheder her, end det var tilfældet med netværket. Når du har tid, vil jeg anbefale dig at klikke lidt rundt for at udforske mulighederne. Men nu klikker vi på ’Compute’ i første kolonne i venstre side, ’Virtual Machine’ i næste kolonne og ’From Gallery’ i den næste. Det bringer skærmen på figur 2 frem igen.

Her er listet en masse prækonfigurerede virtuelle maskiner, som du kan bruge løs af. Skal du bruge en SharePoint 2013 server til udvikling? Den finder du her. Hvad med en BizTalk-server? Den er her også. Skal du bruge en virtuel maskine på Azure til et bestemt formål, så giver det god mening lige at browse lidt rundt i den prækonfigurerede, før du begynder at gøre det selv fra bunden. Selv Linux-maskiner og Oracle-databaser finder du her.

Vi er ikke interesserede i noget komplekst, så vælg Windows Server i venstre side, og Windows Server 2012 R2 Datacenter i den miderste kolonne, og klik videre. Figur 7 viser, hvor du angiver et navn til den virtuelle maskine, og hvordan hardwarekonfigurationen skal se ud. Så giv din virtuelle maskine et navn, et brugernavn og password, men lad ellers de andre konfigurationer være, som de er. Du kan altid lave flere maskiner senere.

Figur 8 viser nogle flere detailjer, som vi skal oplyse Azure om, før den kan etablere maskinen. Som udgangspunkt laver Azure en ny cloud-service og bruger det navn, vi gav den virtuelle maskine som en del af DNS-navnet. I den tredje dropdown-menu skulle du meget gerne finde det netværk, vi lavede tidligere. Du vælger bare det navn, du gav din Afinity Group. Resten af konfigurationen kan du lade være, som den er og klikke videre. Når du gør det, vil Azure tjekke, at der ikke er andre, der valgt det samme navn som dig til en maskine. Det er vigtigt i vores tilfælde, fordi vi bruger den DNS tjeneste, der følger med Azure og bruger cloudapp.net domænet.

Licenserne på plads

Et klik mere, og vi kommer videre til den sidste skærm på figur 9. Her er der ikke noget, vi skal gøre, men læg mærke til at du kan tilføje antivirus til den virtuelle maskine her. Klik færdig. Denne gang står Azure og tænker lidt længere tid. Det er, fordi den nu skal spinne en hel virtuel maskine fra bunden, og den slags tager den tid, det tager.

Nu har vi en Windows Server 2012 R2 kørende. Nederst i browseren kan du se en mørkegrå menu. Klik på ’Connect’. Browseren vil spørge, om du vil åbne en rdp-fil. Rdp er remote desktop, som du kender det. Log på med dit brugernavn og password, og voila, du har nu en Windows-maskine kørende i Azure på dit eget private netværk.

Hvad kan du så bruge det til? Der er et utal af muligheder. Microsoft har en masse kunder, der kører komplette systemer i Azure til test og udvikling af software. I princippet kan du have en fuld replikering af dit private datacenter i Azure, som kan bruges i tilfælde af et nedbrud i dit eget.

En vigtig ting at vide er, at du kun betaler for de virtuelle maskiner, når de rent faktisk er oppe og køre på Azure. Der gælder dog stadigvæk de sædvanlige regler for licenser. Har du for eksempel en maskine med BizTalk konfigureret i Azure, så skal du have en licens til BizTalk for den maskine uanset, om den kører eller ej. Microsoft har masser af træningsmateriale på forsiden til Azure-portalen.

Microsofts sky-platform Azure er central for alle, der arbejder seriøst og professionelt med it-infrastruktur, dataintensive applikationer eller velbesøgte hjemmesider og onlinetjenester.

Her i anden del af introduktionen til Azure tager vi dig et skridt eller to videre. I sidste nummer fokuserede vi på Azure set fra et systemadministrator-synspunkt. Vi lavede et virtuelt netværk og tilføjede en virtuel maskine til dette netværk. I dette nummer ser vi på platformen fra et udviklersynspunkt. For en programmør tilbyder Azure nemlig næsten uanede muligheder. Vi vil tage et kig på nogle af disse muligheder og skabe et website i Visual Studio. Sitet vil vi herefter publicere på Azure.

Det er information, der kan bruges til noget, for der findes ikke rigtig nogen bøger om udvikling til Azure. Der er en del litteratur om ASP.NET-udvikling. De berører Azure, men ingen af dem fokuserer udelukkende på Azure. Det er der en god grund til. Azure bevæger sig så hurtigt, at når en bog udkommer, vil den være baseret på forældet information. Microsoft udgiver nye udviklerværktøjer til Azure tre til fire gange om året. I skrivende stund er det seneste softwareudviklingskit i version 2.3, og det er skærmbilleder fra den version integreret i Visual Studio, du vil se i denne artikel.

Kom gratis i gang

Inden vi kaster os ud i at lægge et website på Azure, så lad os tage et kig på nogle af de funktioner i Azure-portalen, der primært er rettet imod udviklere. Hvis du ikke allerede har en Azure-konto, så kan du lave en gratis på http://azure.microsoft.com. Der følger kreditter med for 1500 kroner, så du har mulighed for at eksperimentere med Azure, uden at det vil koste dig noget.

Klik på SQL Databases i venstre side at Azure-portalen. Som du nok har gættet, så er det her, du kan lave databaser til at dække dine behov. En Azure-database kan også bruges fra apps, du udvikler til SharePoint eller Office 2013. På billede 1 kan du se det første konfigurationsvindue. Her vælger du et navn, størrelsen på databasen, og hvilken colla-tion den skal have.

Collation-betegnelsen dækker over, hvilket tegnsæt databasen understøtter. Det du vælger her bestemmer, om du kan anvende græske eller russiske bogstaver i din database. På den næste skærm angiver du et brugernavn og et password til databasen, og hvilken region databasen skal oprettes i. Microsoft har Azure-datacentre over hele verden, så du kan oprette databaser tæt på dine brugere.

Lad os prøve det af

Lad os tage et kik på Visual Studio Online – i venstre side af portalen. Man kunne forledes til at tro, at der er en Visual Studio i browseren, men der er tale om Microsofts Application Lifecyckle Management-løsning online. Kort sagt er det en Team Foundation Server (TFS), der er hostet og drevet af Microsoft selv. Bruger du Microsofts online-TFS, så kan du linke den til din Azure-konto. Og ja, det betyder også, at du kan sætte det hele op, så Visual Studio online automatisk publicerer nye builds af software til maskiner eller websider på Azure.

Men lad os komme til sagens kerne, og prøve nogle af alle disse ting af. Hvis du vil følge med i den næste øvelse, kræver det, at du har en Azure-konto, og en version af Visual Studio 2012 eller 2013. De kan downloades fra Microsoft i prøveudgaver, der gælder i tre måneder.

De følgende skærmbilleder er fra en Visual Studio 2013 med Update 2 installeret og Azure SDK 2.3.

Start med at oprette et nyt ASP.NET-projekt. Microsoft har med de forskellige opdateringer til Visual Studio simplificeret oprettelsen af projekter. Du vil se, at der kun er en ASP.NET-mulighed i Visual Studio 2013 Update 2.

Giv dit projekt et navn, og klik ’OK’. Det bringer skærmen på billede 2 frem. Det er her, du vælger, hvilken type ASP.NET-applikation, du vil lave. Vælg ’MVC’. Det, som vi er interesserede i på billede 2, befinder sig i nederste højre hjørne. Her er Azure tjekket af, og du kan se, at der er to muligheder for at hoste websiden på Azure. Den første er lige ud ad landevejen. Her opretter Visual Studio websiden på en IIS uden videre. Den anden kræver lidt forklaring. Med en ’Virtual machine’ vil Azure lave en virtuel maskine og konfigurere IIS og .NET på den. Og det er det.
Fremadrettet er det dit ansvar at holde denne virtuelle maskine opdateret med sikkerhedsopdateringer til både OS og de eventuelle andre applikationer, som du installerer til at supportere websiden. Vi vælger bare ’Web Site’ og klikker ’OK’.

På billede 3 kan du se det næste vindue. Her tjekker Visual Studio, om det navn, du gav dit projekt, er unikt og kan bruges som en del af URL’en på Azure. Du kan ændre navnet, hvis du ikke er interesseret i at bruge projektnavnet, eller hvis det ikke er unikt på Azure. Du vælger også, hvilken region websiden skal oprettes i. For den bedste udviklingsoplevelse bør du vælge en region så tæt på dig selv som muligt. Jeg har valgt ’North Europe’.

Du kan specificere, at der skal oprettes en database til websiden, som en del af konfigurationen. Det er vi ikke interesserede i her. Klik ’OK’.
Nu går Visual Studio i gang med at oprette projektet, men det er vigtigt at vide, at selvom Visual Studio har reserveret en webside på en IIS på Azure, så er selve siden ikke uploadet til Azure endnu. Inden upload, så kig på Solution Explorer i øverste højre hjørne. Her ser du, at Visual Studio har oprettet nogle PowerShell-scripts. Visual Studio bruger disse til at kommunikere med Azure, når vi publicerer vores projekt.

Du har frihed til at tilpasse disse scripts, og du kan gøre det direkte fra Visual Studio.

For at publicere siden til Azure skal du højreklikke på projektet i Solution Explorer og vælge ’Publish’ fra menuen. Klik på ’Connection’ i venstre side af det vindue, der dukker op.

På billede 4 kan du se, hvordan det tager sig ud. Her er nogle af de finere detaljer, og du kan teste din forbindelse til Azure ved at klikke på knappen ’Validate Connection’.

Klik ’Publish’, og efter et øjeblik vil din MVC-webside dukke op i browseren. Voila, dit første website på Azure!

Lad os nu kigge på, hvordan vi kan interagere med det fra Visual Studio. Hvis du ikke allerede kan se Server Explorer i Visual Studio, så gå til menuen ’View’, og klik på ’Server explorer’ - tredje menupunkt fra toppen. På billede 5 kan du se, hvordan Server Explorer ser ud, efter at man har åbnet for nogle af undermenuerne.

Du kan se på billede 5, at mappestrukturen på Azure ligner den, som du ser i Solution Explorer. Betyder det, at du kan åbne filer direkte fra Azure i Visual Studio og editere dem direkte? Ja!

Lad os prøve det. Åbn den mappe, der hedder ’Views’, samt mappen ’Home’. Dobbeltklik på filen ’Index.cshtml’. Den fil vil nu åbne i Visual Studio. Læg mærke til, at der står ’Remote’ i fanebladet øverst oppe. Det er Visual Studio der fortæller dig, at det ikke er en af de lokale filer, du nu editerer.

Find den første <h1>-tag fra oven af, og lav et mellemrum lige efter. Der taster du følgende: ’@DateTime.Now’.

Det er et MVC Razor-udtryk, der indsætter dato og tidspunkt lige efter ASP.NET. Gem filen, højreklik på websiden, og vælg ’View in Browser’. På magisk vis har vi nu dagens dato og tidspunktet inde på websiden.

Editer ikke direkte på Azure

Betyder det, at du kan editere sider direkte på Azure, og at du bare skal gøre det, når det lige passer? Nej!
Jeg fristes til at stjæle mottoet fra SpiderMan: ”With Great Power, comes great responsebility.”

Er der bare tale om et hurtigt fix til noget HTML, så ja. Men når du editerer filer direkte, er der stor risiko for, at noget kan gå galt, og før du får set dig om, så er din webside knust. Det er en temmelig skidt situation at være i.
Samtidig er de editeringer, du laver direkte, ikke reflekteret i versionsstyringssystemet, hvis du eller dit firma bruger sådan et. At der er en forskel imellem det, der er på websiden, og det, der er i versionsstyringssystemet er ikke godt.

På billede 5 kan du se en mappe, som hedder ’Log Files’. Inden vi kikker på, hvad mulighederne er her, skal vi lige konfigurere nogle ting på Azure.
Det kan vi naturligvis gøre direkte fra Visual Studio. Højreklik på navnet for websiden, og klik på ’View Settings’. På billede 6 kan du se nogle af de muligheder, der findes her. Læg mærke til, at du også kan genstarte eller stoppe din webside. Sørg for, at din konfiguration er den samme, som du ser på billede 6, og klik på ’Save’.

I Solution Explorer finder du den mappe, der hedder ’Controllers’. I den mappe er der en fil, som hedder HomeController.cs. Åbn den.
I den metode, der hedder ’Index()’ lige før den linje, der siger ’Return View()’ taster du følgende: ’Trace.TraceInformation(”Hello”);’.
Gem filen, og publicer ASP.NET-projektet igen. Klik lidt rundt på siden, inden du går tilbage til Visual Studio. I mappen ’Log Files’ burde der nu være en mappe, der hedder ’Application’.

Hvis du ikke kan se den, så højreklik på Log File-mappen, og vælg ’Re-fresh’. Dobbeltklik på tekstfilen i ’Application’-mappen.
Nu burde du se nogle linjer i den fil, der slutter med ’Hello’. Så du har altså adgang til logfiler mv. under din udvikling af et Azure-website.
Hvad med debugging? Kan du debugge et website, der kører på Azure fra Visual Studio? Ja, det kan du.

På billede 7 ser du den menu, der fremkommer, når du højeklikker på websiden i Server Explorer. Du vælger bare ’Attach debugger’, og du vil nu have den samme brugeroplevelse, som hvis det var et lokalt website, du var i gang med at debugge.

Dette var blot nogle af de bedste smagsprøver på Microsofts hastigt udviklende portal.

Rigtig god fornøjelse med dine Azure-eksperimenter.

Websites

Du kan oprette websites, der kører på Azure, og du kan bruge databaser på Azure. Typisk vil du bruge Visual Studio til opgaven.

Virtuelle maskiner

Du kan bygge din egen virtuelle maskine fra bunden eller bruge en af de forudbyggede fra Microsoft – se figur 2. Lnux er også understøttet på Azure.

SQL-databaser

Du kan enten bruge en fuld virtuel maskine, der kører på en af de virtuelle maskiner, du kan oprette, eller en delt database på SQL Azure.

Netværk

Du kan lave dit eget private virtuelle netwærk på Azure. Du kan så bruge dette netværk til dit eget helt private datacenter.

Active Directory

Azure har sit eget AD, som du kan oprette flere instancer af. Det er vigtigt at vide, at der ikke er fuldstændigt den samme funktionalitet i Azure AD
som med en dedikeret installation af en domæne-controller. Men Microsoft lægger en masse arbejde i Azure AD, så hold øje med udviklingen.

Azure er Microsofts professionelle Sky-tjeneste, der kan benyttes både som platform (PaaS – Platform as a Service) og til infrastruktur (IaaS – Infrastructure as a Platform). Rammen omkring tjenesten skabes af Azure-styresystemet, og indholdet er placeret på Microsofts datacentre og hele verden. I Europa ligger de i Holland og Irland.

Typiske platforme og tjenester på Azure er websider med stor trafik, databaser, virtuelle maskiner og hostingtjenester. Betalingsmodellen er ret fleksibel – engangsbetaling, 6 måneders abonnement, 12 måneders abonnement osv.

Azure er åben for alle virksomheder og udviklere, der vil have mulighed for skalérbarhed, høj kapacitet (hvis ønsket) og stabilitet. Men at selv de mest gennemkontrollerede it-miljøer ikke kan præstere 100 procent oppetid demonstrerede et kortvarigt europæisk nedbrud i juli sidste år.

Hvis du som udvikler har fået smag for Azure, er det værd at have styr på de mange dedikerede ressourcer. Det kan være vanskeligt at følge med udviklingen af Azure, fordi den går så stærkt, men det er indsatsen værd. På siden http://azure.microsoft.com/documentation finder du masser af god information om Azure. Det er ligeledes her, du kan følge med i den konstante udvikling af Azure.

Microsofts online-tv-kanal Channel9 har masser af videomateriale om Azure. Det er tillige stedet, hvor du kan finde optagelser fra begivenheder som /BUILD/ og TechEd. Der er et utal af videosessioner om Azure fra disse events, og de er spændende at studere.