Migrated a self-managed Kubernetes deployment (Java + MySQL + phpMyAdmin) to Amazon EKS, splitting compute across EC2 and Fargate, then automated releases with a Jenkins pipeline and pod/node autoscaling. Cut deployment time from a ~45-minute manual process to a 10-minute zero-downtime rolling update.
Leandro Mileski
Passionate about automation, cloud-native technologies, and platform engineering. I help teams ship faster and operate more reliably through infrastructure as code, CI/CD automation, observability, and security-first engineering practices. Strong foundation in software development with Java and Python.
Selected work
14 projects across the infrastructure lifecycle — cloud provisioning, CI/CD, and observability, plus the backend software that runs on top of it.
An Ansible playbook that provisions an EC2 instance and stands up a fully configured Jenkins server — Docker and Node.js included — from a single command. Turned a multi-hour manual setup into a repeatable ~5-minute, version-controlled operation.
Provisioned a self-managed Kubernetes cluster on Linode with Terraform, bootstrapped it with kubeadm via Ansible, and deployed a Spring Boot + MySQL app behind Nginx ingress — all from two commands. Took a browser-accessible app from an empty cloud account in about 20 minutes, no prior Kubernetes knowledge required.
Deployed the Prometheus Operator across the ingress, database, and application layers, wrote PrometheusRule alerts, and built a Grafana dashboard for full-stack health. Shifted the team from reactive troubleshooting to alerts firing before customers noticed anything was wrong.
Scripted three additional EKS environments identical to production, moved Terraform state to S3 with locking, and wired provisioning into a Jenkins pipeline with a manual approval gate. Result: four identical environments, zero configuration drift, safe team-wide collaboration.
Automated the full deploy lifecycle of a Spring Boot (Gradle) app to a remote Ubuntu server — build, per-developer user provisioning, process swap — down to one command. Removed manual SSH deployments and their human error entirely.
A parameterized Jenkins pipeline, driven by Python and boto3, that lists available ECR image tags and deploys the selected one over SSH/Docker. Rollback became "pick the previous tag and run" instead of a manual investigate-and-redeploy cycle.
A toolkit of 11 boto3 scripts covering EC2/EKS status checks, EBS snapshot cleanup, VPC management, environment tagging, and IAM auditing. Replaced minutes of console navigation with fleet-wide checks that run in seconds.
Replaced a self-managed, kubeadm-bootstrapped cluster with a fully version-controlled Amazon EKS platform — VPC isolation, managed node groups, and IRSA for pod-level IAM permissions. A complete environment now stands up from scratch with one terraform apply in about 20 minutes.
Migrated container images off DockerHub to private ECR repositories and wired ECR authentication into the Jenkins pipeline and EKS deployments. Removed the external registry dependency and its rate limits entirely.
A Spring Boot banking system with secure wallet management, an IP-tracking security filter, full API audit logging, and ACID-compliant concurrent transactions — enterprise backend practices for handling money.
An inventory application built with Spring Cloud and OpenFeign for service-to-service communication, designed for e-commerce and supply-chain scale.
A Node.js + PostgreSQL backend built with Clean Architecture, automated quality gates (ESLint, Commitlint), and a full GitHub Actions CI/CD pipeline — a second major CI/CD ecosystem alongside Jenkins.
A Python implementation of the Black-Litterman portfolio optimization model, applied to a sector analysis of the US market. Undergraduate thesis evidencing analytical rigor and independent research.