Skip to content

cuddlekube/workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building observable applications on Fargate Workshop

This workshop was originally made for the AWS Programming and Tools meetup in Melbourne.

The workshop is aimed at building an observable microservices Fargate application. It is based on the work done for a presentation given by Prateek Nayak and Arjen Schwarz titled "Keeping an Eye on your Serverless Containers" at Container Camp Australia in 2019. You can watch a recording, or read a textual version of the presentation on Medium.

The workshop will not cover the basics for Fargate. If you're not familiar with Fargate, it's recommended to go through earlier workshops that covered it such as this one I've given in the past, or at least read up on the service. As the focus isn't on Fargate, but it's interaction with the other services, you will likely be able to follow along regardless of your knowledge though.

The end result of the workshop is you running a small application that you can monitor using various tools provided by AWS.

The application we're using for this is the same from the above mentioned presentation: Cuddle Kube. You can find the source code for the application here, and the source code for the original infrastructure (which is slightly modified for this workshop) here.

Warning: To make things a little easier, this workshop will spin up everything in public subnets and forego general security practices. As this is clearly for demo purposes, keep that in mind and don't use this as is for anything other than this demo.

How to go through the workshop?

Each step has its own description file and directory full of files. Once you complete a step, you will find a link to the next step at the bottom.

While you are encouraged to build and experiment with many parts, a possible solution for each step is provided in the next step. While this might not be the exact solution you found, that doesn't make yours any less valid so feel free to continue using your working solution. The solutions provided in these steps will usually be in the form of CloudFormation templates.

Before you start: The resources you spin up in this cost money and most of them do not fall into the free tier. If you only use them for an hour or two the costs aren't high (a couple of USD), but make sure to follow step 5 to tear everything down again.

Now, let's get you started with getting the basic setup done in Step 1.

Requirements

  • An AWS account
  • An IAM account with sufficient write access for all the below mentioned services.

Tools and services used

  • CloudFormation
  • VPC
  • ALB
  • ECS Fargate
  • DynamoDB
  • CloudMap
  • App Mesh
  • SSM Parameter Store
  • CloudWatch (the various parts)
  • X-Ray
  • IAM
  • Docker Hub (for the public images)

Releases

No releases published

Packages

No packages published

Languages