MathML Cloud AWS Infrastructure

Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

Server Components

Amazon CloudFront

Provides CDN and SSL termination

Amazon S3

Web server for MathML Cloud frontend application. The staging site files are stored in the app-staging.mathmlcloud.org S3 bucket.

Amazon EC2 / EC2 Container Service

The MathML Cloud Node.js backend API application runs inside a Docker container on the BenetechLabsProjects ECS cluster

Environment Task Definition Name Service Name Elastic Load Balancer
staging MathMLCloudApiTask-staging MathMLCloudApiService-staging ECS-MathMLCloudApiService-stagin

MongoDB

The main database for the MMLC application.

The Benetech Labs MongoDB cluster was originally launched using an Amazon provided quick start guide. However, there have now been some modifications made to the systems to facilitate backups so they cannot be recreated from scratch using the template without manually migrating the backup service..

The cluster consists of three nodes spread across Amazon's us-east-1 region. As currently configured the cluster provided continued support for reads in the event the primary replica becomes unavailable.

Amazon ElastiCache (Redis replacement)

Not really sure what this does.

Deployment

mmlc-app (frontend)

A Jenkin's job is used to deploy the application into Amazon S3. The job clones the mmlc-app git repository and uses the AWS CLI to upload files to Amazon S3.

mmlc-api (backend)

A Jenkin's job is used to deploy the application container onto the Benetech Labs ECS cluster. The job builds a Docker container which provides the runtime environment for the Node.js backend API.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.