ENTERPRISE

Developing Applications for the Cloud on the Microsoft Windows Azure Platform : Accessing the Surveys Application - Geo-Location

2/27/2011 9:47:20 AM
Windows Azure allows you to select a geographic location for your Windows Azure services so that you can host your application close to your users. This section describes how Tailspin uses this feature in the Surveys application.


Note:

The Surveys application is a “geo-aware” service.


1. Goals and Requirements

Tailspin wants to allow subscribers to the Surveys service to be able to specify which geo-specific instance of the Surveys application they’d like to use. For example, a U.S.–based customer would probably want to choose a U.S.–based service, and a European customer would probably want to choose a European-based service. However, it’s possible that a subscriber might want to run a survey in a different geographic region than the one the subscriber is located in. Figure 1 shows how a U.S.–based subscriber might want to run a survey in Europe:

You can check the current status of any Windows Azure data center here: http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx.

Figure 1. A U.S.–based subscriber running a survey in Europe


2. Overview of the Solution

Hosting a survey in a web role in a different geographic location doesn’t, by itself, mean that people filling out the survey will see the best response times when they use the site. To render the survey, the application must retrieve the survey definition from storage, and the application must save the completed survey results to storage. If, in the example shown in Figure 3-1, the application storage is in the U.S. data center, there is little benefit to European customers accessing a website hosted in the European data center.

Figure 2 shows how Tailspin designed the application to handle this scenario and resolve the issue just described.

Figure 2. Hosting a survey in a different geographic location


The following describes the steps illustrated in Figure 2:

  1. The subscriber designs the survey, and the application saves the definition in storage hosted in the U.S. data center.

  2. The Surveys application pushes the survey definition to another application instance in a European data center. This needs to happen only once.

  3. Survey respondents in Europe fill out the survey, and the application saves the data to storage hosted in the European data center.

  4. The application transfers the survey results data back to storage in the U.S. data center, where it is available to the subscriber for analysis.

In some scenarios, it may make sense to pre-process or summarize the data in the region where it’s collected and transfer back only the summarized data to reduce bandwidth costs. For the Surveys application, Tailspin decided to move all the data back to the subscriber’s region; this simplifies the implementation, helps to optimize the paging feature, and ensures that each response is moved between data centers only once.


Note:

When you deploy a Windows Azure application, you can select the subregion (which, at the moment, determines the data center) where you want to host the application. You can also define affinity groups that you can use to group inter-dependent Windows Azure applications and storage accounts together in order to improve performance and reduce costs. Performance improves because Windows Azure co-locates members of the affinity group in the same data center. This reduces costs because data transfers within the same data center do not incur bandwidth charges. Affinity groups offer a small advantage over simply selecting the same subregion for your hosted services, because Windows Azure makes a “best effort” to optimize the location of those services.


Other  
  •  Developing Applications for the Cloud on the Microsoft Windows Azure Platform : DNS Names, Certificates, and SSL in the Surveys Application
  •  Securing SharePoint Sites with Forefront TMG 2010 (part 2) - Creating a SharePoint Publishing Rule Using Forefront TMG
  •  Securing SharePoint Sites with Forefront TMG 2010 (part 1) - Configuring the Alternate Access Mapping Setting for the External URL
  •  SharePoint 2010 : Outlining the Inherent Threat in SharePoint Web Traffic
  •  SharePoint 2010 : Outlining the Need for the Forefront Edge Line for SharePoint Environments
  •  Collaborating Within an Exchange Server Environment Using Microsoft Office SharePoint Server 2007 : Customizing and Developing MOSS Sites
  •  Collaborating Within an Exchange Server Environment Using Microsoft Office SharePoint Server 2007 : Exploring End-User Features in MOSS
  •  Collaborating Within an Exchange Server Environment Using Microsoft Office SharePoint Server 2007 : Exploring Basic MOSS Features
  •  Collaborating Within an Exchange Server Environment Using Microsoft Office SharePoint Server 2007 : Understanding the History of SharePoint Technologies
  •  Business Intelligence in SharePoint 2010 with PerformancePoint Services : PerformancePoint Services Overview
  •  SharePoint 2010 : Upgrading an Existing Extranet Solution from SharePoint 2007
  •  Exchange Server 2010 : SIP Protocol
  •  Exchange Server 2010 : Unified Messaging Shell Commands
  •  Exchange Server 2010 : Monitoring and Troubleshooting Unified Messaging
  •  Microsoft Content Management Server Development : Managing Channels and Postings with the PAPI - Moving Postings
  •  Microsoft Content Management Server Development : Managing Channels and Postings with the PAPI - Copying Postings
  •  Hosting a Multi-Tenant Application on Windows Azure : Selecting a Single-Tenant or Multi-Tenant Architecture
  •  SharePoint 2010 :Implementing a Partner Extranet Solution (part 2) - Configuring Authentication Providers
  •  SharePoint 2010 :Implementing a Partner Extranet Solution (part 1) - Creating the Extranet Web Application & Creating an Extranet Site Collection
  •  SharePoint 2010 : Implementing Authentication Scenarios
  •  
    Video
    Top 10
    -  Nikon 1 J2 With Stylish Design And Dependable Image And Video Quality
    -  Canon Powershot D20 - Super-Durable Waterproof Camera
    -  Fujifilm Finepix F800EXR – Another Excellent EXR
    -  Sony NEX-6 – The Best Compact Camera
    -  Teufel Cubycon 2 – An Excellent All-In-One For Films
    -  Dell S2740L - A Beautifully Crafted 27-inch IPS Monitor
    -  Philips 55PFL6007T With Fantastic Picture Quality
    -  Philips Gioco 278G4 – An Excellent 27-inch Screen
    -  Sony VPL-HW50ES – Sony’s Best Home Cinema Projector
    -  Windows Vista : Installing and Running Applications - Launching Applications
    Most View
    -  Bamboo Splash - Powerful Specs And Friendly Interface
    -  Powered By Windows (Part 2) - Toshiba Satellite U840 Series, Philips E248C3 MODA Lightframe Monitor & HP Envy Spectre 14
    -  MSI X79A-GD65 8D - Power without the Cost
    -  Canon EOS M With Wonderful Touchscreen Interface (Part 1)
    -  Windows Server 2003 : Building an Active Directory Structure (part 1) - The First Domain
    -  Personalize Your iPhone Case
    -  Speed ​​up browsing with a faster DNS
    -  Using and Configuring Public Folder Sharing
    -  Extending the Real-Time Communications Functionality of Exchange Server 2007 : Installing OCS 2007 (part 1)
    -  Google, privacy & you (Part 1)
    -  iPhone Application Development : Making Multivalue Choices with Pickers - Understanding Pickers
    -  Microsoft Surface With Windows RT - Truly A Unique Tablet
    -  Network Configuration & Troubleshooting (Part 1)
    -  Panasonic Lumix GH3 – The Fastest Touchscreen-Camera (Part 2)
    -  Programming Microsoft SQL Server 2005 : FOR XML Commands (part 3) - OPENXML Enhancements in SQL Server 2005
    -  Exchange Server 2010 : Track Exchange Performance (part 2) - Test the Performance Limitations in a Lab
    -  Extra Network Hardware Round-Up (Part 2) - NAS Drives, Media Center Extenders & Games Consoles
    -  Windows Server 2003 : Planning a Host Name Resolution Strategy - Understanding Name Resolution Requirements
    -  Google’s Data Liberation Front (Part 2)
    -  Datacolor SpyderLensCal (Part 1)