Archives For azure

Cloud.Compile()

February 13, 2012

Cloud computing news, tips, and tricks for the week ending February 11, 2012.

{News and Analysis}
Amazon Web Services (AWS)
force.com
Google App Engine
Rackspace
Microsoft

Introducing Cloud.Compile()

February 5, 2012

During the course of blogging over the past two+ years, I have gone back and forth about whether or not I should do “round up” posts each week on various hot spots I’m following. To date I’ve avoided doing so. However, I believe my decision has given this blog a pretty narrow scope. While I do spend most of my time working in the Microsoft technology stack (specifically cloud and mobile) I keep and close eye on the competition and occasional experiment with what they have to offer. This allows me to get a broader understanding of the market and help customers make the decisions that are right for them (which isn’t always Microsoft). Since my goal in creating this blog was to help foster a community of well rounded (not just Microsoft) developers I thought I would start sharing articles I find particularly interesting each week. I plan on compiling one post on cloud news (this one) and another on mobile news (coming later today). I’ll give it a month or so to see how it goes.

Amazon Web Services (AWS)

force.com

Google App Engine

Rackspace

Windows Azure

ag

Next week I’ll be speaking at Cloud Fest in Denver. The title of my talk is “Securing Azure Hosted Services, The Easy Way”. Here’s the abstract:

Authentication and authorization are key components of most line of business applications. However, identity management is not a trivial task, especially when it comes to extending identity management to the cloud. In this session we’ll look at how you can use the Windows Azure Access Control Service (ACS) to simplify identity management for applications running on the Windows Azure platform. We’ll start by covering the basics of identity management and ACS. From there we’ll look at how to do create an ACS namespace, integrate identity providers and relying parties, create token transformation rules to provide consistent claims, establish a trust between ACS and your ASP.NET application, test the integration, and automate the management of your ACS namespaces.

Hope to see you there!

In my previous post I introduced a project that uses PowerShell functions to extend the baseline functionality of the Windows Azure PowerShell Cmdlets published by Microsoft on CodePlex. In that post I provided three PowerShell functions that make it very easy to delete an existing deployment from a Windows Azure hosted service. In this post I’m going to focus on the Windows Azure Access Control Service (ACS).

In my opinion ACS is one of the most powerful components of the Windows Azure platform as it enables you to easily outsource identity management from your applications to known identity providers such as Windows Live, Google, Yahoo, Facebook, Active Directory Federation Services, and other providers that implement the WS-Federation protocol. The cmdlets provided by Microsoft allow you to automate the management of your ACS namespaces. One function that is a part of this API is called Add-IdentityProvider that enable you to do exactly that, add an identity provider to an ACS namespace. If you run the get-help command with the –detailed switch, you’ll see that the function has 15 parameters.

As you can see, there is a lot of flexibility in this one function, which has positives and negatives. For some of the things I do I just want to be able to quickly add one of the preconfigured identity providers (Google and Yahoo!) It’s not difficult to accomplish with the Add-IdentityProvider function, but I just wanted to make it a bit easier. To that end I created a repository on github to house the scripts. You can browser the repository here. Currently there are six scripts in the repository:

./Identity-Providers/Add-GoogleIdentityProvider
Adds Google as an identity provider to a Windows Azure AppFabric namespace with the Access Control Service enabled.

./Identity-Providers/Add-PreconfiguredIdentityProvider
Adds a preconfigured identity provider identity provider to a Windows Azure AppFabric namespace with the Access Control Service enabled.

./Identity-Providers/Add-YahooIdentityProvider
Adds Yahoo as an identity provider to a Windows Azure AppFabric namespace with the Access Control Service enabled.

./Identity-Providers/Remove-GoogleIdentityProvider
Removes Google as an identity provider from a Windows Azure AppFabric namespace with the Access Control Service enabled.

./Identity-Providers/Remove-PreconfiguredIdentityProvider
Removes a preconfigured identity provider from a Windows Azure AppFabric namespace with the Access Control Service enabled.

./Identity-Providers/Remove-YahooIdentityProvider
Removes Yahoo as an identity provider from a Windows Azure AppFabric namespace with the Access Control Service enabled.

Once again, you can get the scripts here.

Hope it helps!

How Did He Do That?

January 20, 2012

This past Wednesday I gave a talk at the Chippewa Valley .NET User Group entitled “You Can Do What in Windows Azure?!” In the session I showed how to use things like remote desktop, startup tasks, PowerShell, Node.js, and more with the Windows Azure  platform. If you’re wondering how I did some of the demos, I invite you to follow the links below.

