GeoNet is New Zealand’s geological hazard monitoring system. The project began in 2001 by the New Zealand Earthquake Commission (EQC) and GNS Science, a research institute providing geoscience, isotope research and consulting services. GeoNet creates applications that provide near real-time notifications to Android and iOS devices during tremors, volcanic eruptions and tsunamis. The GeoNet team is comprised of 35 employees from GNS Science covering a wide range of disciplines and has its headquarters north of Wellington, New Zealand.
During the Christchurch earthquakes in September 2010, GNS Science used a manual notification system that required two geophysics officers to be on call to issue alerts if an earthquake or volcanic eruption occurred. The notifications would prompt people to move to safe locations and organizations to respond quickly to minimize death, injury and property damage.
During an occurrence, a duty officer would log into the relevant system to send email, fax and phone text messages to emergency management organizations, civil defense services and members of the public, and update the GeoNet website. Using this system, which ran on on-premises servers, the fastest that officers could issue an alert was nine minutes, longer if the duty officer had to boot the computer. If the event was particularly complex, the process could take up to 20 minutes.
Furthermore, the system was expensive: during the earthquakes in September 2010, text messaging to emergency services alone cost more than NZ$7,500, and averaged NZ$3,000 per month for the rest of that year. During most years, the typical cost was around NZ$2,500 per event. GNS Science wanted to reduce these costs as much as possible while scaling the notification services to support increasing demand and reach as many people as possible.
Why Amazon Web Services
“We had been experimenting with Android applications when the Christchurch earthquakes occurred and the major benefit was that we could enable users to select the locations of events to be notified about,” says Geoff Clitheroe, GeoNet Development Manager, GNS Science. “During this process, we got to the point where we needed to run a back-end database to support our development work.”
The organization evaluated several hosting and cloud services and ultimately chose Amazon Web Services (AWS) because of ease of use and configuration speeds. “AWS gives our developers the ability to click on a web browser and spin up an Amazon Elastic Compute Cloud (Amazon EC2) instance in less than a minute,” says Clitheroe. When AWS launched the Asia-Pacific (Singapore) Region in 2010, GeoNet decided to run the Android smartphone application on the AWS Cloud.
GeoNet’s initial configuration consisted of a PostgreSQL object-relational database management system and web servers running on a single Amazon EC2 instance. As the GeoNet Project technical team expanded its knowledge of AWS, it converted its database to Amazon SimpleDB and uploaded the Android application — written in Java in an Apache Software Foundation Tomcat environment — to AWS Elastic Beanstalk for easy deployment and scaling. Elastic Beanstalk automates capacity provisioning, load balancing, auto-scaling, redundancy and the security groups used to run the application.
AWS Asia-Pacific (Sydney) Region enables low latency and a rich feature set
GeoNet developed the Android earthquake application in three months — spread over a year — and launched it publicly on March 15, 2012. “We are a small team and had to work on it among other high-priority projects, which is why it took us 12 months in total,” says Clitheroe. About a month before making this application available to the public, the organization engaged AppTastic, a Sydney-based web application firm, to develop the iOS version. After AppTastic delivered the application, GeoNet launched it on June 12, 2012 on a similar AWS architecture to the Android version.
The availability of the AWS Asia-Pacific (Sydney) Region in July 2012 was a “game changer”, according to Clitheroe. Moving to the Sydney Region enabled the project to add features to its applications to take advantage of higher bandwidth and lower latency. For example, GeoNet developed a catalogue service that scientists can use to search earthquake data by a range of parameters, including magnitude and depth.
Another new feature allows users to select preferences for earthquakes they want to be notified about — including thresholds based on location and size of the event. User preferences are stored in Amazon SimpleDB. When an earthquake occurs, the earthquake location system sends a message to Amazon Simple Notification Service (Amazon SNS). Access to the SNS topic is controlled using an SNS Topic Policy with an associated low-privilege AWS Identity and Access Management (IAM) user. The SNS topic and associated AWS resources are created using AWS CloudFormation.
As demonstrated in Figure 1, the application views the topic, queries the Amazon SimpleDB and decides which devices need to receive which notification. Push notifications are then sent via two Amazon Simple Queue Service (Amazon SQS) queues to a third party in the United States for distribution to end-users.
Figure 1: GeoNet earthquake notification service running in the AWS Cloud
Deploying the mobile earthquake notification services application from the AWS Cloud has delivered a range of benefits to GNS Science and the GeoNet Project. By making the application available for download to smart phones and tablets, and distributing updates using the AWS Cloud and a third-party service, GeoNet has increased the number of people who receive notifications. Instead of 700 users operating solely in the emergency sector, GeoNet can deliver notifications to tens of thousands of other interested New Zealanders at a delivery cost of about NZ$2,500 per month. Using conventional SMS technology to reach the same audience would have cost NZ$750,000 in delivery costs alone, not accounting for delivery latency and other infrastructure resources required to manage such an immediate load.
AWS enables a trouble-free environment
The AWS Cloud also delivered considerable benefits to the GeoNet Project’s technical team. GeoNet developers were easily able to run the same software, operating systems and architecture in both development and production, minimizing the prospect of new or changed applications disrupting the production environment. “If we were still using on- premises servers, the cost of replicating our production environments into our test and development infrastructure would have been prohibitively expensive,” says Clitheroe.
The stability and performance of the AWS Cloud — combined with expertise acquired by its technical staff through free training from AWS — has helped alleviate problems for the organization. “We track whether we deliver earthquake information to users and look for problems in the delivery chain,” says Clitheroe. “I’ve never seen an error caused by AWS — it’s been near 100 percent problem free for us.”
Auto Scaling instances supports threefold rise in demand
Auto Scaling has also delivered a huge advantage to the organization. “We don’t know when an earthquake is going to happen and after one occurs, we see a big surge in demand for all our notification services,” says Clitheroe. During July and August 2013, when central New Zealand was shaken by earthquakes in the Cook Strait, 150,000 people used the GeoNet smart phone application for notifications during the event. This was more than three times the number of users of the application prior to the start of the quakes. During the four-week period when the earthquakes peaked, the team distributed 101 million push notifications to smartphone users.
“Elastic Beanstalk handles that extra demand, and when our demand goes down, our environment scales down as well — we’re not stuck with datacenter equipment to depreciate,” Clitheroe adds. “The reality is that we couldn’t meet demand — and support over one million push notifications in a four-week period — without the AWS Cloud.” Elastic Beanstalk scales up the number of Amazon EC2 instances required to handle the load from two to four for each application automatically and scaled back down to two instances for each application when demand subsided.
Improved efficiency for GeoNet Project team
Deploying the applications on AWS has allowed GeoNet Project’s technical team to become more efficient and deliver more projects for the broader GNS Science organization without increasing headcount. The team delivered both applications without incurring any capital expenditure. Furthermore, the security features of the AWS Cloud also give Clitheroe and his team peace of mind that GeoNet project’s systems are protected from people with malicious intent.