Skip to content
Guilherme Peres edited this page Jul 15, 2022 · 7 revisions

Boas vindas! Aqui nesta documentação você encontrará mais detalhes sobre o objetivo, problema e solução relacionados à infraestrutura de tecnologia da informação da Base dos Dados.

Conteúdo:


Objetivo

Proporcionar serviços de alta disponibilidade aos nossos clientes e colaboradores, assegurando a confiabilidade, integridade e confidencialidade das informações. De forma ágil, eficiente e efetiva.

Através de práticas da cultura DevOps, otimizar a infraestrutura para que a disponibilidade e gerenciabilidade da mesma sejam garantidas.

Qual problema enfrentamos?

Acançar os objetivos utilizando os recursos dos provedores de serviços em nuvem de maneira organizada, eficiente e colaborativa.

Como lidamos com este problema?

IaC (acrônimo de Infrastructure as Code) é a prática utilizada para proporciona o gerenciamento e provisionamento da infraestrutura através de códigos.

Estes códigos carregam as especificações da infraestrutura desejada e, como todo código apoiado por outras práticas ganhamos facilidade de alteração/manutenção, provisionamento do ambiente quantas vezes for necessário, modularização de componentes, redução de custos e erros, consistência da infraestrutura, eliminação de desvios de configuração etc. Logo, de forma declarativa criamos arquivos e manifestos que serão interpretados de forma imperativa via os comandos das ferramentas utilizadas. Essas ferramentas que serão abordadas com mais detalhes nas sessões a seguir.

Somos um projeto 100% cloud first, ou seja, todos os nossos produtos são desenvolvidos e disponibilizados por provedores de serviços em nuvem. Atualmente os recursos de infraestrutura da Base dos Dados são disponibilizados por dois provedores: Google (GCP) e Amazon (AWS).

Devido a gama de serviços disponíveis e flexibilidade dos mesmos, dentre os provedores, somos capazes de alterar, escalar e desativar facilmente algum componente e ou projeto.

Ferramentas utilizadas no projeto

Terraform

Terraform é a primeira grande ferramenta utilizada no projeto. Como descrito em seu próprio site "(...) ferramenta para construção, manutenção e versionamento de infraestrutura de forma segura e eficiente."

Através dela realizamos as alterações necessárias em nossa infraestrutura, como criar, deletar, atualizar e provisionar componentes dos provedores de serviços em nuvem.

Em um analogia, o Terraform é a ferramenta que irá construir a nossa "casa" nos ambientes destes provedores. Em seus arquivos de configuração, declaramos a estrutura final dessa casa.

Kubernetes

Também conhecido como k8s, podemos defini-lo como o sistema operacional da nuvem. Através dele realizamos a criação, modificão e remoção dos sistemas executados em nossa infraestrutura.

Ou seja, seguindo a analogia anterior, o Kubernetes é a ferramenta que irá construir os sistemas dentro da nossa casa criada anteriormente pelo Terraform.

Clone this wiki locally