Saturday, March 26, 2011

Convergence of "Server AppFabric" and "Azure AppFabric"

It's good to see the prediction that I made in December 2010 coming true :). In November 2010, I wrote a post to show the differences between "Azure AppFabric" and "Server AppFabric". Intent was to help people who were confused because of the similarity in name of these two very different products.
   Refer: http://piyushprakash.blogspot.com/2010/11/de-mystifying-windows-azure-app-fabric.html

  I had concluded the post by saying that there is great potential if the capabilities from the "Server AppFabric" were merged with Azure. It's good to see that Microsoft is starting to offer some of the capabilities from the server version of AppFabric in the form of cloud based services.

 For now, I will just provide the difference in the visual representation, and look forward to diving into nitty gritty in subsequent blogs.

   Earlier:

  Now:
          
       
As you can see,  addition of services such as Caching, Composite Apps, etc within Azure AppFabric indicates a move towards evolving it from being "a basic service bus with access control", to being a full-fledged scalable and secure middleware with support for multiple integration patterns.

I hope to dive deeper into some of these features into future posts.

Sunday, March 20, 2011

Windows Azure CDN Simplified!!

Okay. I finally got around to trying out Windows Azure CDN. CDN could be a god-send for companies trying to serve a global userbase. Currently, lot of them essentially force their global users from around the world to connect to US based data centers. The latency in delivering content becomes really high when content happens to be something like video, audio or similar such media that requires high bandwidth throughput.

  The Windows Azure Content Delivery Network (CDN) offers a global solution for delivering such high-bandwidth content that's hosted (cached) in strategically placed locations to provide maximum bandwidth for delivering content to end users.

In it's current avatar, CDN is not suitable for many requirements (that can potentially benefit from such a service) because of inherent limitations in terms of secuirty, content type supported, etc. But I defnitely see those limitations going away in next few releases.

Following are the key attributes of this service that one should understand to be able to decide if CDN is the right fit for a solution:

    1. CDN delivers cached content at strategically located physical nodes in the United States, Europe, Asia, Australia and South America. A latest list of nodes is available at the following url: http://msdn.microsoft.com/en-us/library/gg680302.aspx

    2. Microsoft cannot (and doesn't) guarantee that the content will be served from the closest possible node to the user because it's dependent upon many different factor such as current load, availability, node capacity, etc. This is very critical for organizations that have conpliance requirements such as HIPAA, etc.

   3.  It works better for Windows Azure blobs and static contents. It may not be a good idea to use CDN for contents that are frequently refreshed or need to be generated based on real-time data.

   4. CDN is an add-on feature to your Azure subscription (that needs to be enabled through the Azure Management Portal) and costs extra.

   5. Only blobs that are publically available (anonymous access) can be cached with the Windows Azure CDN.

   6. If you use CDN to cache Azure hosted services, it's recommended to enable CDN only for static content. Enabling CDN for dyanamically generated content or services will cost more, and may even have a negative impact on the performance.

  7.  You can set the "time-to-live" setting for content in CDN. If a content has expired in CDN, the call is re-directed to the blob or stoarge service to get the latest content; and is cached by CDN for subsequent calls (till the content expires again after time-to-live setting passes).

Happy CDN'ing !!

Thursday, March 10, 2011

WIndows Azure SDK 1.4 Release !

Microsoft released the Windows Azure SDK 1.4 yesterday.  The release fixes several significant bugs including the nasty RDP bug and adds capabilities like multiple administrator support from the enhanced Windows Azure Connect portal.

  Two new features that I am most excited about is "Azure CDN for Hosted Services" and "CDN content delivery over https". 

Windows Azure CDN for Hosted Services: You can now use the Windows Azure Web and VM roles as"origin" for objects to be delivered at scale via the Windows Azure CDN.

Serve secure content from the Windows Azure CDN: A new checkbox option in the Windows Azure management portal enables delivery of secure content via HTTPS through any existing Windows Azure CDN account.

Windows Azure 1.4 SDK is available for download here.

Cheers!!