Responding to high numbers of deaths at sea in the fishing industry, the Royal National Lifeboat Institution contracted Active Web Solutions (AWS) to create an automated sea-safety application. AWS developed a location-based service infrastructure, code-named GeoPoint, which transmits position data to a centralized tracking and alerting system. AWS used GeoPoint to build MOB Guardian, a search-and-rescue application for fishing vessels. To extend GeoPoint to more scenarios, AWS migrated it to the Windows Azure™ platform. By hosting GeoPoint in the “cloud,” in Microsoft® data centers, AWS attained massive scalability, richer functionality, and lower infrastructure costs. AWS was able to quickly convert its application to a hosted service and avoid the expense of building and managing a data center. AWS also has the flexibility and scalability to offer GeoPoint to many more markets.
Situation
Fishing is a dangerous business. Authorities estimate that every year 24,000 crew members drown, worldwide. In the waters surrounding the United Kingdom, an estimated 350 fishing crew lost their lives at sea between 1996 and 2007, according to the Royal National Lifeboat Institution (RNLI). These figures do not include drowning related to leisure and other non-fishing craft.
The RNLI wanted to improve these sobering statistics by creating an automated alerting system that would keep fishing boats and individual crew members in continuous contact with its search and rescue services. So, in 2006, the RNLI engaged Active Web Solutions (AWS), a Microsoft® Gold Certified Partner and software developer, to build the automated system. AWS created a location-based service infrastructure, code-named GeoPoint, which transmits position data to a centralized tracking system and combined it with a variety of decision-support and other systems to enable location-aware scenarios. Using GeoPoint as the foundation, AWS then built MOB Guardian, a search-and-rescue application for fishing vessels, in 2008 (MOB stands for "man overboard"). U.K. fishing crews gradually began to adopt it.
Here’s how MOB Guardian works: Individual crew members are outfitted with wearable personal safety devices that stay in constant radio contact with a base unit fitted to the vessel. Falling overboard breaks radio contact and automatically triggers an onboard alarm simultaneous to sending a signal, via satellite, to the search-and-rescue service. The onshore alarm includes the position and details of the casualty, typically within two minutes of the incident, so the emergency services can immediately initiate the rescue.
 |
Our original architecture supported 10,000 vessels, but the Windows Azure platform enables us to support hundreds of thousands or even millions of vessels, without any capital expenses. |
 |
|
Richard Prodger Technical Director, Active Web Solutions |
|
|
In its first 18 months of operation, MOB Guardian has helped to save nine lives. AWS signed a 10-year contract with the RNLI to host the back-end infrastructure for MOB Guardian—approximately 15 servers, originally distributed across two U.K. data centers for resilience. As more people adopt MOB Guardian, however, AWS saw that it would approach the physical limits on the number of vessels that it could monitor using its hosting infrastructure.
“Our original infrastructure could handle approximately 10,000 boats, but we wanted to offer MOB Guardian to the 500,000 leisure craft in the U.K. and the millions of marine users worldwide,” explains Richard Anscombe, Commercial Director for Active Web Solutions. “Even smaller boats that cannot afford the MOB Guardian unit that sits on the boat could use a mobile phone as a transmitter. The scalability limitation lay in the back-end infrastructure. We are a small company with only 35 employees, and we would find it hard to accommodate the massive infrastructure that would be required to offer MOB Guardian more broadly.”
As AWS began to consider ways to scale MOB Guardian, it realized that it needed to preserve its investment in existing code, and users’ investment in existing MOB Guardian hardware. “We could not reinstall MOB Guardian units already in the field or modify the messaging protocol between the vessels and their services,” says Richard Prodger, Technical Director for Active Web Solutions. “We also did not have the time or budget to rewrite the desktop user interface, back-end services, or databases. Whatever we did to scale the solution needed to support these original investments.”
Last, but certainly not least, the RNLI needed to keep prices low to encourage more fishing crews to adopt MOB Guardian, and to extend the service to the leisure marine market.
Solution
AWS had worked closely with Microsoft during the original development of MOB Guardian, and the application’s major components are based on Microsoft software—the Windows Server® 2003 operating system and Microsoft SQL Server® 2005 database software—and built in the Microsoft Visual Studio® development system. In early 2008, Microsoft told AWS about the Windows Azure™ platform, adding that, when it was available, it would be perfect for MOB Guardian and other GeoPoint applications.
The Windows Azure platform is a cloud-computing services platform hosted in Microsoft data centers that provides computing, storage, communications, and authentication services for creating scalable, pay-as-you-go Internet services. It includes Windows Azure, a cloud services operating system; Microsoft SQL Azure™ cloud database services; the Service Bus and Access Control Service components; and online table and blob storage.
Cloud-Based System
In August 2008, when Microsoft released an early version of the Windows Azure platform, AWS built a prototype of its location-based infrastructure running on Windows Azure. In late 2009, AWS completed the production version of its Windows Azure–hosted version of GeoPoint, identifying it as a location-based service that could be used in any type of search-and-rescue environment.
Instead of running on Windows Server–based servers at AWS like its previous iteration, GeoPoint runs on the Windows Azure platform in Microsoft data centers. Accordingly, emergency alerts are no longer passed by satellite to physical servers at AWS, but rather are received by satellite using the Simple Mail Transfer Protocol (SMTP) and delivered to a number of message queues. Multiple service instances read from the queues, process the messages, and store the data in Windows Azure table storage. Emergency alarms are then relayed through the Service Bus to the end-user monitoring application in the search and rescue operations center.
AWS administrators also use the Service Bus to manage Windows Azure services from a central network management system (NMS), where they can easily see which services are running, current service performance, and how many instances of each service are running. Troubleshooting a performance issue is usually as easy as provisioning additional Windows Azure computing capacity within the NMS and watching service levels improve as a result.
AWS uses another Windows Azure platform developer service, the Access Control Service, to enable highly secure communications between GeoPoint and a number of on-premises applications for debugging and monitoring. The Access Control Service provides an easy way to manage authentication and authorization of applications and services through standards-based identity providers. Authorization decisions can be pulled out of the application and placed in a set of rules that can translate incoming security claims into claims that applications understand.
 |
