Nieuws

TechEd 2014: een verslag

De afgelopen anderhalve maand zijn er veel nieuwe ontwikkelingen rond het Microsoft ecosysteem bekend gemaakt, voornamelijk op het gebied van Azure en het .NET Framework. Omdat Seven Stars bij wil blijven op het gebied van de laatste ontwikkelingen waren we dit jaar met twee man sterk vertegenwoordigd op de afgelopen TechEd conferentie in Houston, Texas in de VS. Deze stond voor developers voornamelijk in het teken van Microsoft Azure, het cloudplatform van Microsoft, en de toekomstige ontwikkelingen van het .NET Framework. Een korte samenvatting door collega Marcel Verweij.

Microsoft Azure

Microsoft blijft, net als de voorgaande jaren, erg inzetten op de verdere ontwikkeling en verbetering van hun cloudplatform. Zo zijn er, naast de recentelijk aangekondigde prijsverlagingen, tal van nieuwe features toegevoegd of in ontwikkeling, waaronder:

Netwerk

-          IP reserveringen; hiermee kunnen publieke IP adressen gereserveerd worden voor diverse applicaties, terwijl deze behouden blijven tussen verschillende herdeployments van applicaties en/of verwijderen van applicaties. Tot 5 IP adressen is dit zelfs gratis.

-          Publieke IP adressen voor Virtuele Machines; hiermee is het mogelijk om een publiek IP adres aan een VM toe te kennen, zodat deze direct benaderbaar is zonder een mapping met een virtueel IP adres te maken.

-          Meerdere Site-to-Site VPNs; naast de bestaande mogelijkheid om één VPN verbinding te maken met een virtueel Azure netwerk, is het nu ook mogelijk om meerdere VPN verbindingen tot stand te brengen met het virtuele Azure netwerk. Hierdoor kunnen meerdere locaties op het netwerk aangesloten worden.

-          VNET to VNET connectie; hiermee is het mogelijk om middels een soort VPN een verbinding te maken tussen meerdere Azure Virtual Networks. Deze netwerken kunnen zich in meerdere datacentra of subscriptions bevinden.

-          Interne Load Balancing; hiermee kunnen VMs die niet via Internet toegankelijk zijn geloadbalanced worden, bijvoorbeeld in het geval van meerdere backend servers.

Storage

-          SMB File Sharing; hiermee is het mogelijk om een standaard SMB fileshare in Azure aan te maken, welke toegankelijk is vanuit diverse applicaties. Dit vereenvoudigd het gebruik van de Azure opslagtechnologie, en maakt het eenvoudiger om gegevens tussen verschillende services te delen en bestaande applicaties naar Azure te migreren.

Virtuele Machines

-          Capture van images; het is nu mogelijk om een snapshot (capture) van Virtuele Machines te maken, inclusief data schrijven. Deze snapshots kunnen vervolgens gebruikt worden voor het aanmaken van nieuwe Virtuele Machines.

Overige

-          API Management; hiermee kan een wrapper om bestaande API’s geconfigureerd worden, waarin het mogelijk is om gebruik van de API te monitoren en beheersen, bijvoorbeeld door het instellen van request limieten per gebruiker, maar ook onder andere het beschikbaar maken van een JSONP endpoint voor bestaande API’s.
Daarnaast biedt het API management portaal direct een mogelijkheid tot het documenteren van de API en het beschikbaar stellen van voorbeelden voor diverse programmeeromgevingen.

-          BizTalk Hybrid Connections; hiermee is het mogelijk om applicaties in Azure op eenvoudige manier met een on-premises omgeving te laten communiceren, bijvoorbeeld voor de toegang tot bestaande databases en/of webservices. Door voor deze oplossing te kiezen is het niet nodig om een VPN verbinding of firewall aanpassingen te maken.

-          Redis Cache; een erg snelle en geavanceerde key-value cache met ondersteuning voor atomic operations en replicatie, gebaseerd op de open source Redis Cache.

.NET Framework

Ook blijft het .NET Framework in ontwikkeling. Misschien zijn niet alle ontwikkelingen even groots en bruikbaar als we in de voorgaande jaren gezien hebben, wel denk ik dat er door deze nieuwe ontwikkelingen een goede nieuwe fundering gelegd wordt waarop de komende jaren tal van nieuwe features op gebaseerd kunnen worden.

