Hur Windows Server ändras för att bättre matcha utvecklingen av Cloud App
NyheterMicrosoft har varit hårt på jobbet med Docker nyligen och stött Docker-behållare på Azure och gör Docker-motorn köra inbyggt på nästa version av Windows Server (så utvecklare som arbetar med Docker-API-erna kan få all den funktionen på Windows Server).
Men behållare optimerade för microservices är inte det enda området där Microsoft bygger funktioner som hjälper till att göra sakerna skalbarare snabbare. Den nya Nano Server SKU och de nya Hyper-V-behållarna ger dig fler sätt att bygga appar och tjänster som är utformade för molnvärlden.
Nano Server är ett mindre, snabbare och säkrare alternativ för att installera nästa Windows Server som inte behöver så många korrigeringar, behöver inte startas om så ofta och kräver färre systemresurser. Nano Server skulle ha haft 92% färre kritiska korrigeringar och 80% färre omstart än Windows Server under det senaste året, enligt Microsoft. Om du lägger den i en virtuell maskin skulle VHD-filen vara 93% mindre och att köra 1001 virtuella maskiner på en 160-kärnig 1TB-server skulle behöva mindre än 10% av minnet - vilket ger mycket mer resurser till de program du kör server för.
Ut med GUI
Hur gjorde Microsoft Nano så mycket mindre och effektivare? Genom att ta saker ut, börjar med de faktiska windows. Det visar sig att Windows Server använder mycket resurser som bara kör det grafiska användargränssnittet, så det finns ingen GUI i Nano - det går inte att logga in på det lokalt och du kan inte komma in på det med Remote Desktop. I stället gör du alla förvaltningar på distans, med WMI och PowerShell och önskad statskonfiguration. Tänk på det som en mindre, kraftigt refactored version av Server Core, designad för molnet.
"Som vi gjorde refactoring arbetet i Nano Server, gick vi tillbaka och tittade på vad som orsakade omstart historiskt", säger Mike Neil (chef för Enterprise Cloud Team på Microsoft) TechRadar Pro. "Vilka är beroenden? Det fanns bitar av funktionalitet som uppriktigt sagt inte var överordnade möjligheter för en server och många refactoring drivs av hur man reducerar det.
"Avvägningen med det är att du vill se till att den kan köra folks applikationer och tillhandahålla funktionalitet i dessa miljöer och också ge den nödvändiga infrastrukturen för att bygga upp molnstil miljöer. Det viktigaste för oss var att se till att det körs Hyper-V, eftersom vi vill kunna använda det som basoperativsystemet. "
Så Nano Server kör Hyper-V, och dina applikationer körs på Hyper-V, i virtuella maskiner eller i de nya Hyper-V-behållarna - och det är allt installerat och hanterat och till och med debugged på distans, betonade Neil, vilket återigen minskar vad som finns i Nano.
"Du ska använda Nano Server som bas OS-bild för behållare och arbetsbelastningsmaskiner och sedan önskad statskonfiguration tillhandahåller mekanismen för konfigurationen av dessa saker. Vi flyttar bort från det traditionella Microsoft Installer-tillvägagångssättet och flyttar till DSC att konfigurera servern och se till att rätt binärer finns och din app kan köras. "
Windows Server-teamet tog också bort "äldre" system - som WOW64 för att köra 32-bitars applikationer. "32-bitars support är inte ett primärt bekymmer för applikationer med född i molnet", säger Neil, och det är vad servern laget förväntar sig att kunder ska köra i Nano Server.
Hyper-V-behållare: mellan VM och Docker
De kan springa i de nya Hyper-V-behållarna som du kan tänka dig som en blandning mellan traditionella virtuella maskiner och Docker-behållarnas högre nivåer. "Den grundläggande teknologin är virtuell maskinteknik. Det är ett abstraktionslager som vi alla är vana vid och det är nere på hårdvaruskiktet, hantering av diskblock och nätverkspaket och den typen av saker", säger Neil.
"Containrar på OS-skiktet gör abstraktionen längre upp i stapeln. I stället för att instruera på diskblocksnivå är det på filnivån. Istället för att vara på paketnivå är det i nätverksgränssnittet. Fördelen är att ytterligare öka Stacken ger möjlighet att dela fler resurser mellan behållare. Hyper-V-behållaren är en blandning av dessa.
"Vi använder hypervisorn för att tillhandahålla isoleringsmekanismen, det är testat och testat, det använder VT, det är baserat i en hårdvarubastik av förtroende. Det är väldigt mycket en hypervisors kärnfunktion för att ge den isoleringen. Vi ger sedan högre nivåabstraktion för nätverks- och filsystem inom den gränsen. Vi blandar de två ihop så att du får några av fördelarna med virtuella maskiner, den mycket isolerade hårdvarulösningen. Men du får också högre abstraktion i behållare som har fler delade resurser och mindre överliggande med dem."