Day number two of BUILD has passed on by with some great content. In this post I’ll highlight some issues I encountered today at some of the professional sessions, which were all related to Windows Azure.
You should note that all BUILD sessions are available for free on Channel 9.
BUILD Keynote – Windows 8 & Cloud-Connected Apps
Today’s keynotes focused on Windows Azure and the various application types it can support, including device centric applications, web centric applications and cloud-scale applications. Many of the demonstrations rehashed some of the last months’ announcements but nonetheless it was quite interesting to see the excellent presenters including Microsoft’s Scott Hanselmen and Scott Guthrie in action. In my opinion, the two most important announcements made in the keynote today were:
- Windows Azure Mobile Servicesnow supports Windows Phone 8 – Azure Mobile Services is an Azure service providing developers an easy-to-use, extensible Azure based back-end for their mobile applications on the following platforms: Windows Store Apps, iOS and from today Windows Phone 8. The delightful demo by Scott Guthrie really captured the essence of Mobile Services with its very easy interface, but I couldn’t help but wonder would it be so easy if you were to do something a little out of the Mobile Service comfort zone. That is left to be seen…
- General Availability of Team Foundation Service – Starting from today, Team Foundation Service is available for general use. Team Foundation Service is a cloud hosted version of the on-premise Team Foundation Server (TFS), allowing you to use (almost) all of TFS’ features without actually having to buy and install a server for which to work on. It also includes a hosted build controller which allows you to perform your build and CI in the cloud without having to worry about physical servers which is very neat. As part of the announcement, Microsoft said the Team Foundation Service will be free for groups of up to 5 developers, which in my opinion is a VERY smart move as it puts the product in direct competition with Git and GitHub. Each has its own advantages and disadvantages, but the “free” starting point is very important.
The following slide sums up what’s new in Windows Azure:
BUILD Session – Windows Azure Overview
In this session, Scott Guthrie overviewed the major components and services provided by Windows Azure. Although most of the material was known to me before, hearing ScottGu is always a lot of of fun and the session was very well organized so it tended to round up all the corners. If you are new to Azure I highly recommend watching this session, as ScottGu rounds up all of Azure services including:
- Azure Virtual Machines
- Azure Web Sites
- Azure Mobile Services
- Azure Cloud Services
- Network Load Balancer
- Azure SQL
- Azure Cache
- Azure Service Bus
- 3rd Party Services
During the Virtual Machine demo a funny thing happened as ScottGu noticed that when creating a new VM instance – Linux is displayed first in the list of available OS to install! “That would probably change next week” he said.
A very cool demo was of deploying an Azure web-site directly from GIT – Azure can expose the site as a GIT repository, allowing you to deploy your app directly from a “git push” command or alternatively, directly from GitHub. Every presenter knows that performing live demonstrations which require an Internet connection (such as cloud related demonstrations) are very risky, but the gods of demos were on ScottGu’s side today!
BUILD Session – Windows Azure IaaS
Mark Russinovich delivered this session, and well, every session by Mark Russinovich is a session you’ll most likely enjoy. Today, Mark showcased Windows Azure Virtual Machines and Virtual Networks and what you as a developer can do with them.
Windows Azure Virtual Machines are a neat offering, even when compared to Amazon’s popular AWS EC2 instances. Some of you may remember that Azure already had VM roles for a long while now, and wonder what is new. Well, a VM Role and Azure Virtual Machine are not the same… A VM role is a Platform-as-a-Service (PaaS) offering while Virtual Machines are Infrastructure-as-a-Service (IaaS) offering. Take a look at the following slide for some of the differences:
Two things I liked the most about Azure’s Virtual Machines are:
- Microsoft provides a clear-cut SLA for your instances – if your application has at least 2 instances of the application, Microsoft guarantees an external connection uptime of at least 99.95%, as opposed to Amazon who according to Mark do not have a clear cut SLA for YOUR application.
- All Virtual Machine drives are stored as standard VHDs in Azure Storage. This means that there is no supplier lock-in! You can download (upload) your VHDs at any time and move them to another provider or on-premise-server and vice-versa. You cannot take that for granted…
BUILD Session – Building Big: Lessons Learned from Windows Azure Customers
Let me start with the bottom line – if you consider yourself a software architect, you MUST see this presentation. I repeat – you MUST see this presentation (Part 1 & Part 2). It contains valuable information regarding possible issues and best practices for designing an application for scale and high-availability on the cloud, and as a software architect you should familiarize yourself with these issues.
The presenters main point was that while on-premise application achieve scale and high-availability using dedicated high-cost hardware (consider SQL storage & mirroring hardware), cloud application with infinite scale achieve this using common commodity hardware, which is used in as many instances as required, and this presents a very daunting architectural and design challenge. Again – if you are a software architect, go ahead and watch it now. Have any questions? Feel free to ask…