Wednesday, September 21, 2011

Windows Azure and Cloud Session Content from the //BUILD/ Windows Conference 2011

Following are full descriptions and links to slide decks and video archives of sessions in the Windows Azure and Cloud Computing tracks presented at the //BUILD/ Windows Conference 2011 held in Anaheim, CA on 9/13 through 9/16/2011.

•••• Updated 9/24/2011 with Glenn Block’s source code for his ContactManager application using RavenDB from his //BUILD/ Windows session.

••• Updated 9/21/2011 with Clemens VastersService Bus Relay Load Balancing–The Missing Feature (But Not For Much Longer!) post of 9/20/2011 and Michael Washam’s  Automate It! Deploying a Windows Azure Service Package from PowerShell post of 9/21/2011:

•• Updated 9/20/2011 with Michael Washam’s parts 3, 4 and 5.

• Updated 9/19/2011 with:

Tip: Click the presenter’s name to display his/her other presentations at //BUILD/ Windows 2011 and previous TechEd, PDC, DevDays, and MIX conferences.

Windows Azure

Building and running HPC apps in Windows Azure by Greg Burgess

imageWindows Azure is an ideal environment for deploying compute-intensive apps that take advantage of the scale-on-demand capability of the cloud. The HPC Pack for Windows Azure provides a job scheduler, management tools, and a set of runtimes for developing and deploying parallel and scale-out apps. This talk will present app examples and best practices for using the HPC Pack in Windows Azure to rapidly create scalable compute and data-intensive services. Programming models include parallel apps using MPI, scale-out apps using WCF and data intensive apps using HPC to LINQ.

Analyzing "big data" with LINQ to HPC by Ade Miller

image"Big data" refers to unstructured data sets so large that they cannot be analyzed using traditional database tools. Today, big data are becoming more common; it is prevalent not just in Web traffic, but also in industries like oil & gas, finance and manufacturing. Based on Microsoft Research’s Dryad project, LINQ to HPC is a programming model and distributed runtime for building analysis solutions for big data. It goes beyond MapReduce and leverages the LINQ programming model and HPC scheduler to execute optimized query graphs across a cluster of machines. In this session, you will learn how to use LINQ to HPC on both Windows Azure and an on-premise Windows cluster to build analytic apps that deal with big data. These apps will be able to scale out to hundreds of machines without having to deal with scheduling, data replication and node failure complexities generally associated with programming a large, distributed data-parallel system.

Building Web APIs in Windows Azure with WCF to reach any device by Glenn Block

imageWeb app developers today are facing new challenges around how to expose data and services to multiple devices, browser apps and other cloud services. In this session we’ll explore how the Windows Communication Foundation Web API makes it easy for developers to expose their services and data to a broad set of clients and take advantage of rich emerging Web standards like WebSockets. We’ll show how simple it is to create new Web APIs, whether you are building Web apps or standalone services to expose existing functionality or data.

•••• Updated 9/24/2011 with source code for Glenn’s ContactManager application using RavenDB on SkyDrive from his //BUILD/ Windows 2011 session.

Your devices + OData + Windows Azure == happiness by Mike Flasko

