Editor’s note:  Today’s post comes from Avilay Parekh, Sr. Program Manager for Windows Azure.  This post provides a good overview of the new Platform-as-a-Service (PaaS) related capabilities in the June 2012 release of the Windows Azure SDK for .NET.

By now I am sure some of you have played around with the latest Windows Azure SDK for .NET (June 2012 release)! We have lighted up a number of new PaaS-related capabilities that add value to your cloud applications. In this post, I’ll provide an overview of some of my favorite PaaS features. I will also do detailed walkthroughs of these features in subsequent posts. Meanwhile, you can find complete information on all the new features here on MSDN.

New Packaging Format

One of the cool things we did in the June 2012 release is to open up the packaging format of the cspkgs. The hackers amongst you already know that you could always open the cspkgs with unzip utilities and examine what was in the package. However, it has not been possible to edit and repackage the cspkg and deploy it to Windows Azure. That is, until now! With this release, we have provided a way to convert the cspkg to the open OPC format,which is compatible with the .zip format. What this means is that now you can unzip, edit, re-zip, and deploy your packages to Windows Azure without the need for Visual Studio, or even a Windows OS! This feature is in Community Technology Preview (CTP), which means I am looking for a ton of feedback from you on what is good, what is not, and what is missing. You can provide feedback on this Windows Azure forum that I monitor actively. Stay tuned for a detailed walkthrough of this feature in an upcoming post.

Direct Instance Addressability

Another area where we have made a lot of really exciting improvements is networking. You may have already heard a lot about ‘UDP’ and ‘Any’ protocol support as part of our Virtual Machines preview release. One really (really really!) cool feature we have worked on in this release is the ability to address your role instance directly. What this means is that if you have a web role with 4 instances running in the cloud, you can ask Windows Azure to assign these 4 instances ports like 5000, 5001, 5002, and 5003. Then you can directly talk to a specific instance by using a URL like – http://myapp.cloudapp.net:5000, http://myapp.cloudapp.net:5001, and so on. There are number of scenarios where this functionality is useful, e.g., you could open an admin-only endpoint on these ports and control how individual instances behave at runtime, or you could assign tasks to specific instances like in a map-reduce type workload, etc. Again – a detailed walkthrough of this feature coming soon!

Custom Load Balancer Probes

Another great feature is Custom Load Balancer Probes. This is a great way to control whether and when your role can receive traffic from the Windows Azure load balancer. This is a rather advanced scenario, which, if this were Windows OS, would be under a couple of “Advanced”, “Advanced”, buttons. While I’ll definitely cover this feature in – you guessed it – an upcoming post, this will be after I have covered the two other features I mentioned above.

Side By Side Install of SDKs

We received strong feedback from you that one of the main reasons you are not able to upgrade to a newer SDK and take advantage of all the cool new things we are releasing, is because there is no way for you to play around with the newer SDK while keeping your production code in the older, already running SDK. I hope the June 2012 SDK helps remove this particular road block from your way. You can install this SDK side-by-side with the older November 2011 SDK. I’ll post some screen shots of how you can author new projects in the November 2011 SDK after having installed the June 2012 SDK and how you can upgrade an existing November 2011 SDK project to the June 2012 SDK.

Stay tuned for my upcoming posts with detailed walkthroughs. Let me know in the comments section below if there are any specific topics about the Windows Azure SDK for .NET that you would like me to discuss.