Amazon Web Services and Amazon Rain Forests: A Software Architectural Review

Amazon Web Services and Amazon Rain Forests: A Software Architectural Review

It is hard to overstate the importance of trees; they produce oxygen, store carbon, house 80% of the world’s terrestrial biodiversity, and bring us joy, among innumerable other human and non-human benefits. Unfortunately, humans are still chopping down trees at alarming rates. Enter Global Forest Watch.

About Global Forest Watch

Global Forest Watch (GFW) is an open source web application for monitoring forests around the world in near-real-time. GFW is an initiative of the World Resource Institute (WRI) launched in 2014 with partners including USAID, Google, and the University of Maryland. Its mission is to leverage technology to empower people everywhere to better protect forests. GFW uses satellite imagery data to provide near-real-time information about the world’s forests. Thousands of people use GFW every day to monitor illegal activity, engage communities, and inform land use decisions.

Challenges of maintaining a large tech project

Global Forest Watch is a large technology project. Over four million people from every country on earth have visited the site. When software runs well, the average user does not need to worry about technical architecture like cloud hosting services and load balancing. Implementing software that is able to bring value to such a large and diverse group of users, while hiding technical complexity behind an intuitive user interface, requires a talented team of software developers with a range of expertise. Maintaining a team of developers to support a project of GFW’s scale is challenging under any circumstances.

GFW is free for the majority of users and development is therefore funded by grants and donations. WRI has a small but talented team that effectively maintains the project, and outsources external partners to develop new features. Working with external partners has advantages but also some challenges. One challenge is that different partners have different software development patterns, which can lead to overly complex codebases over time unless proactive measures are taken to evaluate and focus efforts. In GFW’s case, data updating became duplicative in several places, and maintaining consistent function across a variety of applications built by different external partners was a challenge. It was with this understanding that WRI proactively requested a third party Technical Architecture Review.

Technical architecture review

WRI hired Azavea to perform a software architectural review to evaluate the technical organization of GFW’s many sub components, including imagery and data input; third party analysis engines; and cloud-based computation and storage mechanisms.

The goal of the review was threefold:

  1. To recommend a solution for a cohesive backend architecture that will serve the collective needs of the inter-related GFW sites and reduce or eliminate identified problems;
  2. To develop a roadmap by which the GFW backend team will implement changes; and
  3. To outline the roles and responsibilities necessary to maintain the backend system.

Over the course of three months, Azavea was able to accomplish these goals and deliver a report that provided details and diagrams of the current systems, a summary of key recommendations, and a roadmap with implementation suggestions. In addition to the review, Azavea provided a workshop that focused on best practices for defining infrastructure on cloud computing platforms.

Outcomes

One of our key recommendations was to increase in-house technical capacity and ownership of the data processing. Increased ownership will permit the GFW team to better coordinate and organize data usage by third party vendors and reduce duplication.

“We’ve been able to create a more organized and seamless architecture, thanks to Azavea’s recommendations. Their team helped us to create a vision for our API development, identify points for increased efficiency and led us to a place where our internal engineering team is equipped to manage a streamlined system, even among several developers.”

– Thomas Maschler, Lead Software Engineer for GFW.

This was a valuable learning experience for Azavea and WRI. As a software vendor ourselves, this project was an opportunity to examine the software development process from a client’s point of view and better understand the challenges faced by organizations that hire external partners to create software tools. The analysis and documents we provided WRI have already driven structural changes and the development of in-house tools to better support the organization’s data processing needs.


If your organization is running a large, complex technology project and could benefit from an architectural review, reach out! We’d love to help your project run more efficiently.