Deployment on Amazon EC/2 Container Service

This directory contains the necessary tools to install an instance of the microservice demo application on AWS ECS.


curl -sSL | sh
apt-get update && apt-get install -yq jq python-pip curl unzip build-essential python-dev
pip install awscli


Using CloudFormation

By clicking “Launch Stack” button above, you will get redirected to AWS CloudFormation console. You will be asked to set cluster size (Scale) and instance type (EcsInstanceType).

Using CLI

To use CLI, you also need to have the AWS CLI set up and configured.

Other required packages are: jq docker

./deploy/aws-ecs/msdemo-cli build

You can optionally add a Weave Cloud token to the command as

./deploy/aws-ecs/msdemo-cli build myweavetoken

Deployments may take a few minutes to complete.

To track the deploy status you can run:

./deploy/aws-ecs/msdemo-cli status

Once it’s done, it will print the URL for the demo frontend, as well as the URL for the Weave Scope instance that can be used to visualize the containers and their connections.

To ensure that the application is running properly, you could perform some load testing on it using the load-test container. This will send some traffic to the application and generate a report at the end:

./deploy/aws-ecs/msdemo-cli loadtest


Zipkin is part of the deployment and has been written into some of the services. While the system is up you can view the traces. To get the endpoint for Zipkin you can run

./deploy/aws-ecs/msdemo dns

Currently orders provide the most comprehensive traces.


To tear down the containers and their associated AWS objects, run the cleanup script:

./deploy/aws-ecs/msdemo-cli destroy

ms-demo Commands


Builds the deployment using cloud formation

(optional Weave Cloud Token)


Destroys the deployment


Get status of deployment, will throw error if deployment was already destroyed


Get DNS endpoint


Run loadtest


This will apply any changes you make to the cloudformation.json file