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.
-
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.
-
Enter the folder that contains the AWS code
cd terraform/aws
-
Initialize the Terraform plugins
terraform init
-
Start the application deployment
terraform apply
-
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
This project is licensed under the Apache 2.0 License.