deniojunior / gcp-ews-terraform

Terraform code to build an Elastic Web Server architecture on Google Cloud Platform (GCP)
0 stars 0 forks source link

Planejamento #1

Open deniojunior opened 4 years ago

deniojunior commented 4 years ago

Informações iniciais

O intuito deste projeto é construir a arquitetura Elastic Web Server dentro do Google Cloud Platform (GCP). Esta arquitetura já foi construída por mim antes na AWS, conforme o diagrama abaixo:

84183484-5ce12f80-aa62-11ea-8d35-16fe33137990

A ideia é construir esta arquitetura no GCP com Terraform.

deniojunior commented 4 years ago

Processo de desenvolvimento

Organização baseada no Kanban faça sentido, sendo administrado no próprio Projects do GitHhub.

Acho importante também que o desenvolvimento seja feito em Milestones, de forma a definir etapas, dando uma ideia do andamento do desenvolvimento. Não é necessário aplicar metodologias complexas pois o projeto é pequeno, então uma simples divisão de etapas consegue deixar evidente o andamento.

Os Milestones ficarão centralizados nesta issue, onde também serão detalhadas as suas respectivas tarefas. Cada tarefa gerará uma issue no GitHub que irá para o board no Projetcs. Dentro das issues, devem ser detalhados qualquer especifidade daquela tarefa.

Issues

As issues devem manter um padrão básico, contento as seguintes informações:

Além disso, ela deve estar linkada ao board do projects, ao milestone, e com as respectivas labels referente à tarefa.

Boards

Os boards serão criados por milestones, a fim de exibir o andamento para o fechamento dos ciclos.

Labels

Como o projeto não é tão grande, defini apenas as labels abaxo, afim de manter uma certa organização de tema das issues, são elas:

Para os PRs, acho bacana deixar evidente o ambiente em uma label. Por este motivo, também serão incluídas as labels:

Ambientes

Haverão 2 ambientes: dev e prod. Cada ambiente terá 1 branch protegido no GH que receberá contruibuições apenas via PR.

O fluxo de entrega deve seguir o Gitflow, mantendo feature branches, hotfix branches e bugfix branches, as quais devem seguir o seguinte padrão:

[type]-[descripion]-[issue]

Exemplos:

PRs

Os PRs devem conter:

Commits

Os commits devem seguir o seguinte padrão:

Type(Scope(Optional)): message

Tipos e seus significados

Exemplo de commit:

feat: add terraform module for network

deniojunior commented 4 years ago

Milestone 1 - Prova de Conceito (POC)

Viabilidade #2

Realizar um levantamento dos componentes do google a fim de responder se é viável a criação da arquitetura apresentada.

Custos #3

Fazer uma análise de custo de cada um dos componentes, a fim de analisar se eles encaixam na camada gratuita.

Diagrama #4

Construir uim diagrama com os compoentes utilizados no GCP.