Hvordan en VM-rolle fungerer i Windows Azure for å oppnå spenstige applikasjoner

De sterke punktene i den offentlige skyen - on-demand selvbetjening, bred nettverkstilgang, ressurspooling, rask elastisitet og målt service - kan gi kraftig forretningsmessig mening når beslutningstiden kommer til hvor man skal bygge ny infrastruktur. Spesielt for raske avskalingsprosjekter og kortsiktige prosjekter, er det ingen erstatning for "øyeblikkelig on / instant off" -opplevelse av den offentlige skyen. Med riktig valg av offentlig skyprodukt kan høye kapitalutgifter for nye applikasjoner (så vel som overraskende underdrevne eller dyre overarkitekterte plattformer) bli fortidens bekymringer.

Hvis du ønsker å kjøre din egen virtuelle maskin (VM) inne i en offentlig sky i dag, har du flere offentlige skyleverandører å velge mellom. De mest kjente offentlige skyer i dag er Amazon Web Services, Microsoft Windows Azure, Google Apps og tilbud fra Dell, Rackspace, SoftLayer og andre. Hver skyleverandør har sin egen teknologi for å administrere og samhandle med vertsbaserte VM-er; noen er ganske forskjellige fra hverandre i sin tilnærming. Spesielt tar Microsofts Windows Azure VM-rolle en annen vei enn de fleste andre i dette markedet.

Arkivering for Azure-plattformen: Tolerere nodefeil

Microsoft utformet ikke Azure med infrastruktur som en tjeneste (IaaS) i tankene. (Konvensjonell VM-hosting er en IaaS-disiplin.) Azure er snarere en plattform som en tjeneste (PaaS) som tilbyr - en global plattform av SQL, IIS og .NET-tjenester der en utvikler kan kjøre kode-fullstendig abstrakt fra de fysiske verter og virtuelle maskiner som leverer applikasjonen. Azure letter bokstavelig talt en organisasjons utviklere til å omgå de irriterende IT-proffene nede i gangen og distribuere Internett-baserte applikasjoner på global skala uten noe IT-assistanse på stedet.

Når "Azure-as-PaaS" distribuerer kode for deg, blir faktisk dedikerte VM-er i Azure-stoffet spunnet opp for å kjøre hver rolle. Disse kalles "arbeiderrolle" eller "nettroller" -forekomster avhengig av om de trenger webservertjenester eller ikke. Azure automatisering kopierer websidene og .NET-koden til de tomme VM-bildene. Hver forekomst av rollen er identisk, og skaleringen er rask og effektiv siden samme base VM gjenbrukes igjen og igjen. Koden din blir automatisk distribuert til nye rolleforekomster.

Windows Azure oppnår applikasjonshøy tilgjengelighet ved å tvinge arkitekturen til spenstige applikasjoner . Du må forfatter Azure-applikasjonen din slik at tapet av en arbeider eller nettroller tolereres uten liten eller ingen avbrudd i leveransen av den samlede tjenesten - du distribuerer minst to forekomster av hver rolle for å gi elastisitet. VM som en Azure-rolleforekomst kjører i er et kortvarig miljø. Individuelle forekomster av roller kan brukes i denne modellen. (Forekomstene av Azure-arbeider og nettverk kan snakke med en Azure SQL-forekomst eller en "lagringsplass" på baksiden, der vedvarende data eksisterer, som styrker applikasjonen.)

Denne metodikken for å oppnå søknadsredundans er ubehagelig for de fleste IT-proffere å høre om første gang. Å arkivere høy tilgjengelighet av applikasjoner avhengig av høy tilgjengelighet av spesifikke maskinvarekomponenter (som servere og Storage Area Networks eller SANs) er ærlig talt brød og smør for mange nettverksarkitekter. Et økonomisk argument kan dukke opp i en viss driftsskala: Det koster mindre å re-arkitektere applikasjoner for skymiljøer som enkelt skaleres og som tåler maskinvarefeil, enn det koster å skaffe et stadig voksende fysisk anlegg med svært feiltolerant maskinvare for eksisterende applikasjoner.

