Today we continued to prepare our demo for We finally got it running on AWS (Amazon Web Services), using their ECS (Elastic Container Service). It was tricky getting a good mental grip on how everything fits together on AWS, but when you get used to it, it isn't so bad.

Our setup is basically an ECS cluster (of containers) consisting of two Docker containers (one for our Mongo database and one for our Node.js back end API), set up with one ECS-prepared EC2 (Elastic Compute Cloud) instance to run it all. The instance uses EBS (Elastic Block Storage) to store the data so that it's persisted when the instances are stopped.

In English... Our apps are running in virtual machines inside a virtual machine, and it's set up in a way that it will reboot them automatically if they crash, and they can be scaled too in the future.

The demo will consist of using a web page with some dummy content with our front end script (which looks for events like scrolling to the bottom of the page) to show the staff tomorrow that it logs the data when we do those events. We have a tool called adminMongo, which can be best-described as the MongoDB equivalent of phpAdmin. We'll use it to show the data in the database after we've clicked on a few things and scrolled around. And it's all stored in the cloud. :)

AWS is a beast, but once tamed, it's a powerful beast.

p.s. I should make an Amazon acronym cheatsheet sometime. Perhaps I'll call it the AAC.

Note: This was originally posted on the blog I used for my co-op term while at Seneca College ( before being imported here.