| By Alin Irimie | Article Rating: |
|
| November 6, 2009 11:21 PM EST | Reads: |
411 |
Microsoft just announced the Windows Azure Content Delivery Network (CDN) to deliver Windows Azure Blob content. Windows Azure CDN offers developers a global solution for delivering high-bandwidth content.
Windows Azure CDN has 18 locations globally (United States, Europe, Asia, Australia and South America) and continues to expand. Windows Azure CDN caches your Windows Azure blobs at strategically placed locations to provide maximum bandwidth for delivering your content to users. You can enable CDN delivery for any storage account via the Windows Azure Developer Portal. The CDN provides edge delivery only to blobs that are in public blob containers, which are available for anonymous access.
The benefit of using a CDN is better performance and user experience for users who are farther from the source of the content stored in the Windows Azure Blob service. In addition, Windows Azure CDN provides worldwide high-bandwidth access to serve content for popular events.
When you enable CDN access for a storage account, the Windows Azure portal provides you with a domain name of the following format: http:/ /.vo.msecnd.net/. This domain name can then be used to access blobs in a public container. For example, given a public container ‘images’ and a storage account ‘cohowinery’, once the storage account is enabled for CDN access, users can access the blobs in that container using either of the following two URLs:
Windows Azure Blob service URL: http://cohowinery.blob.core.windows.net/images/
Windows Azure CDN URL: http://.vo.msecnd.net/images/
When a request is made using the Windows Azure Blob service URL, the blob is read directly from the Windows Azure Blob service. When a request is made using the Windows Azure CDN URL, the request is redirected to the CDN endpoint closest to the location from which the request was made to provide access to the blob. If the blob is not found at that endpoint, then it is retrieved from the Blob service and cached at the endpoint, where a time-to-live (TTL) setting is maintained for the cached blob. The TTL specifies that the blob should be cached for that amount of time in the CDN until it is refreshed by the Blob service. The CDN attempts to refresh the blob from Windows Azure Blob service only once the TTL has elapsed. The default TTL is 72 hours. At PDC 2009, we will allow you to specify the standard HTTP Cache-Control header for your Windows Azure blobs. If this value is specified for a blob, then the TTL period will be set to the value specified in Cache-Control header.
The value of caching blobs in the Windows Azure CDN is realized only when the content is delivered from the CDN edge cache, so content requested only once during the blob’s TTL period will not get performance improvements from edge caching. The blob content that benefits the most from caching are blobs accessed frequently during their cached TTL period.
You may also register one custom domain name for Windows Azure CDN access per storage account in the Windows Azure Developer Portal. For example, if you wanted to access CDN content through the domain ‘merlot.cohowinery.com’, you can register that custom domain name for the CDN endpoint in the portal. Continuing with our example, this would allow you to then access your blobs via one of the following three URLs:
http://cohowinery.blob.core.windows.net/images/
http://.vo.msecnd.net/images/
http://merlot.cohowinery.com/images/
The last two URLs above would access the blobs in the ‘images’ container via the Windows Azure CDN, whereas the first URL would access the blobs directly from the Windows Azure Blob service.
The following steps are to enable CDN access to a storage account:
- Go to the Windows Azure Developer Portal.
- Click on your storage account.
- Click on ‘Enable CDN’ for your storage account.
- The portal provides a CDN domain name in the form of: http://.vo.msecnd.net/ .
- The configuration created for this endpoint is not immediately available; it can take up to 60 minutes for the registration to propagate through the CDN network worldwide. Users who try immediately to use the CDN domain name will get a 400 error until the configuration is updated worldwide.
After you’ve followed the steps listed above, you have to designate the containers you want to provide access to as a public container (http://msdn.microsoft.com/en-us/library/dd179391.aspx). You can then access blobs in that container using the CDN URL. The CDN domain name represents the storage account, so any public blob container within that storage account can be accessed via the CDN URL.
You can also register a custom domain name for the Windows Azure CDN endpoint. Follow these steps to register and use a custom storage domain name for your CDN content:
- Go to the Windows Azure Developer Portal
- Click on your storage account
- Click on ‘Manage’ for your http://.vo.msecnd.net/ endpoint.
- Enter your custom domain name.
- To complete the register of your custom domain name you will be asked to verify that you own the domain. You will be asked to register for your ‘custom.domain.name’ a CNAME record from ‘.custom.domain.name’ to ‘domainnameverification.windows.azure.com’, where the is specified by us in the portal.
- Once you have registered that CNAME, click on validate in the portal for the CDN endpoint. Windows Azure will then validate that the CNAME record exists, and if successful your custom domain name will be registered.
To use the custom storage domain name:
- Create a CNAME record from ‘custom.domain.name’ to ‘.vo.msecnd.net’
- Make the containers you want to provide anonymous access for public containers using the following blob API:
- http://msdn.microsoft.com/en-us/library/dd179391.aspx
- You can then begin providing anonymous access to your blobs with http://custom.domain.name/ via the Windows Azure CDN.
If you no longer wish to cache a blob in the CDN, you can:
- Delete the blob from the public container
- Make the container private instead of public using the blob API:
- http://msdn.microsoft.com/en-us/library/dd179391.aspx
- Remove the Windows Azure CDN endpoint from your storage account in the Windows Azure Developer Portal.
Blobs already cached in the CDN will remain cached until the TTL for each blob expires. When the TTL expires, the Windows Azure CDN will check to see whether the CDN endpoint is still valid and the Windows Azure blob is still anonymously accessible. If it is not, then the blob will no longer be cached. This means that if you want to change the content of the blob and the blob is currently cached in the CDN, the new content will not be available via the CDN until the CDN refreshes its content when the cached content TTL expires.
Additional information:
At this time there is no charge for CDN access to your blobs while in CTP. Information on pricing for the Windows Azure CDN offering will be provided in the future.
For best performance, we recommend caching blobs less than 10 GB in size.
Windows Azure CDN access only works for anonymous access and for HTTP. HTTPS is not supported for CDN access.
A custom domain name can be registered for only one storage account endpoint at a time. For example, one could not register the domain name ‘merlot.cohowinery.com’ for two different Windows Azure CDN endpoints at the same time.
You can register overlapping domain names for different endpoints. For example, the following domain names can be registered at the same time for different storage accounts or endpoints:
http://merlot.cohowinery.com/
http://vintage.merlot.cohowinery.com/
Stay tuned for more information about the Windows Azure CDN and additional new and exciting features at PDC 2009.
Steve Marx has some additional info here.
Related posts:
- Windows Azure - Data Storage The goal of Azure storage services is to allow applications...
- Use Windows Azure Right Now. No Invitation Code Needed. Until this week, using the Windows Azure CTP meant signing...
- Azure Blob and Queue Library for .NET 2.0 and .NET 3.5 - No Azure SDK Needed This is something I really like. It is a library...
Read the original blog entry...
Published November 6, 2009 Reads 411
Copyright © 2009 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Alin Irimie
Alin Irimie is a software engineer - architect, designer, and developer with over 10 years experience in various languages and technologies. Currently he is Messaging Security Manager at Sunbelt Software, a security company. He is also the CTO of RADSense Software, a software consulting company. He has expertise in Microsoft technologies such as .NET Framework, ASP.NET, AJAX, SQL Server, C#, C++, Ruby On Rails, Cloud computing (Amazon and Windows Azure),and he also blogs about cloud technologies here.
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- My Thoughts on Ulitzer
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Moving Your RIA Apps into the Cloud: Seven Challenges
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Social Media on Ulitzer - Strategy Nets New AUM for RIA
- Windows 7 – Microsoft’s First Step to the Cloud
- Ulitzer Provides a Powerful Social Journalism Platform
- Jill Tummler Singer, Deputy CIO of CIA, Keynotes at GovIT Expo
- Practical Approaches for Optimizing Website Performance
- The Difference Between Web Hosting and Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- US Post Office Hops a Ride on NetSuite’s Cloud
- My Thoughts on Ulitzer
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- WPF Controls by DevExpress
- Moving Your RIA Apps into the Cloud: Seven Challenges
- Building a Drag-and-Drop Shopping Cart with AJAX
- What Is AJAX?
- Google Maps! AJAX-Style Web Development Using ASP.NET
- Flashback to January 2006: Exclusive SYS-CON.TV Interviews on "OpenAjax Alliance" Announcement
- AJAXWorld Conference & Expo to Take Place October 2-4, 2006, at the Santa Clara Convention Center, California
- AJAX Sponsor Webcasts Are Now Available at AJAXWorld Website
- How and Why AJAX, Not Java, Became the Favored Technology for Rich Internet Applications
- "Real-World AJAX" One-Day Seminar Arrives in Silicon Valley
- AJAXWorld University Announces AJAX Developer Bootcamp
- AJAX Support In JadeLiquid WebRenderer v3.1
- Where Are RIA Technologies Headed in 2008?
- Struts Validations Framework Using AJAX


































