Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nathanpeck/greeter-app-mesh-cdk

An example of how to use AWS Cloud Development Kit to setup an AWS App Mesh service mesh in AWS Elastic Container Service
https://github.com/nathanpeck/greeter-app-mesh-cdk

Last synced: about 2 months ago
JSON representation

An example of how to use AWS Cloud Development Kit to setup an AWS App Mesh service mesh in AWS Elastic Container Service

Awesome Lists containing this project

README

        

# greeter-cdk

A simple [AWS Cloud Development Kit](https://github.com/awslabs/aws-cdk) app example that shows how to deploy an App Mesh powered service mesh that links three services:

* [nathanpeck/greeter](https://hub.docker.com/r/nathanpeck/greeter/) - Constructs a random greeting phrase from a greeting and a name.
* [nathanpeck/greeting](https://hub.docker.com/r/nathanpeck/greeting/) - Returns a random greeting
* [nathanpeck/name](https://hub.docker.com/r/nathanpeck/name/) - Returns a random name

The microservices are connected like this:

![architecture](architecture.png)

* A public facing load balancer distributes traffic from the general public to the front facing `greeter` service.
* The `greeter` services uses App Mesh and an Envoy Proxy sidecar to establish a service mesh that allows it to directly fetch from the `greeting` and `name` service containers

You can see the full CDK app that deploys this architecture here: [index.js](/index.js)

## Usage

Clone the repository, and ensure that you have Node.js installed on your development machine.

Run `npm install` to install the project dependencies

Run `npm run-script deploy` to deploy the project on your AWS account. After a few minutes you will be given a URL of the running application. You may also need to run an initial bootstrap command if you have never used AWS CDK on your AWS account before. The
CDK tool will tell you the command to run if necessary.