| The GeoPoint location-based services platform uses Service Bus to transmit alerts. |
Rapid Migration to Cloud
For AWS, implementing GeoPoint was primarily an exercise in migration. Developers had to write very little new code and were able to transfer their existing skills with service-oriented architecture to the Windows Azure platform. “By following a few simple guidelines and using Microsoft development tools, we moved the majority of the application from our data center to the Windows Azure platform in a matter of weeks,” Prodger says. “The switchover from the original architecture to the Windows Azure platform involved only network configuration changes to route messages to the Service Bus.”
No Changes to Front-End Application
One key advantage of using the Service Bus is that it eliminated the need to modify the desktop application that the RNLI search-and-rescue operation team uses to interact with GeoPoint. In the original scheme, the client applications polled the back-end servers to see if there were any alarms waiting for it. With the move to the Windows Azure platform, AWS wanted to instead push messages to a smart client, but this would have required reengineering the application and much development work. “Instead,” Prodger explains, “with the Service Bus, we were able to route messages from the Windows Azure platform directly to the client applications and circumvent the technical challenge of pushing messages through a firewall.”
Cross-Firewall Connection to On-Premises Databases
A second and related win from using the Service Bus was the ability to connect cloud-based GeoPoint to on-premises databases without exposing the data to the public Internet. For example, identification information about individual fishing crew members resides in a highly secure and confidential database that only needs to be accessed in the event of a search-and-rescue operation. To make this data securely available to GeoPoint, AWS developed an add-in called SocketShifter, which automatically bridges arbitrary Transmission Control Protocol/Internet Protocol (TCP/IP) endpoints and handles any intermediate firewall traversal. This mechanism allows an on-premises SQL Server database to be accessed from the cloud.
 |
| Search-and-rescue teams use a graphical user interface created by AWS to see where troubled boats are. |
In-Depth Diagnostics
The third big win for AWS from using the Service Bus was the ability to build sophisticated diagnostics tools for its new hosted application. “Once your application is running in a Microsoft data center rather than your own, it’s difficult to troubleshoot issues at a granular level,” Prodger says. “We needed to come up with a mechanism for giving us that level of control.”
In the Microsoft .NET Framework, Microsoft has created established techniques for doing this using the .NET TraceListener features. Tracing is a form of debugging that allows developers to track the health of applications. A trace listener collects, stores, and routes tracing messages. AWS used the Service Bus and Access Control Service to build a TraceListener in the cloud, for monitoring and diagnosing issues with the GeoPoint infrastructure. If something goes wrong with a GeoPoint server at the Microsoft data center, AWS can see precisely what the problem is.
To then fix that problem, which requires taking control of the GeoPoint application that is running in the Microsoft data center, AWS built a custom Simple Network Management Protocol (SNMP) agent. This agent connects through the Service Bus to an AWS management interface through which AWS administrators can monitor and manage its Windows Azure–based application. “I can sit at my desk and use existing network management tools to see what’s going on inside the cloud and control our application,” Prodger says. “It would have been a lot harder and a lot more expensive to do this without the Service Bus, which provides a means for routing those messages and traversing firewalls coming and going. Because this agent is based on the SNMP standard, we can use any network management tool to monitor our application.”
Soon, AWS plans to create a custom Microsoft System Center Operations Manager 2007 management pack for GeoPoint so that it can use the familiar System Center Operations Manager as its central monitoring console.
Benefits
By moving its sea-safety application from an on-premises infrastructure bound by physical server scalability constraints to an Internet service, AWS has removed limitations for market growth—and provided several new capabilities. AWS avoided a million-dollar data center investment to scale the application and, using the Service Bus, eliminated three to six months of development effort. With a highly scalable computing platform, AWS can provide excellent performance, no matter how many people and vessels the system is monitoring.
 |
