Lamont Harrington's Blog

Microsoft Solutions Development, Architecture, and Technology Evangelism

Yesterday during our Worldwide Partner Conference (WPC) being held in Washington, DC, Bob Muglia, President of our Server and Tools Division at Microsoft, announced the limited availability of our Windows Azure Platform Appliance.

Windows Azure™ Platform Appliance is a turnkey cloud platform that customers can deploy in their own datacenter, across hundreds to thousands of servers. The Windows Azure platform appliance consists of Windows Azure, SQL Azure and a Microsoft-specified configuration of network, storage and server hardware. This hardware will be delivered by a variety of partners.

The appliance is designed for service providers, large enterprises and governments and provides a proven cloud platform that delivers breakthrough datacenter efficiency through innovative power, cooling and automation technologies.

To learn more about what the appliance has to offer to your organization, head over to the Windows Azure Portal.




The Microsoft patterns & practices team are up to it again.  Fresh on the heels of releasing the Developing Applications for SharePoint 2010 guidance, they've recently released part 1 of the Windows Azure Architecture Guidance.

What's in the Windows Azure Architecture Guide - Part 1?

 

 

ComponentDescription
The Guide

"Introduction to the Windows Azure Platform" provides an overview of the platform to get you started with Windows Azure. It describes web roles and worker roles, and the different ways you can store data in Windows Azure. It's probably a good idea that you read this before you go to the scenarios.

"The Adatum Scenario" introduces you to the Adatum company and the aExpense application. The following chapters describe how Adatum migrates the aExpense application to the cloud. Reading this chapter will help you understand why Adatum wants to migrate some of its business applications to the cloud, and it describes some of its concerns.

"Getting to the Cloud" describes the first steps that Adatum takes in migrating the aExpense application. Adatum's goal here is simply to get the application working in the cloud, but this includes "big" issues, such as security and storage.

"How Much Will It Cost?" introduces a basic cost model for the aExpense application running on Windows Azure and calculates the estimated annual running costs for the application. This chapter is optional. You don't need to read it before you go on to the following scenarios.

"Automating Deployment and Using Windows Azure Storage" describes how Adatum uses PowerShell scripts and the Microsoft Build Engine (MSBuild) to automate deploying aExpense to Windows Azure. It also describes how Adatum switches from using SQL Azure to Windows Azure Table Storage in the aExpense application and discusses the differences between the two storage models.

"Uploading Images and Adding a Worker Role" describes adding a worker role to the aExpense application and shows how aExpense uses Windows Azure Blob Storage for storing scanned images.

"Application Life Cycle Management for Windows Azure Applications" discusses how to manage developing, testing, and deploying Windows Azure applications. This chapter is optional. You don't need to read it before you go on to the last scenario.

"Adding More Tasks and Tuning the Application" shows how Adatum adds more tasks to the worker role in the aExpense application. In this phase, Adatum also evaluates the results of performance testing the application and makes some changes based on the results.

The companion samples The samples illustrate all scenarios covered in the book. They provide a “single box” experience with minimal infrastructure requirements.

Click here to download the guidance




The Microsoft patterns & practices team has recently released Developing Applications for SharePoint 2010 Guidance.

What's in Developing Applications for SharePoint 2010?

 

 

ComponentDescription
The guide

"Application Foundations for SharePoint 2010" describes approaches you can use to address the challenges of testability, flexibility, configuration, logging and exception handling, and maintainability; it also explains how to use the SharePoint Guidance Library components in these areas.

"Execution Models in SharePoint 2010" provides deep technical insights into the mechanics of the full-trust execution environment, the sandbox execution environment, and various hybrid approaches to executing code in SharePoint applications.

"Data Models in SharePoint 2010" explains new list and external data functionality and data access techniques, key design decision points that can help you to choose between standard SharePoint lists and external lists, and techniques and patterns to address large lists and list aggregation.

"Client Models in SharePoint 2010" provides guidance on how to best use the new client-side functionality to access data and build richer client experiences with Silverlight and Ajax.

Each section also contains a set of how-to topics. These explain how to perform specific tasks that the team found challenging to discover.

Reference Implementations

This release includes eight reference implementations that you can deploy to a SharePoint 2010 test environment. The reference implementations reinforce the key concepts in the guide and illustrate how to build applications that reflect real-world scenarios. Each reference implementation includes a detailed scenario and design overview, an explanation of the design decisions the team faced for the implementation, and an installation script to automate setup. This release includes reference implementations for the following scenarios:

  • Sandboxed solution
  • Sandboxed solution with a full-trust proxy
  • Sandboxed solution with External List
  • Sandboxed solution with custom workflow activities
  • Farm Solution (timer job)
  • SharePoint List Data Models
  • External Data Models
  • Client Application Models
