Estrutura de Micro Serviços da EVO

Nesta parte irei explicar como funciona a estrutura de micro serviços da Evológica. Nosso ambiente é composta por máquinas virtuais gerenciadas pelo Hyper-V em nosso servidor. Dentre essas máquinas existem duas que estão sendo utilizadas no momento, a da redhat, onde estão situados os containers do AUTOPOP e do MICROCREDITO e a ubuntu-01 onde ficam a maioria dos serviços essencias para desenvolvimento interno da empresa.

Para acessar as máquinas pode-se utilizar qualquer cliente de SSH, porém indico oque eu uso por ter além do teminal para executar as linhas de comando uma interface para arquivos via SFTP, ele é o Bitvise SSH Client.

bitvise.PNG

SERVIÇOS

Nossos containers são gerenciados pelo Docker (ver tutorial e aprender sobre o docker). Para listar os containers e ver o status, porta e algumas configurações simples, basta digitar docker ps no terminal.

Gitlab

Existem 4 containers para prover todo o funcionamento do gitlab, são eles o gitlab, que contem toda a parte web, o registry, o redis e o postgres como banco de dados. Toda a configuração do gitlab selfhost se encontra no arquivo /home/evologica/services/gitlab/docker-compose.yml.

Além do backup definido nos parametros, temos um script configurado no CRON desta máquina (ubuntu server), para copiar o backup para um local seguro: /home/evologica/scripts/gitlab-backup.sh

Rocket.Chat

Existem 2 containers para prover todo o funcionamento do rocketchat, são eles o rocketchat, que contem toda a parte web, o mongoDB, como banco de dados. Toda a configuração do rocket se encontra no arquivo /home/evologica/services/rocket/docker-compose.yml.

Como o rocket utiliza o mongoDB seu volume de arquivos fica na pasta: /home/evologica/services/rocket/data e seu backup é feito atraves de um script também configurado no CRON: /home/evologica/scripts/rocket-backup.sh

BookStack, Nexus e demais serviços

Todos esses serviços seguem o mesmo padrão que o gitlab e o rocket.chat. Dentre os demais somente o bookstack que tambem tem configurado no CRON um script de backup: /home/evologica/scripts/bookstack-backup.sh