Cloud-Native YOLO Inference Service

Overview

Developed a cloud-native machine-learning inference service that accepts base64-encoded images through REST API endpoints and performs wildlife detection using a pretrained YOLO model. The service returns structured detection results, including object classes, confidence scores, bounding boxes and inference timing metrics, as well as annotated images containing the detected objects.

The application was packaged using an optimised multi-stage Docker build and deployed to a Kubernetes cluster with explicit CPU and memory limits, health probes and configurable replica counts. Cloud infrastructure and cluster configuration were automated using Terraform and Ansible.

I created Locust load-testing scripts to evaluate the system across 1, 2, 4 and 8-pod configurations. The benchmark showed near-linear scaling up to four pods and identified cluster CPU capacity as the main constraint at higher replica counts. After making additional cluster resources schedulable, the system reached approximately 31 requests per second with 60 concurrent users and no recorded request failures.

The project demonstrates practical experience with REST API development, containerisation, infrastructure automation, Kubernetes orchestration, concurrent workload handling and empirical performance analysis. The assignment itself focused on cloud-native development, distributed systems and performance engineering rather than model training.

My role

Sole developer — designed and implemented the API, Docker image, cloud infrastructure, Kubernetes deployment, load-testing workflow and performance analysis.

Full report

The report can be read directly below or opened in a separate browser tab.

This browser cannot display the PDF. Open the report