This directory contains the necessary tools to install an instance of the microservice demo application on AWS ECS.
curl -sSL https://get.docker.com/ | sh
apt-get update && apt-get install -yq jq python-pip curl unzip build-essential python-dev
pip install awscli
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
).
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
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