Community Snow Observations on AWS: A Web Application case study

The community snow observations project aims to achieve a better understanding of snow depth variability in mountainous regions. We are recruiting community-based observers (citizen scientists), including backcountry professionals and recreationists, to help gather snow observations.

The project has partnered with Mountain Hub (Crowd Sourced information App for all outdoor activities) for collecting snow observations data. The snow observations collected are displayed in our web application.

This document outlines how the system has been setup within Amazon Web Services (AWS)

System Architecture System Setup


System Architecture

The system uses the following technologies within AWS to host both the website and web application.

EBS

Elastic Beanstalk is being used to manage the architecture of the website and web application, providing auto scaling capabilities and automatic updating of core ecosystem for the application.

Wordpress

Wordpress.org is hosted within Elasticbeanstalk. This application is used to manage the content of the website. ebs wordress

Django

Django is hosted within Elasticbeanstalk. This application is used to develop the web application. ebs django

RDS

Relational Database Service is used to manage the MySQL relational database for Wordpress. EBS with RDS completes the classic Linux, Apache, MySQL, PHP (LAMP) setup for Wordpress.

MySQL Database is hosted within RDS. rds mysql

Route 53

Route 53 service is used to manage DNS (Domain Name System) for our website and web application

AWS S3 Bucket

S3 Bucket is used as storage for the images, videos, and files within the website. A plugin is used to push content from wordpress to an s3 bucket.

s3 cso


Setup

  1. Setting up wordpress in AWS with Elastic Beanstalk and RDS
  2. Setting up Django Application in AWS with Elastic Beanstalk