Hva det vil si å løpe i en VM i et kortvarig miljø

Et sted langs linjen fikk IT Pros en titt på det rike globale Azure VM-stoffet og sa: "Jeg vil ha et stykke av det også." Microsofts første svar på fellesskapet var - disse VM-ene har ikke vedvarende lagring. Hva kan de bruke i infrastruktur databehandling? Likevel viser det seg at noen tradisjonelle infrastrukturroller, med litt kreativ programmering, kan trives i dette miljøet. Etterspørselen etter denne nye typen VM, som kan spille i en verden av applikasjonsmotstand, fikk Microsoft til å legge VM-rollen til Azure-plattformen.

En Azure VM er i grunnen en eksponert Azure-arbeider / web-rolleforekomst som du kan konfigurere og kjøre som en konvensjonell VM. En veldig viktig ting å forstå om Microsofts implementering av Azure VM-rollen er: Det mangler vedvarende lagring på tvers av VM-rollene på nytt. En VM-rollestart (ikke det samme som omstart av en VM) ruller en VM tilbake til basebildet. En VM-rollestart skjer enten på kommando i Azure-konsollen, eller automatisk når det er en maskinvarefeil eller annen ustabil tilstand på en bestemt Azure-vert. Hver gang en VM-rolle startes på nytt, opprettes en ny, tom differensieringsdisk på Azure-verten, og en helt ny VM-instans spinner opp.

Figur A - Hvordan et bilde blir distribuert til Windows Azure og brukt for å lage VM-forekomster.
Figur A er et diagram som viser hvordan to VM-forekomster, hver sammensatt av et skrivebeskyttet basisbilde og en kortvarig (forskjellig) disk, utgjør en komplett Azure VM-rolle. På et høyt nivå fungerer Azure VM-rollen slik:
  1. Du kjøper et Azure-abonnement og gir ett eller flere VM-rolleforekomster. Du oppretter "servicepakke" og "tjenestekonfigurasjon" filer som definerer VM-rollen din. Last opp disse filene oppretter en logisk beholder i Azure for å være vert for VM-rollen din.
  2. Du laster opp et skrivebeskyttet server-VHD-bilde. Dette kalles basen VHD. Denne VHD-en er transparent montert til VM-rolleforekomstene dine, og de starter fra dette basebildet. Azure-grensesnittet gjør dette enkelt å gjøre, uavhengig av hvor mange forekomster du har og hvor mange globale datasentre du vil kjøre dem i.
  3. Hver endring som gjøres på serveren etter oppstart, skrives til en annen VHD, kjent som en forskjellig eller efemærisk disk. Differensieringsdisken for en gitt Azure VM-rolleforekomst eksisterer bare på den fysiske verten der VM kjører i Azure-skyen.
  4. Måten Azure håndterer applikasjoner med høy tilgjengelighet er å alltid ha minst en annen forekomst av VM-rollen din som kjører på en annen Azure-vert.
  5. Når det er en Azure-host-svikt, går den forskjellige disken tilknyttet en bestemt VM-forekomst tapt. Applikasjonen holder seg fordi de eller de gjenværende VM-rollene fortsatt kjøres på andre Azure-verter.
  6. En ny forekomst av VM-rollen din genereres på en Azure-vert. Den nye forekomsten kan ha et tilfeldig datamaskinnavn, men vil automatisk få riktig nettverks- og DNS-informasjon som er nødvendig for å få tilgang til VM.
  7. Når den automatiske omdisponeringen av VM er fullført, kan VM kjøre skriptede prosedyrer for å fullføre konfigurasjonen automatisk, eller du kan koble eksternt til VM ved hjelp av Remote Desktop Protocol (RDP) og fullføre konfigurasjonen på en konvensjonell måte.

© Copyright 2021 | pepebotifarra.com