Skip to content

Latest commit

 

History

History
63 lines (36 loc) · 3.09 KB

README.md

File metadata and controls

63 lines (36 loc) · 3.09 KB

Desafio DevOps

Continuous delivery and deploy into AWS Cloud provider

Provisioning of the AWS infraestructure

Deprovisioning of the AWS infraestructure

Este projeto tem como intuito a implantação automatizada de uma aplicação Flask: API de comentários. Com isso serão praticados os seguintes conhecimentos:

  • Automação da infra, provisionamento dos hosts (IaaS)

  • Automação de setup e configuração dos hosts (IaC)

  • Pipeline de deploy automatizado

  • Monitoramento dos serviços e métricas da aplicação

A implantação segue dois formatos: em infraestrutura local e em infraestrutura na nuvem. A infraestrutura local foi desenvolvida com o intuito de efetuar todas a etapas de testes localmente, economizando uso de serviços na clouds.

Conteúdo

Infraestrutura Local

A infraestrutura local é composta por uma máquina virtual (Virtual Machine - VM) usando o Vagrant e VirtualBox. Essa VM é configurada via Ansible, sendo instalado um cluster MicroK8s. A imagem abaixo mostra a topologia proposta, onde é instalado o Kong e a aplicação Flask de exemplo no cluster MicroK8s.

local infrastructure design

Visite a pasta local_infra para saber mais sobre a instalação e execução.

Infraestrutura na Nuvem

A infraestrutura na AWS é composta por uma:

  • Virtual Private Cloud (VPC)
  • Subnet
  • Elastic Compute Cloud (EC2)
  • Simple Storage Service (S3) - Terraform
  • DynamoDB - Terraform
  • Security Group
  • Internet Gateway
  • Route Table

O provisionamento é feito de forma automatizado via script Terraform.

cloud infrastructure design

Visite a pasta cloud_infra para saber mais sobre a instalação e execução.

GitHub Actions - CI/CD

Na pasta .github/workflows encontram os pipelines atualmente implementados