Compilatie

-          RyuJIT; eigenlijk is er sinds de 2.0 versie van .NET (alweer bijna 10 jaar geleden) weinig gewijzigd aan de JIT compiler. De huidige processors daarentegen zijn wel een stuk geavanceerder geworden. Met de nieuwe JIT compiler wordt er optimaal gebruikgemaakt van deze nieuwe processor features en instructies, waardoor de performance van .NET applicaties verder verbeterd wordt.

-          .NET Native; native compilatie van applicaties in plaats van JIT compilatie. Hiermee wordt de compilatiestap niet meer op het client device uitgevoerd, met als gevolg dat de applicatie sneller start. Daarnaast wordt het hier mee ook mogelijk om geavanceerde optimalisaties door te voeren, die bij JIT compilatie eigenlijk te veel tijd kosten, en daarom achterwege gelaten worden. Dit is momenteel in preview beschikbaar voor Windows Store apps.

-          Roslyn; nieuwe op .NET gebaseerde compilers voor .NET. Door de geheel nieuwe opbouw van de compilers is het een stuk eenvoudiger geworden om op het compilatie proces in te haken, en bijvoorbeeld refactoring, code analyse en andere compiler gerelateerde zaken toe te voegen.

Framework

-          .NET als NuGet package; de laatste jaren worden steeds meer onderdelen van het .NET framework als losse NuGet packages aangeboden, waardoor er niet langer gewacht hoeft te worden op een volledig nieuwe versie van het framework voordat er nieuwe features gereleased worden. Recente voorbeelden hiervan zijn Entity Framework 6.1 en ASP.NET MVC 5. Microsoft is bezig dit een stap verder door te voeren, door zelfs het .NET Framework en de CLR als NuGet packages op te nemen. Dit houdt in dat alle benodigde .NET componenten als onderdeel van de applicatie gedistribueerd kunnen worden, en dat het hierdoor mogelijk wordt om iedere applicatie exact zijn eigen versie van het framework te laten gebruiken.

ASP.NET

-          Cloud Optimized; er komt een speciale versie van het .NET Framework welke is geoptimaliseerd voor gebruik in server toepassingen. Dit  houdt onder andere in dat een hoop desktop-specifieke features niet in deze versie van het framework zitten. Deze versie zal als NuGet package gedistribueerd worden.

-          Samenvoegen van ASP.NET MVC en Web API; deze technologieën zullen samengevoegd worden, evenals andere onderdelen van de ASP.NET stack, om zo het gebruik te vereenvoudigen en te gelijkstromen. Ook zorgt dit voor een kleinere versie van het framework.

-          Vernieuwd projectsysteem; het projectsysteem binnen Visual Studio voor ASP.NET applicaties wordt vernieuwd. Hierin zullen project dependencies, NuGet packages en build configuraties worden samengevoegd tot één bestand.

-          In Memory compilatie; tijdens development werk wordt het voor ASP.NET applicaties overbodig om een rebuild te doen na het maken van wijzigingen in de code. Wijzigingen in code worden automatisch gedetecteerd, waarna er een hercompilatie plaatsvindt. Hierbij wordt er geen output meer naar disk weggeschreven in de vorm van DLL’s en PDB files, deze zijn alleen in geheugen beschikbaar, hetgeen de snelheid ten goede komt.

-          Standaard Dependency Injection; binnen de nieuwe ASP.NET versies wordt standaard gebruik gemaakt van een out-of-the-box Dependency Injection systeem, waardoor een groot aantal zaken binnen het framework zijn te vervangen door eigen implementaties. Ook het DI systeem zelf is te vervangen door andere implementaties, bijvoorbeeld Autofac of Unity.

Er zitten dus weer een hoop nieuwe features en ontwikkelingen aan te komen. Het Microsoft Azure platform wordt steeds uitgebreider, maar ook de ontwikkelingen op het gebied van .NET gaan verder. Misschien zijn niet alle features direct nuttig voor de meeste ontwikkelaars, maar hiermee wordt het framework wel van een goede refresh voorzien, welke de ontwikkeling van nieuwe features wellicht een stuk eenvoudiger maken.

 

Snel naar...