The SharePoint Guidance Library

The library is a collection of reusable classes delivered as source code that address common challenges in application development for the SharePoint platform. This release improves on the previous release of the library by adding support for sandboxed solutions and taking advantage of new SharePoint features. The SharePoint Guidance Library consists of three key components:

  • SharePoint Service Locator. This provides a simple implementation of the Service Locator pattern for SharePoint applications. The service locator enables you to isolate your code from dependencies on external types, which makes your code more modular, easier to test, and easier to maintain.
  • Application Settings Manager. This provides a robust and consistent mechanism for storing and retrieving configuration settings at each level of the SharePoint hierarchy, from individual sites (SPWeb) to the entire server farm (SPFarm).
  • SharePoint Logger. This provides easy-to-use utility methods that you can employ to write information to the Windows Event log and the SharePoint Unified Logging Service (ULS) trace log. It also enables you to create custom diagnostic areas and categories for logging.

Click here to download the guidance




One of the cool aspects of working at Microsoft is the opportunity to work on some fantastic projects.  It’s truly been a pleasure working on some great internet facing SharePoint websites that showcase the platform’s ability to service some of the internet’s most demanding websites and show it’s effectiveness as a web content management platform. 

Today, the newly redesigned/re-architected Recovery.gov website that’s running completely on SharePoint Server 2007 was launched!

Recovery.gov

Recovery.gov is a government website designed to provide transparency in to how stimulus funds provided by the federal government are being allocated and spent on various stimulus related projects across the US.  On February 13, 2009, Congress passed the American Recovery and Reinvestment Act of 2009, who’s main goals are to:

  1. Create and save jobs
  2. Spur economic activity and invest in long-term economic growth
  3. Foster unprecedented levels of accountability and transparency in government spending

To that end, SharePoint Server 2007 was chosen as the platform to deliver on the requirements for the Recovery.gov site and will deliver compelling features and functionality that provides deep insight into how stimulus funds are being spent.  Head on over to Recovery.gov and check it out!




 

Windows Azure Platform  Project Riviera is a comprehensive code sample to demonstrate how to develop multi-tenant highly-scalable line-of-business application on Windows Azure Platform, built by a cloud ISV partner, Cumulux.

Cumulux is a Microsoft partner who’s built their business around  delivering solutions that leverage cloud computing and are keenly interested in making Azure their primary platform for delivering custom solutions for customers.

The reference application been published to the MSDN code gallery at http://code.msdn.microsoft.com/riviera.  You can also see a brief video, architectural slides and related material here (http://cumulux.com/riviera.html)

The main tenants of Azure demonstrated by Riviera Include:

  • Federated Security (using custom STS, .NET Access Control Service and Windows Live ID)
  • Multi Tenancy (On demand provisioning, Tenant Management, extensible metadata)
  • Extensibility  (using Silverlight 3, Workflow)
  • Scalability (using Azure Queues , Async patterns)
  • Flexible SLAs (using SQL Azure / Azure storage partitioning)



The April Update of the Azure Services Training Kit has released and is ready for download. Below is a brief overview (taken from the download site) of what's included in the latest release.

Overview
The Azure Services Training Kit includes a comprehensive set of technical content including hands-on labs, presentations, and demos that are designed to help you learn how to use the Azure Services Platform. The April release includes the following updates:

  • New Presentation for SQL Data Services
  • 2 additional hands-on labs for WIndows Azure PHP and Native Code support

This technical content covers services including: Windows Azure, .NET Services, SQL Services, and Live Services.




Microsoft has recently published the first 9 or 40 Azure Services Platform “How Do I” (HDIs) videos for public consumption.  The intent of the HDI videos are to provide additional training and resources around building cloud-aware applications on the Windows Azure Services Platform.  These HDI videos are freely downloadable and contains a ton of useful information and guidance.  Over time, more HDI videos will be published that addresses many aspects of developing solutions on top of Windows Azure.  Included in the first round of videos are the following:

Get Started Developing on Windows Azure?

If you’re a developer and you’re new to Windows Azure, start here! You’ll see what you need to download and install, and how to create a simple “Hello World” Windows Azure application.

Deploy a Windows Azure Application?

You’ll see what it takes to move your application into the cloud – you’ll see how to request and register a token, how to upload your Windows Azure application and how to move it between staging and production in the cloud.

Store Blobs in Windows Azure Storage?

Learn how to leverage Windows Azure storage to store data as blobs. You’ll learn about blob storage, containers and the API that makes it easy to manage everything from managed code.