I can sit at my desk and use existing network management tools to see what’s going on inside the cloud and control our application. It would have been a lot harder … to do this without the Service Bus. |
 |
|
Richard Prodger Technical Director, Active Web Solutions |
|
|
Massive Scalability
The most valuable benefit to AWS, and the RNLI, of moving GeoPoint to the Windows Azure platform is the ease with which it can now scale the application. “Our original architecture supported 10,000 vessels, but the Windows Azure platform enables us to support hundreds of thousands or even millions of vessels, without any capital expenses,” Prodger says. “To scale the application, we will simply provision more computing capacity and add more message queues from the Windows Azure platform Web portal.”
In fact, by using the Windows Azure platform and developer services, AWS has been able to transform the original fishing vessel–focused MOB Guardian application into a broader geolocation services platform that has more extensive capabilities and can be marketed to many more customers.
“If a guy falls off a boat in the North Pacific, or a climber in the Colorado Rockies gets buried by snow, GeoPoint could immediately route the alarm messages to the appropriate search-and-rescue organization anywhere in the world,” Prodger says. “With the Service Bus, we will be able to handle those kinds of requests and message volumes.”
New Market Opportunities
AWS can even move beyond search-and-rescue to address the leisure boating and other markets. For example, AWS plans to build a Web application that enables boaters to interact with the GeoPoint application during their vacation—for trip tracking as well as safety. Pleasure sailors or yachters might access GeoPoint from Facebook, for example, to see a map of where they’ve been or to log their trip once they get home. Of course, if they fell in the water, GeoPoint would also generate a rescue message, but AWS could offer other services as a bonus. “With Access Control Service, we wouldn’t have to force users to create another set of authentication credentials for such a scenario,” Prodger says. “We could let them use their Facebook credentials as their GeoPoint ID.”
Lower Infrastructure, Management Costs
With Windows Azure, AWS has avoided the huge capital expense of scaling out a physical on-premises infrastructure. “We can have a much bigger server infrastructure without worrying about buying, managing, or patching servers,” Prodger says. “We would have had to invest up to a million dollars to scale out the physical infrastructure to make our solution a global offering.”
The company avoids high IT staffing costs, as well, since it shifts server management tasks to Microsoft. “Microsoft handles all operating system updates and upgrades, which occur without downtime,” Prodger adds.
AWS also sees reduced Internet service provider fees as it pays only for the Windows Azure platform resources that it uses. In this respect, AWS can make the infrastructure a variable cost and thereby improve profitability. “We have been able to convert our fixed monthly hosting fees to a variable cost that grows based on volume,” Anscombe says. “We now pay only for the CPU, storage, and networking resources that we use.” Correspondingly, by lowering internal costs, AWS is able to keep costs low for its price-sensitive customers while maintaining profitability.
Faster Time-to-Market
AWS also slashed development costs by using Windows Azure platform developer services. “Using the Service Bus and Access Control Service saved us three to six months of development effort,” Prodger says. “More importantly, without these services, we would have come up with a solution that was far less flexible—if we would have been able to create something at all.”
The company will continue to realize development and time-to-market savings as it enhances GeoPoint. “Having a consistent and flexible communications and authentication framework eliminates the need to build a number of point-to-point solutions for each usage scenario,” Prodger adds.
Improved Performance
With the Windows Azure platform, AWS has vast processing scalability for GeoPoint. “Not a single point in the application is throttled by performance,” Prodger says. “If the message load goes up, we create new instances of our application, and the Windows Azure platform dynamically copes with the scaling. That would have been very hard to do with another platform.”
Windows Azure Platform
The Windows Azure platform provides an excellent foundation for expanding online product and service offerings. The main components include:
- Windows Azure. Windows Azure is the development, service hosting, and service management environment for the Windows Azure platform. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage Web applications on the Internet through Microsoft data centers. In addition, Windows Azure serves developers’ connectivity needs through the following services.
- The Service Bus connects services and applications across network boundaries to help developers build distributed applications.
- The Access Control Service provides federated, claims-based access control for REST Web services.
- Microsoft SQL Azure. Microsoft SQL Azure offers the first cloud-based relational and self-managed database service built on Microsoft SQL Server 2008 technologies.
To learn more about the Windows Azure platform, visit:
www.windowsazure.com
For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers in the United States and Canada who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to:
www.microsoft.com
For more information about Active Web Solutions products and services, call (44) 1473 834560 or visit the Web site at:
www.aws.net