![]() |
I am very excited about my Azavea research project on the Amazon Elastic Compute Cloud (Amazon EC2), a technology from Amazon Inc. that is shifting a lot of people’s ideas about what computing is and can do. Amazon EC2 has arisen through the confluence of technological innovations of the past few years.
First some background. One of the most basic pieces of infrastructure in the World Wide Web today is the ubiquitous entity known as “The Server”. This term is used for a computer which performs some task or tasks on behalf of other computers. For example, web pages come from a web “server”, which sends web pages to your computer for you to see. Moreover this web server may in turn query other servers to complete this request — contact a database server to get data or geospatial server to produce a map image for example.
The idea behind a computing “cloud” (and there are others — as referenced in Robert’s ‘What the Heck is…” article above) is a bunch of computers accessible from the internet which “instantiate” whole virtual computers — with all their associated operating systems, software, data, etc. — that can be accessed on demand. One can instantiate one of these machines, connect to it via the internet through standard remote connection protocols, and voila! your screen shows the desktop for this “computer” that behaves exactly as if it were sitting under your desk.
While for desktops, this approach is odd, for servers there can be many benefits. With a few clicks of a mouse, multiple copies of the same server can be up and running at the same time to handle increases in demand. They can be shut down again when not needed. The details and headaches of actually running and owning physical machinery are offloaded to the cloud provider. The cloud provider also provides bandwidth. Once you have a working version of a website, database, or geospatial server, it can be copied and reused — no need to start from scratch with configuration.
For my research project, I am exploring the use of The Elastic Compute Cloud (EC2) as a resource for some of Azavea projects already in use. DecisionTree, our geographic prioritization web system, was an ideal first candidate. This product requires strong computing resources and was designed from the ground up to be able to run on multiple computers. With EC2 we were able to run DecisionTree on 10 instances at once, dramatically speeding up its operations and providing a mechanism for running DecisionTree for customers who do not want to maintain their own server infrastructure.
In addition to DecisionTree, we are also experimenting with running our Cicero legislative and election data service on EC2 as well as other ways to leverage the Amazon Web Services. For example, last spring, we tested a map image ’tile cache’ service that will generate and store a set of map tiles, enabling an organization to reduce bandwidth usage and improve responsiveness of a high traffic web mapping application. While EC2 was originally limited to Linux-based software, the recent addition of Windows Server as a target platform has provided much more flexibility. Do you have ideas for how you could use Amazon Web Services for your GIS project? Let us know.