Leverage Queries in Windows Azure?

Learn how to use queues to facilitate communication between Web and Worker roles in Windows Azure.

Debugging Tips for Windows Azure Applications?

The Windows Azure SDK includes a development fabric that provides a "cloud on your desktop." In this screencast, learn how to debug your Windows Azure applications in this environment.

Get Started with .NET Services?

.NET Services are a set of highly scalable building blocks for programming in the cloud. In this brief screencast, you'll learn about the registration process, the SDK and the built-in samples - everything you need to know in order to get started.

Harness the Microsoft .NET Service Bus?

The .NET Service Bus makes it easy to access your Web services no matter where they are. In this brief screencast, you'll see how to take a basic Windows Communication Foundation (WCF) service and expose it to the Internet with the .NET Service Bus.

Get Started with the Live Framework?

If you are looking to get started developing with the Live Framework, this is the place to start! In this screencast you'll learn how to get a Live Services token and what you need to download in order to start writing Live Framework applications.

Use the Microsoft Live Framework Resource Browser?

The Live Framework Resource Model is a simple, straightforward information model based on entities, collections and relationships. In this brief screencast you'll learn how to navigate the relationships between entities by using the Live Framework Resource Browser, which is a tool that ships with the Live Framework SDK.

Stay tuned!

To keep abreast of new HDI videos, head over to the overall HDI landing page regularly and sign up for the RSS feeds




The February Update of the Azure Services Training Kit has released and is ready for download. Below is a brief overview (taken from the download site) of what's included in the latest release.

Overview
The Azure Services Training Kit includes a comprehensive set of technical content including hands-on labs, presentations, and demos that are designed to help you learn how to use the Azure Services Platform. The February release includes the following updates:

  • 19 demo scripts that walkthrough several of the services
  • 10 presentations covering the entire Azure Services Platform
  • 3 additional hands-on labs for Live Services

This technical content covers services including: Windows Azure, .NET Services, SQL Services, and Live Services.




The Azure Issue Tracker application is a sample application that allows users to capture and track various types of issues. This sample demonstrates a real-world SaaS architecture and scenario using the Azure Services Platform to perform federation and multi-tenancy. Technologies used include the Access Control service (part of .NET Services) as well as SQL Data Services (part of SQL Services).

This sample is being released in two versions: Standard and Enterprise. The Standard version allows ad-hoc users to use LiveID federation with the .NET Access Control Service and authorize other LiveID users. The Enterprise version of IssueTracker wile use the same claims-based authorization capabilities as the standard version, but allow greater control by customers over claims and authorization decisions.

To learn more about this great sample application and download the source code, head over to the Azure Issue Tracker CodePlex project website.








A lot of exciting things came out of day #1 at the PDC.  I’m sure you’ve already started to see/hear about the great technology that we are unveiling.  During the keynote, I saw laptops being pulled out and I’m quite sure there are tons of blogging going on in the blogosphere

Today, Ray Ozzie kicked off the 2008 PDC with a keynote that basically laid the foundation of our software plus services strategy and highlighted the key investments we've been making over the last few years in bringing our cloud platform to fruition.  In his talk, he focused on the landscape as we see it in 3 tiers:

  • Experience Tier – The experience tier focuses on the end-user and their user experiences with the desktop/mobile device
  • Enterprise Tier – The enterprise tier focuses on people interaction with enterprise systems and system-to-system interaction within the enterprise
  • Web Tier – The web tier focuses on leveraging the web as the backbone for next generation computing.  Our cloud computing initiative is focused on leveraging the web through providing scalable hosting services for applications services.

Windows Strata becomes Windows Azure

During the keynote, Ray made the "formal" announcement of the name of our new cloud platform.  For those of you who knew this as codename "Windows Strata", the platform has now been officially branded as Windows Azure.

 

Windows Azure provides a hypervisor-based model for providing secure and scalable hosting services.  It separates the application/service being hosted from the underlying operating system.  It is also important to note that Azure is not only for managing server infrastructure, but also web services as well and provides an end-to-end approach for accomplishing this.  At the heart of Azure is a "Fabric controller" which dynamically manages resources within the data center to preserve the health of services/applications that are deployed to the Azure Platform.

Windows Azure will provide support for both managed (.NET) and unmanaged code which essentially allows you to host non-.NET applications within this cloud fabric.  From a developer perspective, developers will be able to take advantage of this platform locally, through the Azure SDK and supporting tools for Visual Studio, that'll provide facilities to support the development/debugging of cloud-based applications.  Through a "publish" operation in Visual Studio, developers will be able to publish their solution to the Azure services Developer Portal.

