| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 1.05 MB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
This work presents a modular architecture for the scalable deployment of Artificial Intelligence (AI) models that combines Infrastructure-as-Code, container orchestration, and automated observability-driven control loops.
The system provisions compute resources on on-premises Proxmox environments using Terraform, applies post-provision configuration with Ansible, orchestrates containerized services through Docker Swarm, serves Machine Learning (ML) models via TorchServe, and stores and visualizes operational metrics using InfluxDB and Grafana.
The final design closes an autonomous feedback loop in which Grafana alerts trigger a backend that executes Terraform actions to add or remove worker nodes; newly created machines are configured and joined to the cluster automatically by Ansible.
The prototype was validated with two pretrained image classification models (ResNet-18, DenseNet-161), demonstrating functional correctness (idempotent provisioning, service replication, load balancing, and failover) and performance benefits under load when elastic scaling is enabled.
While the approach proved portable between Amazon Web Services (AWS) and Proxmox and effective for medium scale workloads, the evaluation surfaced practical constraints—most notably Virtual Machine (VM) provisioning latency and a five-minute alert resolution delay—that limit responsiveness to short bursts.
The architecture meets its primary objectives of scalable, automated model serving with minimal operator intervention, and outlines opportunities for reducing reaction time (e.g., container level scaling before VM creation) and enhancing scheduling sophistication.
Este trabalho apresenta uma arquitetura modular para a implementação escalável de modelos de AI, que combina Infraestrutura-como-Código, orquestração de contentores e ciclos de controlo automatizados baseados em observabilidade. O sistema aprovisiona recursos computacionais em ambientes Proxmox locais utilizando o Terraform, aplica configurações pós-aprovisionamento com o Ansible, orquestra serviços contentorizados através do Docker Swarm, disponibiliza modelos de ML via TorchServe, e armazena e visualiza métricas operacionais utilizando o InfluxDB e o Grafana. O design final fecha um ciclo de feedback autónomo em que alertas do Grafana desencadeiam um backend que executa ações do Terraform para adicionar ou remover nós de trabalho; as máquinas recém-criadas são configuradas e integradas automaticamente no cluster pelo Ansible. O protótipo foi validado com dois modelos de classificação de imagens pré-treinados (ResNet-18, DenseNet-161), demonstrando correção funcional (aprovisionamento idempotente, replicação de serviços, balanceamento de carga e tolerância a falhas) e benefícios de desempenho sob carga quando a escalabilidade elástica está ativada. Embora a abordagem tenha provado ser portátil entre AWS e Proxmox e eficaz para cargas de trabalho de média escala, a avaliação revelou limitações práticas — nomeadamente a latência no aprovisionamento de VM e um atraso de cinco minutos na resolução de alertas — que reduzem a capacidade de resposta a picos de curta duração. A arquitetura cumpre os seus principais objetivos de disponibilização escalável e automatizada de modelos, com intervenção mínima do operador, e identifica oportunidades para reduzir o tempo de reação (por exemplo, escalabilidade ao nível de contentores antes da criação de VM) e aumentar a sofisticação do agendamento.
Este trabalho apresenta uma arquitetura modular para a implementação escalável de modelos de AI, que combina Infraestrutura-como-Código, orquestração de contentores e ciclos de controlo automatizados baseados em observabilidade. O sistema aprovisiona recursos computacionais em ambientes Proxmox locais utilizando o Terraform, aplica configurações pós-aprovisionamento com o Ansible, orquestra serviços contentorizados através do Docker Swarm, disponibiliza modelos de ML via TorchServe, e armazena e visualiza métricas operacionais utilizando o InfluxDB e o Grafana. O design final fecha um ciclo de feedback autónomo em que alertas do Grafana desencadeiam um backend que executa ações do Terraform para adicionar ou remover nós de trabalho; as máquinas recém-criadas são configuradas e integradas automaticamente no cluster pelo Ansible. O protótipo foi validado com dois modelos de classificação de imagens pré-treinados (ResNet-18, DenseNet-161), demonstrando correção funcional (aprovisionamento idempotente, replicação de serviços, balanceamento de carga e tolerância a falhas) e benefícios de desempenho sob carga quando a escalabilidade elástica está ativada. Embora a abordagem tenha provado ser portátil entre AWS e Proxmox e eficaz para cargas de trabalho de média escala, a avaliação revelou limitações práticas — nomeadamente a latência no aprovisionamento de VM e um atraso de cinco minutos na resolução de alertas — que reduzem a capacidade de resposta a picos de curta duração. A arquitetura cumpre os seus principais objetivos de disponibilização escalável e automatizada de modelos, com intervenção mínima do operador, e identifica oportunidades para reduzir o tempo de reação (por exemplo, escalabilidade ao nível de contentores antes da criação de VM) e aumentar a sofisticação do agendamento.
Descrição
Palavras-chave
Infrastructure as code (IaC) Terraform AWS Docker Auto-scaling ML provisioning
