Lamont Harrington's Blog

Microsoft Solutions Development, Architecture, and Technology Evangelism

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.




The Patterns & Practices Team have recently released v1.0 of the web services security guide (in PDF format) that shows how to make the most out of WCF.  With end-to-end application scenarios, it shows you how to design and implement authentication and authorization in WCF. Learn how to improve the security of your WCF services through prescriptive guidance including guidelines, Q&A, practices at a glance, and step-by-step how tos. It's a collaborative effort between patterns & practices, WCF team members, and industry experts.

The guide has been released on CodePlex and is available for download.




Few sample .NET applications have had more impact on the .NET development community than the Terrarium sample application that was released during the version 1.0 release cycle of the .NET Framework.  This solution created a community of .NET enthusiasts that far exceeded the expectations of the .NET Framework team.  It showcased a "production-level" end-to-end reference solution that highlighted key features of the .NET Framework and showcased the power and creativity .NET can bring to software development.  I recalled that for many months I inquired as to when the source code for this application was going to be released, because, as you may recall, only the binaries were made available.  Sure you could decompile the executable and supporting libraries, or use great tools like Lutz Roeder's .NET Reflector, but there's nothing like having the Visual Studio projects openly released for all to see!! :-)

Well, Terrarium is BACK!! :-)  The project was resurrected by the Windows SDK Team and MVP Bil Simser has volunteered to coordinate development efforts for the project.

Head on over to CodePlex and be a part of the effort! For all you .NET Framework "old heads" like myself who looked at Terrarium as an amazing solution to dissect, learn from, and foster new ideas around the creation of solution architectures, I emplore you to check out the project. 

Thanks Windows SDK Team for evolving the solution and thanks Bil for stepping up to take on coordination for the effort.

Fun times (especially for me) are ahead! :-)  Especially with the introduction of WPF, WCF, WF, LINQ, Silverlight and an assortment of other technology goodies, this solution is sure to continue to evolve into something that we'll all continue to be proud to showcase as a premier .NET solution.




Windows Communication Foundation Security Guidance

The intial release of the WCF Security Guidance from the Microsoft Patterns & Practices team has been released to Codeplex.  The guidance contains how-to video and articles that describe common security practices when designing, developing, and deploying services built on WCF.  The guidance content consists of the following:

How-To Videos:

How-To Articles:




Calendar

<<  March 2010  >>
MoTuWeThFrSaSu
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

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.