Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Wiki Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 52
    • Issues 52
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • CP - Planta
  • WikiWiki
  • Wiki
  • Infraestrutura

Last edited by André Sacilotto Santos Nov 29, 2024
Page history

Infraestrutura

Home Escopo Processo Design/Mockups Gerência Estudos Arquitetura Contratos BD Qualidade Configuração Instalação Instruções Utilização Analytics Infraestrutura Dicas

Infraestrutura do Projeto CP-Planta

Introdução

Este documento descreve a infraestrutura necessária para o projeto CP-Planta, incluindo o provisionamento de recursos na AWS, arquiteturas de referência e estratégias de contingência com uso de infraestrutura alternativa na Azure.

Requisitos de Infraestrutura

Recursos AWS

Serão utilizada duas instâncias EC2 do tipo t2.medium na região us-east-2 (Ohio). A estimativa de custos pode ser visualizada no link abaixo:

Estimativa de Custos - AWS Pricing Calculator

Arquitetura

A arquitetura inicial envolve a utilização de um orquestrador como Docker Swarm para gerenciar os componentes do backend, banco de dados, frontend e runners do projeto, abstraindo a necessidade de balancemento de carga de processamento e de escolher uma VM específica para cada componente.

Arquitetura AWS CP-Planta

Contingência e Alternativas

Além do provisionamento na AWS, há um plano alternativo usando a assinatura Azure Students da PUCRS.

Implementações em Terraform

Apesar de o plano principal utilizar a infraestrutura fornecida pela AGES e PUCRS, implementações em Terraform para Cloud Azure foram preparadas. Estas implementações estão disponíveis e funcionais, podendo ser acionadas em caso de problemas que inviabilizem o uso da infraestrutura principal. Assim, teremos uma segunda cloud disponível no caso de indiponibilidade, evitando transtornos em apresentações para o cliente.

Fluxo Terraform - Azure

Sumário do Planejemento de Custos e Artefatos ded Código

Os artefatos de código estão presentes no repositório CP-Planta/Infrastructure. Na branch main já está presente o projeto de Ansible a ser utilizado em qualquer uma das situações de deploy (padrão/backup). Na branch backup-azure_cloud_deploy consta além do projeto Ansible, o código Terraforn para deploy na Azure. Por fim, backup-aws_deploy_custom, que traduz o Terraform para AWS. Este úlitmo provavelmente nõa será utilizado dado as combinações com o arquiteto de Software da Ages, que relatou que tal processo pode ser delagado à ele, abstraindo complexidade potencialmente desnecessária ao projeto.

Segue também o .pdf exportado diretamente do 'Price Calculator' na AWS com detalhes sobre o orçamento:

Custos da Infraestrutura

Diagrama Final para transição para AWS

Segue a seguir o diagrama de deploy final enviado para o arquiteto de software da AGES, onde o Terraform for substituido por duas nodos com ips estáticos, junto de um pipeline de CI/CD para integração de novas features.

Diagrama_de_Deploy_-_AWS_CP-Planta_AGES

Considerações Finais

A infraestrutura proposta será suficiente para suportar o desenvolvimento e operações do projeto CP-Planta, fornecendo a flexibilidade necessária para lidar com possíveis imprevistos.


Clone repository
  • Infraestrutura
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • analytics
  • arquitetura
  • backend_categories
  • backend_inicio
  • backend_persons
  • backend_production_order
  • backend_products
  • backend_qualidade
  • backend_settings
  • backend_stock
  • backend_stock_locations
View All Pages