Highlights from Build 2014’s Second Keynote
Today felt like a day of housekeeping. Mostly it was about promoting products from preview/beta to production status. There were some big revelations around opening sourcing Roslyn the formation of the .NET Foundation, but even these were just doing what the community has been asking for all along.
The day 2 keynote opened with Microsoft’s Scott Guthre crowing about Azure’s adoption rate. Currently Azure is hosting 250K active websites and over a million SQL databases. The video game Titanfall used a pool of 100,000 virtual machines on day 1. In order to ensure a consistent experience they are literally allocating a VM from the pool for each game.
Visual Studio Integration: you can now create, destroy, and manage VMs from within Visual Studio. You can even enable remote debugging in a virtual machine directly from the IDE.
VM images can now capture storage devices, reducing the amount of effort needed to setup a cloned instanced.
The server management tool Puppet now is deeply integrated into Azure. Once you have a Puppet Master setup you can provision new VMs with Puppet Agent simply by specifying the name of the puppet server.
The management tool Chef is also integrated into Azure VMs in a similar manner.
Auto-scaling virtual machines has also reached general availability, though details of this capability were not discussed. This feature was announced as a preview last year.
Azure Website Service
In addition to .NET, PHP, Python, and Node.js, Microsoft is now offering Java support for the Azure Website Service.
Auto-scaling works with Azure Websites as well, allowing web servers to be dynamically added or removed as the load changes.
Queue driven background tasks known as WebJobs can be run in the context of the Azure Website. In the past background tasks had to be run on a separate VM, which can significantly increase costs if the tasks are usually idle.
Every Azure Website instance will now include a free SSL certificate.
PowerShell for Visual Studio and Azure
When new ASP.NET projects are created you can provision Azure VMs at the same time. If you do so, PowerShell based deployment scripts are created at the same time.
And by the way, PowerShell editing is now supported by Visual Studio.
Live Editing HTML and CSS using Browser Link
Most browsers allow you to edit CSS and HTML directly in the browser. With Visual Studio 2013 you could already hook your browser (IE, Chrome, etc.) to the IDE using Browser Link. With this update you can make changes to HTML or CSS in the browser and have those changes automatically reflected in the source code. Essentially the browser becomes your code editor.
The static analysis tool JSHint is now integrated into Visual Studio.
Azure for Mobile
Azure’s Mobile Services now support Active Directory using OAuth tokens. These tokens can then be used to access Office 365 APIs in addition to the application’s custom backend.
In the demo they showed using a mobile device to fill in a form which was then stored as a word document in SharePoint using the mobile user’s account information.
Xamarin was also highlighted as part of this demo to illustrate iOS support.
Again remote debugging was a key feature.
Databases can now grow to 500GB with a 99.95% a SLA.
Self-service backups are available for up to 31 days on all accounts. Administrators can choose to rollback to any point in time within that window.
Active Geo Replication keeps replicated servers hot so that you can fail over in the event of an outage.
Roslyn – The .NET Compile Platform
The new language services will be available in the next version of Visual Studio, but you can try it out now with an end-user preview of Roslyn.
The entire Roslyn project is being open sourced, including the VB and C# compilers. During the keynote Microsoft demonstrated changing the compiler to add a new language feature to C#.
Even more amazing is that the VS refactoring tools automatically honor the new syntax.
Static using statements are supported so you no longer have to prefix static functions such as Max with the class name. This is feature already seen in Visual Basic and Java.
Xamarin has started supporting Roslyn with the option to choose alternate compilers in their IDE. Currently Roslyn is only active during compilation but they intend to add syntax highlighting and other features.
The .NET Foundation is a new organization for governing the various open source offerings for .NET from Microsoft, Xamarin, and others.
New Azure Portal
A new portal for Azure has been created. The primary selling point is easier to understand billing metrics. Directly from the home page you can see how much Azure is costing you on a service by service basis.
AppInsights is being integrated into the Azure portal. This product is used to collect data about how an application is being used in terms of features, duration, etc. It also includes performance and error metrics.
Team Foundation Server and web-based code editors are available. This allows you to modify an application and redeploy it from any web browser.
Resource groups can be created to logically associate web sites with the database and other resources that it needs. These resource groups can be turned into JSON-based templates that not only create the individual services but also cross links them with the appropriate connection strings.
Visual Studio Online
Visual Studio Online has finally left the beta phase (only a year late) and has reached general availability.
Moving Old VB 6 and .NET Applications Forward
The next block features WebMap2. This product takes legacy WinForms applications and converts it into an HTML based application. It does this by splitting the .NET code into views and controllers. It then converts the views into HTML while the bulk of the code lives in server-side controllers.
Mobilize.NET also has a product for converting legacy VB 6 applications into WinForms application. This can be used as-is or as a stepping stone into web-based technologies.
.NET Micro Framework
The .NET Micro Framework is finally being updated to support generics and modern versions of Visual Studio.
AppStudio: Concert Websites into Mobile Applications
The new AppStudio tool can convert websites into mobile applications. By default this is just a wrapper around the website, but you can enable caching for off-line use by modifying a configuration file. This is available for “both windows and non-windows” devices including Android.
Universal Apps and Xamarin
Microsoft briefly demonstrated a Windows Universal app recompiled with Xamarin. Unfortunately they didn’t go into details so we don’t know how much can be shared. Presumably it is still just business logic, not Common XAML.
More details on Azure, Roslyn, and the .NET Foundation will be available throughout the week.
Correction: An earlier version of this report implied that Chef required a Puppet Master server. Chef servers and clients are unrelated to Puppet.