The Azure Services Platform consists of the following platform technologies:

  • Windows Live Services
  • Microsoft .NET Services
  • Microsoft SQL Services
  • Microsoft SharePoint Services (this is not to be confused with WSS)
  • Microsoft Dynamics CRM Services

The Azure platform should also not be confused as a replacement of our one-premise offerings, but rather a complementary, cloud-based equivalent.  our on-premise offerings as a part of our strategy include:

  • SQL Server 2008
  • BizTalk Server
  • SharePoint Server
  • Dynamics CRM
  • Windows Server
  • Systems Center

The platform will provide capabilities that allow developers to model the services deployed on the platform.  Service modeling consists of:

  • Roles and Groups (e.g. who has access to the services that are being published and what operations/actions they can perform
  • Channels and Endpoints (e.g. defining how the services will be exposed and over what transport protocols)
  • Interfaces
  • Configuration Settings

During the keynote, there were partner demonstrations of solutions that are already taking advantage of the Azure Services Platform.  Jonathan Greensted, CEO of Sentient, gave a demonstration of a solution that his company has been working on called, Bluehoo.com (http://m.bluehoo.com) that integrates cloud-based services with mobile devices.  You can download and starting playing with the solution from http://m.bluehoo.com.  In addition, Shawn Davison, VP of RedPrairie, a Supply-chain manufacturing solutions firm, demoed a "one button" product recall orchestration running on Windows Azure and leveraging .NET services like workflow.

Bob Muglia came on stage and discussed our roadmap leading into 2009+.  He focused on the theme of the "5th generation computing".  In his discussion, he highlighted where we've been and where we're going

  • 1970s - Monolithic
  • 1980s - Client-server
  • 1990s - Web
  • Today - SOA
  • 2009+ - Services

Bob’s “evolutionary” discussion provided additional context to what Ray covered in his keynote and further solidified our messaging around the Windows Azure platform and the investments that we’ll be making from now, until we ship.

What's in Microsoft .NET Services?
.NET Services (formerly known as BizTalk Services) are a set of Microsoft hosted, scalable, developer-oriented services that provide key building blocks upon which developers can create cloud-based or cloud-aware applications.  Essentially, it breaks down into the following 3 components:

  • A full end-to-end service bus solution – Makes it easy to connect disparate applications over the internet
  • Facilities that support Identity/Access Control – Provides an easy way to control web applications and services using standards-based identity providers, including enterprise directory services such as Active Directory and web-based identity stores such as Windows Live ID
  • Workflow Services – Provides a highly scalable host for running workflows in the cloud. 

What's in SQL Services?
SQL Data services extend the capabilities of SQL Server to the cloud as web-based services, which enable you to store your data in a highly-scalable and internet-facing distributed database service infrastructure.  It contains the following key components:

  • Database
  • Data Sync
  • Reporting
  • Data Mining
  • ETL
  • Reference Data

What about Microsoft Online?
Our Microsoft Online Strategy still remains intact and will take advantage of the new Windows Azure platform as it evolves.  The Microsoft Online platform is geared at addressing many customer challenges we've heard, including:

  • Best in class collaboration
  • Staying up-to-date with software versions/patches/updates
  • Lower, predictable costs
  • Scarce IT resources
  • High Security
  • High Availability

NOTE: It is important to note that the current version of Microsoft Online IS NOT built on the Windows Azure platform.  Over time, it will take advantage of our investments in Windows Azure.

Can customers host Windows Azure within their own data centers?
This question was asked several times within today’s breakout sessions.  The answer to this is that as the features/capabilities of Windows Azure evolve, we (Microsoft) will take a look at the capability stack and identify key features of Windows Azure and roll it into our enterprise server products.  There is still significant value within our enterprise server platform and overtime, those products will benefit from the rich investments being made in Windows Azure.

When are we going to ship Windows Azure?
Answer: When it’s ready. :-)  

Essentially, we’re targeting some time in calendar year 2009, however, we’re largely basing our release on when our customers think that it’s ready to be released, and not a moment sooner.  We will follow a similar process that we’ve followed with CTP services we’ve already released and will be doing frequent updates.  However, the final ship date was not disclosed.

Are there any resources available to learn more about Windows Azure?
You can find more information about the Azure Services Platform, including whitepapers, SDK and tool downloads, datasheets, and a link to sign-up for a test/dev account to the Windows Azure cloud platform at the Azure Services Platform website.

That about sums up day #1.  I hope you find this recap helpful.




Calendar

<<  August 2010  >>
MoTuWeThFrSaSu
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

View posts in large calendar

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2009, Lamont Harrington.