posted on Wednesday, July 07, 2010 3:57 AM
No, it’s not global server load balancing or GeoLocation. It’s something more… because knowing location is only half the battle and the other half requires the ability to make on-demand decisions based on context.
In most cases today, global application delivery bases the decision on which location should service a given client based on the location of the user, availability of the application at each deployment location and, if the user is lucky, some form of performance-related service-level agreement. With the advent of concepts like
cloud bursting and migratory applications that can be deployed at any number of locations at any given time based on demand, the ability to determine not just the user location accurately but the physical location of the application as well is becoming increasingly important to address concerns regarding regulatory compliance.
Making the equation more difficult is that these regulations vary from country to country and the focus of each varies greatly. In the European Union the focus is on privacy for the consumer, while in the United States the primary focus is on a combination of application location (export laws) and user location (access restrictions). These issues become problematic for not just application providers who want to tap into the global market, but for organizations whose employee and customer base span the globe.
Many of the benefits of cloud computing are based on the ability to tap into cloud providers’ inexpensive resources not just at any time its needed for capacity (cloud bursting) but at any time that costs can be minimized (cloud balancing). These benefits are appealing, but can quickly run organizations afoul of regulations governing data and application location.
In order to maximize benefits and maintain compliance with regulations relating to the physical location of data and applications and ensure availability and performance levels are acceptable to both the organization and the end-user, some level of awareness must be present in the application delivery architecture.
Awareness of location provides a flexible application delivery infrastructure with the ability to make on-demand decisions regarding where to route any given application request based on all the variables required; based on the context. Because of the flexible nature of deployment (or at least the presumed flexibility of application deployment) it would be a poor choice to hard-code such decisions so that users in location X are always directed to the application at location Y. Real-time performance and availability data must also be taken into consideration, as well as capacity of each location.
THE RIGHT RESOURCE at the RIGHT TIME from the RIGHT LOCATION
This information becomes increasingly critical as we look to future capabilities surrounding mobility and the anticipated “on-demand” deployment of applications to meet capacity and performance demands. As load increases on an application, the ability to auto-scale is paramount to the successful use of cloud computing
in an application delivery strategy. But the ability to auto-scale and still meet any restrictions on location based on user demand and application restrictions is vital to maintaining compliance and avoid the possibility of fines – or worse – for failure. Thus there must be included in such a strategy the means by which all concerns – legal, performance, and operational cost – can be met. This requires an understanding of all the factors involved and a way to act on the data in real-time intelligently; within the context of the operating parameters provided.
The challenge lies in gathering that data, in having a holistic view of user demand, application deployments, and current performance across all locations in real-time or at least in near real-time. It cannot be data from an hour ago – the demand now is surely different than it was then.
While debate continues regarding what solution or device should be the “authoritative control” over provisioning of applications, one thing stands as true: it is the global application delivery infrastructure that has available all the information required regarding location, demand, and performance. It is the strategic point of control for a multi-location application delivery strategy. Whether that means the global application delivery infrastructure should itself initiate provisioning of additional resources as required or simply provide that information to the controlling system is – for now – irrelevant. As long as the information is provided back to the global application delivery infrastructure so that it can route user requests appropriately, of course.
It is simply not enough to “spin up capacity” in any old cloud when regulations may be in play. The key to successful leverage of cloud computing will be the ability to “spin up capacity” in the right place at the right time, and then to direct the right users to the right application. That must include location, for while the concept of clouds having no boundaries may be true as far as the ability to access, clouds must respect that the physical boundaries imposed by legal jurisdictions do exist and have an impact on the way in which applications are deployed and accessed by end-users.
This is why it is called location aware and not location based. The decision regarding which application instance or cloud environment should serve a given user is not based on location, but the decision-making infrastructure must certainly be aware of location and balance requirements regarding location with requirements for performance in that decision.
Load balancing is – or should be when properly applied to the problems at hand – becoming more about balancing business requirements than it is about just balancing load.