Using Remote Desktop with Windows Azure Roles
http://msdn.microsoft.com/en-us/library/windowsazure/gg443832.aspx

Overview of Startup Tasks for Roles in Windows Azure
http://msdn.microsoft.com/en-us/library/windowsazure/hh124132.aspx

How to Define Startup Tasks for a Role
http://msdn.microsoft.com/en-us/library/windowsazure/gg456327.aspx

WebPICmd Command-Line Tool for Windows Azure
http://go.microsoft.com/?linkid=9752821

How to Use the WebPICmd Command-Line Tool
http://msdn.microsoft.com/en-us/library/windowsazure/gg433092.aspx

Using Windows Azure Connect to Create virtual Networks
http://msdn.microsoft.com/en-us/library/windowsazure/gg445026.aspx

Windows Azure Powershell Cmdlets
http://wappowershell.codeplex.com/

Node.js home page
http://nodejs.org

Windows Azure Node.js Developer Center
http://www.windowsazure.com/en-us/develop/nodejs/

Enjoy!

Recently I’ve been diving into the Windows Azure PowerShell Cmdlets published by Microsoft on CodePlex. First off, let me say that I think these tools are incredible powerful. They allow you easily automate the management of numerous components of the Windows Azure platform (including hosted services, storage, SQL Azure, and the Access Control Service). However as I began to really get into the API’s I found one feature was missing from cmdlets that involve managing hosted services. The feature is the ability to simply delete a deployment. Don’t misunderstand me, you can cobble several calls together to delete a deployment. Here’s what you would have to do:

Notice, you have to suspend the deployment first before you can remove it. Failing to put the deployment in a suspended state before attempting to remove it will result in an exception. Also notices you have to specify which slot you want to remove the deployment from.

While the above method, wouldn’t it be nicer if you could call something like Delete-Deployment that would perform both the suspend and remove operations? Taking it one step further, wouldn’t it be even nicer if you could call something like Delete-StagingDeployment and Delete-ProductionDeployment so you didn’t have to specify which slot you wanted to remove the deployment from in your arguments? Well I think so, and if you’re still reading you probably think so to. I decided to take action and create a repository on github to house scripts that contain functions to extend the tools provided by Microsoft. You can browse the repository here. Currently there are three scripts in the repository:

./Deployments/Delete-Deployment
Deletes a deployment from a specified slot

./Deployments/Delete-ProductionDeployment
Deletes a deployment from the production slot

./Deployments/Delete-StagingDeployment
Deletes a deployment from the staging slot

Each script is documented and contains examples which you can view when running in PowerShell by using the get-help command.

Once again, you can get the scripts here.

Hope this helps.

Upcoming Events

January 6, 2012

On January 17, 2012 I will be speaking at the Chippewa Valley .NET Users Group. The topic for the evening is You Can Do What in Windows Azure?! Here’s an abstract of the session:

You already know you can run your .NET based web sites, services, and applications on Windows Azure, but this only scratches the surface of what you can do. Encoding video with Expression Encoder, hosting adaptive streaming video in blob storage, hosting multiple web sites, enabling remote desktop, running php, node.js, and MongoDB, creating a VPN and more are all possible with the Windows Azure platform. In this demo intensive session I’ll show you how to do amazing things to unleash the power of Azure.

You can find out more about the session and register for it here.

On January 19, 2012 I’ll be giving a new presenting at the Twin Cities Connect Systems User Group. The topic for this talk is Securing WCF Services with the Windows Azure Access Control Service. Here’s a taste of what we’ll be covering:

Integrating your WCF services with third-party authentication and identity management systems can be a daunting task. Some of the common challenges associated with this task include:
•    Configuring WCF bindings to request a token from ACS
•    Validating the incoming token issued by the identity provider
•    Parsing the incoming token
•    Implementing authorization checks
•    Transforming tokens by adding, removing, or changing the claims types and values
•    Using configuration rather than code to accomplish all of the above

In this session we’ll look at how to use the Windows Azure Access Control Service (ACS) to tackle these challenges. We’ll start by covering the basics of identity management and ACS. From there we’ll look at how to secure WCF services via ACS using the following methods:
•    WCF Username Authentication
•    WCF Certificate Authentication
•    WCF Federated Authentication with AD FS 2.0

You can find out more about this event and register for it here.

In this epiosde Adam Grocholski shows you how to automate the deployment and management of your Windows Azure services with Powershell.

I show you how to completely customize your Windows Azure roles using startup tasks.

I show you how to bridge the gap between on-premises and Windows Azure resources using Windows Azure Connect.