/streaming-events-with-pacman

Showcase how to consolidate signal types such as metrics, logs, and traces from AWS services into Elastic Observability.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Elastic Observability for AWS

This application allows you to practice how to use Elastic Observability to monitor services from AWS. It has been built using principles of data streaming using Apache Kafka. Built around the Pac-Man game this application ingest and store events from the game into Kafka topics and processes them in near real-time using ksqlDB. In order to keep you focused in the application details this project is based on several fully managed services from AWS such as Managed Streaming for Apache Kafka, ElastiCache for Redis, and Elastic Container Service that does the infrastructure heavy lifting for you.

What you are going to need?

  • Terraform - The application is automatically created using Terraform. Besides having Terraform installed locally, you will need to provide your AWS credentials so Terraform can create and manage the resources for you.

  • Java and Maven - Three APIs will be created and are backed by Lambda functions written in Java, therefore you will need to have Java 11+ installed to build the source-code. The build itseld is implemented using Maven, and it is triggered automatically by Terraform.

Deploying the application

  1. Enter the folder that contains the AWS code

    cd terraform/aws
  2. Initialize the Terraform plugins

    terraform init
  3. Start the application deployment

    terraform apply
  4. Output with endpoints will be shown

    Outputs:
    
    Pacman = http://<UNIQUE_NAME>.s3-website-region.amazonaws.com

Note: When you are done with the application, you can automatically destroy all the resources created by Terraform using the command below:

terraform destroy

License

This project is licensed under the Apache 2.0 License.