I want to share what I learned at MS Build and explain the key take-aways from this event. I won’t be focusing on the keynotes much, as you can watch the relevant videos on channel 9, but on the key message, which, as Microsoft’s VP Scott Guthrie said, is: “The success of your solution on the Azure platform is our primary goal!” That means that Microsoft keeps concentrating its efforts around Azure services… but hold on, there is so much more than that!
It is rare for me to get so excited about a conference. I was surprised by some new releases, and news Microsoft has thoroughly prepared to present at this conference.
MS finally released the long-awaited Visual Studio for Mac (release date is 8th of May 2017). At last, developers received a familiar instrument for solutions development on Mac, using NET Core and Xamarin (or Unity), but the tooling, compared to the same IDE for Windows, still requires some work. Especially disappointing is the absence of Docker support.
Continuing with the topic on development instruments, Microsoft announced a new Cloud Shell in Azure (command line) that works with your Azure account right from the browser. Every session is in sync with a $Home directory that is stored in Azure, which, in turn, provides the possibility to access files, VMs and other artefacts you deal with via UI. PowerShell is coming soon and not yet supported, and, you can sign up for a private preview here. The App for iOS is also available in the App Store. I gave it five stars, as it is pretty neat and quick. Command line is not yet available, but it was demonstrated at the conference by Corey Sanders (see “Azure Compute – new features and roadmap” on Channel 9).
According to Scott Hanselmann, MS has announced Cross-Region Disaster Recovery (Automatic DR to another area, i.e. Azure to Azure) in 38 regions/data centres around the globe (and 9 countries where disaster recovery is possible because of multiple regions: USA, Canada, UK, France, Germany, India, China, Japan, Australia), so we can finally take advantage of multiple regions within the country. This feature is coming soon.
To summarize, we are going to have In-Country DR (in the 9 countries mentioned above), Multi-Instance SLA (99.95%), and Single-Instance SLA (99.99%). Compared to other clouds, Microsoft is far ahead.
Instant metadata service is another new feature on the Azure Platform that exposes an endpoint, so you can manage upcoming maintenance events, bootstrap VM with identity and provide VM context in a fully programmatic way. It also provides the status of all the instances running.
There were a lot of topics at the conference pertaining to containers overall and their interaction with OS components and Azure services in particular. Microsoft Azure Container Service provides Docker tooling and API support along with provisioning of Kubernetes, DC/OS and Docker Swarm. I have inserted the links for those who don’t know what this is all about. In short, these are all the container orchestration, deployment automation and scale tools, based on Mesos DC/OS, Kubernetes or Docker Swarm that provide the best Docker experience. Apart from this, Microsoft onboards Deis team for assistance on Kubernetes (and Helm tool in particular, that simplifies pre-configured Kubernetes resources management). See the demo by Corey Sanders (I have provided the most interesting links below).
Another interesting topic is Azure Service Fabric. There is nothing new in Azure-based Microservices except for the fact you can now deploy them in containers (surprise-surprise). Azure Service Fabric now represents stateful and stateless services (.NET and Java APIs on Windows Server and Linux) that can be deployed in Azure, Azure Stack, On-premises, in OpenStack and even AWS. The application (Music Store) demonstrated by Corey in this presentation can be found on GitHub, along with explanations about how to run it in Docker for Windows.
This service has been around for a while. It offers Job Scheduling as a service at the first, and the other platform offerings have become very easy having Azure Batch service. It allows you to focus on the major questions, i.e. what infrastructure you want, when/where and pricing. Microsoft has announced a low-priority batch VM where you pay 80% less and, sure thing, it is deeply integrated with the job scheduling (right now it is available in a preview mode). Another aspect of a batch is being able to take advantage of rendering capabilities (using compute instances to render images/videos/3D models).
On May 8, Microsoft announced the integration with Visual Studio, which simplifies editing and debugging of the functions. A new feature that pertains to this set of technologies is Azure Functions Runtime. What’s cool about it is that it allows to install Runtime and use Functions in a container outside the Azure environment. (Download a preview version of it from here.) It can run anywhere containers work or on top of the Azure Stack (which is, in turn, the Azure functionality outside the Azure environment).
Azure Managed Applications and Service Catalog
Package and seal the Azure functionality for other folks to use. This means that the application which is being developed can be packaged and deployed by someone else, using ARM experience, or sold/exposed to a third-party. What is interesting about it: the catalogue uses an enhanced security model, so the app in the catalog can be exposed or pre-deployed to a certain personality/account (after approval or without it) and has a configurable number of parameters that are required for successful deployment. Right now it’s in preview mode (just like many other things in this topic), and the link to the documentation leads to a general Azure website (I was unable to try it myself due to the missing documentation).
Microsoft has expanded the set of compute instance sizes (by adding six new ones):
F – Compute intensive
NC – NVIDIA GPUs K80 compute
NV – NVIDIA GPUs M60 Visualization
H – Fastest CPU IB Connectivity (very high throughput between instances)
L – Large SSDs
SAP – SAP Large instances
Four more were announced during the conference:
ND (P40) – NVIDIA Gear towards deep learning, scale-out computation
NCv2 (P100s) – computational SKU (scale-out compute with InfiniBand connectivity)
Dv3 (SSD storage, fast CPU) and Ev3 (high memory) – next generation of existing SKUs with nested virtualization (meaning they’ll be based on Windows 2016 and support VMs inside VMs deployed into the cloud)
Azure Logic Apps
Azure Logic App is not a new service, but obviously not known well enough. It takes advantage of existing BizTalk servers (connects to logic apps through an adaptor) to connect to SaaS and invoke logic apps. It makes it easier to connect to trading partners using EDI standards and B2B capabilities.
This service has been around for a while, and I know people who use it heavily in development.There is nothing new in the way it works (aside from the grooving number of different adaptors, which is 140 now), but it allows you to build an app very quickly and doesn’t require much in the way ofmobile development experience, which was perfectly demonstrated by Jeff Hollan and Eduardo Laureano on the very last day of the conference. I think you will enjoy the presentation as much as I did. Please watch “How to build serverless business applications with Azure Functions and Logic Apps for PowerApps” to get more info on the topic (the link to Channel 9 video below).
Mentioned Videos on Channel 9
That's it for Part 1, be sure to read Part 2!