This project aims to automate the installation, configuration, and evaluation of the AirTrail application, a flight tracking service that allows users to manage their flight history. The app source code is open source and can be found in this repository: https://github.com/johanohly/AirTrail.
The system operates on a multi-tier architecture, separating the web application from a PostgreSQL database.
The deployment was fully automated using Ansible playbooks, which handle everything from creating the Google Kubernetes Engine (GKE) cluster to setting up persistent storage and deploying the application pods.

A major focus of this project was scalability and performance. We implemented a Horizontal Pod Autoscaler (HPA) to dynamically create or destroy application replicas based on CPU demand. To find the "sweet spot," we benchmarked different machine types (e2-small vs. e2-medium) and determined that a configuration of 5 replicas provided the best balance of throughput and response time, having in mind the limited resources we had. Security was also a priority. We used Ansible Vault for encrypting sensitive credentials and Kubernetes Secrets to inject database passwords into the environment without ever exposing them in plaintext.
The deployment was monitores using a custom Google Cloud dashboard, where we can observe metrics (ex: CPU usage, memory usage,etc.) in real time. For benchmarking we used JMeter where we created a test script that test an ever increasing load of clients for a long duration of time, returning many graphics and metrics, usefull for further interpretation.

We were very happy with the final result, achieving a significant performance boost compared to our baseline: we doubled the throughput and reduced the error rate from 19.21% to just 3.55%. If we had more time, we'd love to implement database replication to remove the single point of failure and integrate Prometheus/Grafana for even deeper real-time monitoring.

For the full report and infrastructure code, check out the repository at https://github.com/luis25franca/ascn-airtrail.