We are currently undergoing a massive proliferation of connected devices ranging from phones to PCs, each with its own requirements and capabilities. This can lead to significant developer frustration as we try to create great end-user experiences across devices. The OData protocol ( was created to provide a simple, common way to interact with data on the Web from any platform or device. In this session, we’ll show you how the dynamic duo of OData and Windows Azure can be used to create rich, Web-friendly and scalable Web APIs that provide the capabilities you need to bring happiness to all your device programming experiences. Finally, we’ll mash up the data we’ve exposed with data provided by existing OData sources including Netflix, eBay, Facebook, SAP, and others.

Getting started with Windows Azure by Brian Prince

Windows Azure is Microsoft's cloud platform for quickly building and running scalable apps. In this demo-focused session, you will learn how to get started building your first Windows Azure app. You will see how to build and deploy an app to the cloud and consume several Windows Azure Platform services.

What's new in Windows Azure by James Conard

imageWindows Azure is constantly being updated to include new features and services. In this session, you will learn more about some of the latest enhancements to the Windows Azure Platform.

Introdction to Windows Azure: the cloud operating system by Mark Russinovich

Come join Mark Russinovich for an overview of Microsoft’s new cloud OS. Assuming no prior knowledge of Windows Azure, this session will start by explaining the Windows Azure Platform-as-a-Service (PaaS) app philosophy and how it differs from that of traditional server apps. Then, demonstrating key concepts with a real Windows Azure service built and deployed to the cloud, we’ll describe the Windows Azure service model, including concepts like update and fault domains. The session will then conclude by discussing the different service update options and detail the recovery steps Windows Azure follows when it detects that a service or a hardware device has failed.

Inside Windows Azure: the cloud operating system by Mark Russinovich

imageMark Russinovich goes under the hood of Microsoft’s new cloud OS . Intended for developers that have already gotten their hands dirty with Windows Azure and understand its basic concepts, this session gives an inside look at the architectural design of Windows Azure’s compute platform. You’ll learn about Microsoft’s data center architecture, what goes on behind the scenes when you deploy and update a Windows Azure app and how it monitors and responds to the health of machines, its own components and the apps it hosts.

Identity and access management for Windows Azure apps by Vittorio Bertocci

imageThis talk discusses the role of the Windows Azure AppFabric Access Control Service (ACS) in managing identity and access control for apps running on the Windows platform . ACS offers developers the means to offload most of the complexity of handling authentication, regardless of where the app will be hosted or from where it will be consumed, to a cloud-hosted service. After a brief introduction to the approach behind ACS, the talk will highlight how developers can take advantage of Windows Identity Foundation to easily connect to ACS, and will demonstrate various scenarios ACS unlocks such as enabling Windows 8 apps to authenticate users from Facebook, Google, or Windows Live ID and reusing AD accounts with apps hosted in Windows Azure without requiring Windows Azure Connect

Monitoring and troubleshooting Windows Azure apps by Michael Washam

imageYour app is in the cloud now, alleviating all of the problems traditional apps had such as performance issues, crashes and memory leaks, right? Join us as we dig deep into Windows Azure diagnostics with PowerShell and other techniques you can use from instrumentation to debugging to keep your app safe from problems that go bump in the night.

Michael Washam (@MWashamMS) recommended that you Automate It! Deploying a Windows Azure Service Package from PowerShell in a 9/21/2011 post:

image_thumb[6]With the new version of Windows Azure PowerShell Cmdlets 2.0 we have made it possible to script the deployment of an entire hosted service directly from PowerShell!

As a proof of concept we have put together a sample script that reads settings from a configuration file and deploys a service package to your Windows Azure Account. What is new about this is if the hosted service or storage account do not exist yet we will create them using the settings you specify!

To get started ensure you have downloaded and installed the Windows Azure PowerShell Cmdlets 2.0.

Next download the sample script from here:

Once the file is unzipped you will need to modify the configuration.xml file with your own settings:


Once configured copy your .cspkg file and .cscfg file to the \deploymentPackage folder beneath the script.

Finally, run the deploy.cmd file which will launch your PowerShell script and deploy the service!


Operations demonstrated in this sample include:

  • New-HostedService / Get-HostedService
  • New-StorageAccount / Get-StorageAccount
  • New-Deployment / Get-Deployment
  • Add-Certificate
  • Move-Deployment (VIP Swap)

•• Michael added parts 3, 4 and 5 to his series on 9/20/2011. Here are links to all five parts:

Michael (@MWashamMS) posted Announcing the release of Windows Azure Platform PowerShell Cmdlets 2.0 and Getting Started with Windows Azure Diagnostics and PowerShell from the //BUILD/ Windows conference on 9/16/2011, as well as Windows Azure Diagnostics and PowerShell – Performance Counters on 9/19/2011.

Using cloud storage from Windows apps by Wade Wegner

imageModern apps don't just store data on local disks. Your users expect to have 24/7 access to their files and settings wherever they go. This session will show you how you can use Windows Azure Storage and SQL Azure to store your data to give your users the experience they expect. We will have an in depth look into how to handle scale so that your app gives your users the data they want when they want it. We will also look at the security solutions available on Windows Azure to ensure your user's data remains protected. You will leave this session with an understanding of when and how to use each of the various storage solutions in the Windows Azure platform to enhance your modern Windows app.

Building loosely-coupled apps with Windows Azure Service Bus Topics and Queues by Clemens Vasters

imageIn this session, you will learn how the new publish and subscribe messaging capabilities provided by the Windows Azure Service Bus can be used to interconnect services and apps. You will see examples of using pub/sub for decoupled communications inside Windows Azure using Queues and Topics, and you will also learn how to use Service Bus to bridge between services spread across cloud and local servers. Finally, you will see how Windows and Windows Phone apps can use the Service Bus to build continuous client experiences.

••• Clemens Vasters (@clemensv) posted Service Bus Relay Load Balancing–The Missing Feature (But Not For Much Longer!) on 9/20/2011:

imageLoad Balancing on the Service Bus Relay is by far our #1 most requested feature now that we’ve got Queues and Topics finally in production. It’s reasonable expectation for us deliver that capability in one of the next production updates and the good news is that we will. I’m not going to promise any concrete ship dates here, but it’d be sorely disappointing if that wouldn’t happen while the calendar still says 2011.

I just completed writing the functional spec for the feature and it’s worth communicating how the feature will show up, since there is a tiny chance that the behavioral change may affect implementations that rely on a particular exception to drive the strategy of how to perform failover.

The gist of the Load Balancing spec is that the required changes in your code and config to get load balancing are zero. With either the NetTcpRelayBinding or any of the HTTP bindings (WebHttpRelayBinding, etc) as well as the underlying transport binding elements, you’ll just open up a second (and third and fourth … up to 25) listener on the same name and instead of getting an AddressAlreadyInUseException as you get today, you’ll just get automatic load balancing. When a request for your endpoints shows up at Service Bus, the system will roll the dice on which of the connected listeners to route the request or connection/session to and perform the necessary handshake to make that happen.

The bottom line is that we’re effectively making the AddressAlreadyInUseException go away for the most part. It’ll still be thrown when the listener’s policy settings don’t match up, i.e. when one listener wants to have Access Control enabled and the other one doesn’t, but otherwise you’ll just won’t see it anymore.

The only way this way of just lighting up the feature may get anyone in trouble is if your application were to rely on that exception in a situation where you’ve got an active listener on Service Bus on one node and a ‘standby’ listener on another node that keeps trying to open up a listener into the same address to create a hot/warm cluster failover scheme and if the two nodes were tripping over each other if they were getting traffic concurrently. That doesn’t seem too likely. If you have questions about this drop me a line here in the comments, by email to clemensv at or on Twitter @clemensv.

Clemens Vasters posted Service Bus Topics and Queues – Advanced on 9/18/2011:

This session is a followup to the Service Bus session that I did at the build conference and explains advanced usage patterns:

Clemens later posted Securing Service Bus with the Access Control Service post on 9/19/2011:

This session explains how to secure Service Bus using the Access Control Service. This is also an extension session for my session at BUILD, but watching the BUILD session is not a strict prerequisite.


Delivering notifications with the Windows Push Notification Service and Windows Azure by Darren Louie and Nick Harris

imageNotifications extend the reach of your app to the desktop but with a large user base timely delivery can be challenging without the right tools. In this session we’ll review the notification options available to modern apps, demonstrate how you can deliver notifications using Windows Azure, and discuss features provided by Windows Azure to scale your notification solution. By the end of this session you will understand how to use Windows Azure to rapidly develop a notification enabled service for Windows apps.

Building apps with Windows Workflow Foundation and Windows Azure by Jurgen Willis and Josh Twist

imageWindows Workflow Foundation shipped with .NET 4 and is a great way to build extensible apps, model long-running processes and orchestrate services. In this session, we’ll look at the options available to leverage Workflow Foundation in Windows Azure, starting with the capabilities on offer today, before taking a peek into the future and looking at some new features that the team is working on for running and managing workflows in Azure.

Building device & cloud apps by Wade Wegner

So, you’re building apps that span multiple devices apps and you’re curious about what the cloud can offer. Is it possible to deploy scalable Web apps and services on Windows Azure? How about storing data in the cloud? Is it possible to use the cloud for push notifications to the device? In this session, you'll learn how to build Windows 8, Windows Phone, Android and even iOS apps that are backed by scalable cloud services with the Windows Azure platform. This demo-focused session will cover the end-to-end experience and address how to tackle issues such as authentication, storage and notifications across a wide range of devices.

Building global and highly-available services using Windows Azure by David Aiken

imageBuilding global and highly-available services requires more than just building a stateless Web app. A myriad of factors need to be considered including architecting for high availability, data replication and traffic management. In this session, you will learn how Windows Azure assists in building and running global and highly-available services.

Building scalable web apps with Windows Azure by Matthew Kerner

imageLearn proven patterns and practices to build your next scalable Web app. You will see how to harness the power of both the modern browser and the cloud to build a lightning fast Web app. We will go in depth into the architecture of a highly scalable Web app built on Windows Azure and learn how to effectively use various scaling techniques such as asynchronous Web services, cache aside and job queuing on Windows Azure. Additionally, we will demonstrate when and how to use the various data storage solutions in Windows Azure to maximize performance. You will leave this session with the code samples, tools, and knowledge you need to scale your next Web app.

Building social games for Windows 8 with Windows Azure by Nathan Totten

imageBuilding a great social gaming experience for your users can be a challenging task. Your game has to be well designed, have a great user interface and perform under the most demanding conditions. This session will show how Windows 8 empowers you to build great user experiences with languages and tools you already know, and how Windows Azure can enable new scenarios in your games. We will discuss proven and effective patterns such as message queuing and background processing that you can use to build high -performance services on Windows Azure. We will demonstrate various technologies such as Windows Azure CDN and Traffic Manager that will allow you to scale your game to millions of users around the world. You will leave this session with concrete examples and code that you can use to build a great social games on Windows 8.

Building Windows 8 and Windows Azure apps by Steve Marx

imageThis session discusses both the fundamental concepts of Windows Azure and how it can be applied to provide connected experiences for Windows 8 users. After covering fundamentals, we will demonstrate how to use the development environment, consume Windows Azure compute and storage and ultimately the various app deployment methods. At the end of this session, you will be empowered to begin building and deploying your own Windows 8 and Windows Azure apps.

F# 3.0: data, services, Web, cloud, at your fingertips by Don Syme

imageModern programming thrives on rich spaces of data, information and services. With F# 3.0 and Visual Studio 11, you now have a tool that massively simplifies information-rich analytical programming. F# 3.0 provides integrated support for F# Information Rich Programming, a new and powerful way of integrating data and services into your programming experience. In this talk, we will describe the new features of F# 3.0, including the first released version of F# Type Providers and F# Queries, with apps to leverage technologies such as SharePoint, Azure Data Market, OData, Entity Framework and SQL Server.

Inside Windows Azure storage: what's new and under the hood deep dive by Brad Calder

imageWindows Azure Storage provides a scalable and reliable storage service for accessing Blobs, Tables, and Queues for Microsoft's new cloud OS. In this session, you will learn in depth about new Blob, Table and Queue features and how to use the new Windows Azure Storage Analytics to understand your app's usage of storage. In addition, you'll get an under-the-hood tour of the architecture and design of Windows Azure Storage, and you will learn what goes on behind the scenes to replicate, load balance and scale out access to your data.

Taking your Application Lifecycle Management to the cloud with the Team Foundation Service by Doug Neumann

imageYou’ve heard about the brand new Team Foundation Service that brings together Team Foundation Server and Windows Azure and now it’s time to find out how to get started. In this talk we’ll start you off with creating your account, setting up projects, issue tracking and much more. We’ll also show you how Team Foundation Service differs from Team Foundation Server and what that means to you.

Cloud Computing

Power your app with Live services by Dare Obasanjo

Windows 8 enables users to log into any device with a single Microsoft account and continuously interact with your app on all of their devices. Your customers will expect the ability to bring their documents, photos, videos, and contacts with them as they move between their devices. Come see how you can enable great on-the-go experiences by integrating Live services into your app. You’ll learn how to take advantage of single sign on using a Microsoft account instead of creating your own authentication infrastructure. You’ll also see how to use the SkyDrive service for free cloud-based storage of your customers’ photos, videos, and documents. We’ll dive into the details of the Live SDK and show how to use Visual Studio to easily enable these experiences.

The complete developer's guide to the SkyDrive API by Steve Gordon

More and more users are becoming familiar with the concept of "the Cloud." More than ever, users are storing their data in the Cloud. SkyDrive is one of the world's leading cloud storage and document collaboration services. Learn how you can easily allow your users to read and write documents, photos, and other files from/to their SkyDrive via simple REST APIs.

Making apps social and connected with HTTP services by Alexander Corradini and Suhail Khalid

People want apps that are social and connected - enabling them to upload pictures and share them with friends, download magazines, read news, or use the next big service on the Internet. Today’s popular services allow users to do these things over HTTP, but this can be tedious because of lengthy documentation, various authentication protocols and response formats. Come learn how Windows 8 makes it easy to provide a great social and connected experience by providing these HTTP services through a platform that is simple, rich, and enables multitasking - keeping your customers engaged in your apps.

Building Xbox LIVE games for Windows 8 by Avi Ben-Menahem

Xbox LIVE, Microsoft's premier entertainment service, is coming to Windows 8. Whether you are developing a game or another kind of entertainment app for Windows 8, Xbox LIVE can help your app stand out in the crowd and help engage and delight users. You will learn about how to implement our well-loved features like Achievements, Multiplayer, Avatars and Community and brand new ones like roaming storage and profiles

Using Windows Server 8 for building private and public IaaS clouds by Sandeep Singhal, Jeff Woolsey and Yigal Edery

Windows Server 8 is the first operating system to be optimized to support Infrastructure as a Service (IaaS) for building private and public clouds. With Windows Server 8, customers will be able to build scalable and flexible clouds, rapidly migrate their existing apps and services, and efficiently manage and monitor the cloud. With hundreds of new features in Hyper-V, encompassing networking, storage and more, Windows Server 8 creates several new opportunities for software, hardware and solution partners, as well as hosters, to extend and manage clouds. This session provides an overview of how Windows Server 8 enables IaaS and the rich, new development opportunities provided by the release.

Designing the building blocks for a Windows Server 8 cloud by Ross Ortega and Yigal Edery

When building servers, networks and storage for cloud scale data centers, many complex tradeoffs and technologies must be considered. These tradeoffs include performance, reliability, security, flexible virtual machine deployment, storage architecture selection and interoperability with the existing architecture. Each choice influences the other considerations. This session presents a few canonical architectures that highlight interesting tradeoffs for the design of servers and systems focused on cloud deployments.

Network acceleration and other NIC technologies for the data center by Don Stanwyck and Michael Nanakul

Clouds place new demands on performance and scalability. Partners can build cloud-scale infrastructure with Windows Server 8. In this session, we will cover several new technologies that make it possible for platform and hardware partners to provide performant and cost-effective cloud scale solutions.

Enabling multi-tenancy and converged fabric for the cloud using QoS by Charley Wen and Richard Wurdack

Converged fabric and multi-tenancy pose new challenges in the data center where businesses are required to provide predictable network performance and SLAs. Today, a common solution is costly hardware overprovisioning and complex wiring. In this session, we will describe how Windows Server 8 enables data centers to use QoS and DCB-capable hardware to guarantee network bandwidth to a service. Because Windows Server 8 provides predictable network performance in a converged fabric environment, businesses will be able to virtualize and consolidate network I/O intensive workloads on a single 10GbE NIC thereby reducing costs and improving service. Partners, through familiar PowerShell and WMI interfaces, will be able to integrate these QoS features to provide a better service on Windows Server 8.

Building secure, scalable multi-tenant clouds using Hyper-V Network Virtualization by Murari Sridharan and Yu-Shun Wang

'Any service at any server in any cloud.' Next generation data centers should allow dynamic resource allocation and consolidation across large resource pools. The topological constrains of today’s data center networks limit how services can be assigned to servers. Windows Server 8 enables you to create an agile, multi-tenant cloud on top of your existing infrastructure by virtualizing the network. Network virtualization decouples server configuration from network configuration to provide a virtual dedicated network to each tenant. This allows seamless migration of workloads, while continuing to provide security isolation between tenants. Partners have the opportunity to become multi-tenancy aware and provide the next generation of services, devices, appliances, both physical and virtual, to augment and complete the Windows offering to build secure, scalable, multi-tenant public and private clouds.

Optimal cloud performance with BranchCache by Andrew Cunningham and Tyler Barton

The cloud has enormous potential to reduce operational expenses and achieve new levels of scale, but moving workloads away from the people who depend on them can increase networking costs and hurt productivity. Users expect high performance and don’t care where their apps are hosted. BranchCache can improve the performance of cloud-based apps and reduce bandwidth consumption with a shared cache of data. It speeds up HTTP and SMB communication without requiring app changes or new infrastructure in the office or the data center. In this session, we’ll explore the BranchCache platform and protocols, and explain how they can be used to optimize apps deployed in public and private clouds.

Create experiences that span devices by John Sheehan

Your customers will expect your app to deliver a continuous experience even as they switch between apps and move between their devices. Come learn how to ensure your customers never lose their place in your app even when it is moved to the background or accessed on a new device. You will also discover how to enable customers to personalize your app with settings and ensure those settings flow automatically to all of their devices. We will show you how you can enable this continuous, cloud-powered experience with only a few lines of code.