Node, het populaire JavaScript runtime, werkt alleen met Google's V8 JavaScript engine. Nu Chakra open source is kan Microsoft de fork van Node pakken die destijds gemaakt is om te kunnen draaien op Chakra en dit terug geven aan het project. Dit betekent dat ontwikkelaars die met Node werken de keuzemogelijkheid hebben deze zowel met Edge als Chrome te kunnen gebruiken. Dit zorgt ervoor dat Microsoft's browsertechnologie een veel groter draagvlak heeft.

Eigen .NET-compilers

De verschuiving in hoe enterprises willen ontwikkelen verklaart een hoop betreffende het open source maken van .NET en ASP.NET. Deels om de community erbij te betrekken en gebruik te maken van de ideeën en expertise van open source ontwikkelaars. Softwarebedrijven als Fog Creek en Xamarin, die hun eigen .NET compilers hebben geschreven hebben deze inmiddels vervangen door Microsoft's open source Roslyn .NET compiler.

Microsoft wil deze technologieën ook naar Linux brengen, grotendeels vanwege Azure. Het draaien van een cloud platform zorgt ervoor dat Microsoft's interesse veel verder gaat dan de open source contributies die het Windows Server team heeft gedaan aan de Linux Kernel zodat distributies goed kunnen draaien op de Hyper-V hypervisor. In september 2015 draaide meer dan 20 procent van de Azure IaaS virtuele machines op Linux. Microsoft heeft zelfs Red Hat overtuigd Azure te ondersteunen, naast AWS, in het CloudForms cloud management platform.

"Als wij onze visie op de cloud nastreven dan is dit zowel van toepassing op Linux workloads als Windows workloads," zegt Windows server lead architect, Jeffery Snover.

Linux Powershell-tools

"Door onze gehele organisatie hebben al onze teams een Linux-team als onderdeel," zegt Snover. "We hebben deze groep al een hele tijd binnen de Windows Server afdeling. Deze groep hield zich bezig met Linux-ondersteuning voor Hyper-V heb ze hebben geweldige stappen gezet. We hebben fantastische netwerk-ondersteuning in Technical Preview 4. Er is al een Linux-versie van de Powershell Desired configuration Tool beschikbaar om Windows Server en Linux met de zelfde tools te kunnen ondersteunen."

En zo zijn wij ook bezig om .NET beschikbaar te maken voor Linux," aldus Snover.

Dit komt erg goed uit voor klanten als het FiOS-team bij Verizon bijvoorbeeld. Zij gebruiken Linux clusters voor Docker containers die zijn uitgerold voor Mesos om .NET en ASP.NET5 te draaien. Het is logisch dat Microsoft Verizon liever als klant kan blijven houden, als is het alleen maar voor de ontwikkelplatformen en niet alleen maar om ze tools als Visual Studio te kunnen verkopen.

Nano server

In de toekomst, wanneer Windows server 2016, naast Docker, ook containers en lichtgewicht Nano Server opties zal ondersteunen, hoopt Microsoft Verizon weer voor zich te kunnen winnen. Dat zal een stuk makkelijker gaan als ze .NET blijven gebruiken, of dat nou onder Linux is of Windows.

"De redenen die klanten als Verizon geven aan Microsoft voor het willen gebruiken van .NET in containers zijn niet omdat ze willen verhuizen naar Linux," Aldus Snover. "Dit was iets wat wij niet voor elkaar konden krijgen met een complete Windows Server stack en .NET stack. Nu kunnen ze dat wel doen, met Windows Server, dankzij Nano Server en onze container collective."

Op de volgende pagina: Verhuizen naar micro services

.NET is aan het veranderen. De naamsverandering voor de open source versie (van .NET Core 5 en ASP.NET 5 naar .NET Core 1.0 en ASP.NET Core 1.0) is daar een voorbeeld van. .NET Core is niet zo uitgebreid als het volledige .NET 4.6 framework (Core heft bijvoorbeeld niet de server-side graphics libraries)

Snellere releases

Hetzelfde geldt voor ASP.NET 4.6 en 5 (Welke wel de Web API heeft maar nog niet de SignalR, VB of F# ondersteuning) De nieuwe versies vervangen de oude versies niet volledig al zullen deze nieuwe versies wel de missende onderdelen krijgen in de toekomst. Ze zijn ook op een nieuwe manier gebouwd met snellere releases en een grotere nadruk op vooruit gaan in plaats van het maken van brekende veranderingen.

Deze verschuiving is te zien bij heel Microsoft. Het bouwen van Azure heeft het bedrijf veel geleerd het afgelopen decennium. De voordelen van microservices tegenover de anders grote, monolithische applicaties bijvoorbeeld.

Complexe codebase

Het was een grote gecompliceerde codebase, draaiend in één datacenter en het nam ongeveer een maand in beslag om een update uit te brengen nadat deze gereed en getest was. Dat betekent dat deze software maar eens per kwartaal kon worden bijgewerkt. Bovendien waren de management tools voor alle verschillende onderdelen beveiligd met één certificaat.

Het omschrijven van deze codebase naar 25 verschillende microservices maakt het ontwikkeltraject makkelijker evenals het testen en toevoegen van nieuwe features. Deze kunnen sneller worden ingezet op testsystemen om te zien hoe zij presteren. Het updaten duurt nu niet langer dan drie dagen, zelfs als resource providers hun systemen hebben draaien in meerdere datacenters.

Dit verbetert de prestatie omdat er veel minder vertraging is. Azure datacenters zijn niet alleen sneller en makkelijker te schalen maar ook betrouwbaarder omdat je niet afhankelijk bent van het network tussen de datacenters als je ze wil managen. Ook de veiligheid wordt verhoogd als elke microservice alleen wordt ingezet voor z'n eigen werkgebied.

Service Fabric voor Linux

Dit zijn de standaardvoordelen van goed ontworpen microservices en architecturen en Microsoft wil het makkelijker maken voor bedrijven door ze Azure Service Fabric te laten gebruiken. Dit is een op .NET gebaseerd microservices platform (draaiend op een cluster van fysieke of virtuele machines) die gestart is als Windows Fabric in 2003.

Azure SQL Database was de eerste service die erop was gebouwd. Inmiddels zijn Azure Document DB, Event Hubs, Cortana, Intune, Power BI, Skype for Business, de Azure IoT Suit en alle virtuele machines in de Azure core gebouwd met Service Fabric.

In de toekomst zal Service Fabric ook Linux ondersteunen samen met Docker of Java. Service Fabric is direct beschikbaar op Azure. Je kan deze draaien op je eigen servers (of laten hosten bij andere cloud providers), als onderdeel van de Azure stack technical preview (welke eind 2016 af zou kunnen zijn).

Bedrijven als Verizon mogen dan wel voorop lopen, maar voor nieuwe applicaties, die gemaakt zijn om gebruik te maken van cloudtechnologieën zijn containers, microservices en snellere ontwikkeling de sleutel tot success.