beavops : como o python ajudou a integrar o mundo devops
TRANSCRIPT
2
Conhecendo o Palestrante
➢ Gabriela Dias (GabyDias);
➢ Diretora de Operações;
➢ 15 anos de experiência em
projetos FOSS (Free and Open
Source Software)
➢ Certificações LPI3, RHCSA, RHCE;Gabriela Dias
3
Conhecendo o Palestrante
➢ Alisson Machado;
➢ Desenvolvedor Python e Analista
Linux;
➢ 5 anos de experiência em projetos
FOSS (Free and Open Source
Software) e Python;
➢ Certificações LPI 1 , LPI2
➢ Responsável pelo
Desenvolvimento do BeavOps
Alisson Machado
4
Conhecendo a 4Linux
➢ Metodologia IT Experience -
Cenários reais
➢ Cursos práticos, rápidos e baratos de
autores feras: www.4shot.com.br
➢ Projetos complexos de missão crítica,
com infra e desenvolvimento PHP
10
A 4Linux
➢ Empresa de Treinamento e Consultoria há
15 anos;
Mês Julho Agosto Setembro Outubro
Turmas 33 29 41 34
Alunos 463 420 609 706
11
Necessidade
➢ Criar de forma automática os ambientes
dos Cursos da 4Linux;
➢ Integrar diferentes aplicações para um
mesmo propósito;
➢ Receber Dados do CRM da Empresa para a
preparação da Infraestrutura.
14
Porque Python?
➢Linguagem que navega muito bem no mundo
Devops (Infraestrutura / Desenvolvimento);
➢Módulos prontos para a maioria das Tecnologias;
➢Desenvolvimento Web e Scripts na mesma
linguagem;
➢Know How Interno;
15
Premissas
➢Produzir um Sistema usando Integração Contínua;
DEV
.py
PROD✔Save RollBack
✔Git Clone Master / Repo
✔Check Depends
✔Reload Apache
Puppet
16
Core GitLabOps
BeavOPs
CSV
CR4
Fase 1 “Frankenstein”
JenkinsOps UtilsOps
Core GitLabOps
RecycleOps
BeavOpsAPI
BeavOPs
CR4
Fase 2 “RedBull”
JenkinsOps UtilsOps
Core GitLabOps
RecycleOps
BeavOPs
CR4
Fase 3 “Enterprise”
JenkinsOps UtilsOps
Octupus
Bea
vOp
sD
MongoDB
BeavOpsAPI
PO
ST
GE
T
MongoDB
17
Sem lenço e Sem Documento...Fase Piloto
Não tinha Nome
Começou Pequeno / Limitado
Apenas uma Funcionalidade
1 Página Web / 1 Script (Arquivo Único)
18
Escalando a Aplicação
1.Gerenciar todas as Turmas EAD e Presenciais;
2.Regra de Negócio específica para Cursos e
Recursos;
3.Integrar diferentes Tecnologias;
4.Criação e Remoção do Ambiente de Aluno.
5.Acompanhamento Web pela Logísitica;
19
1. Gerenciar Turmas2. Regra de Negócios
➢Necessidade de um Banco de Dados
Porque MongoDB?
➢Não tinha necessidade de relacionar dados;
➢Informação Temporária respeitando o Ciclo da
Turma;
➢Velocidade por ser NoSQL
20
3. Integrar Diferentes Tecnologias
➢Necessidade de Modularizar para Separação de
Responsabilidades;
➢Beavops Core gerencia os módulos;
➢Possibilidade de reaproveitamento de Módulo;
BeavOpsCore
MongoOps
InstanciarMódulo DockerOps
DockerServer
21
Módulos do BeavOps
Json
DockerOps JenkinsOps
MongoOps LdapOps
GitlabOps
➢Facilidades e Dificuldades na Criação dos Módulos
KanbanOps
22
4. Criação e Remoção do Ambiente
Módulo Recycle
➢Toda turma tem um fim;
➢Evitar sobrecarga do ambiente;
➢Turmas em andamento consumindo Recurso
BeavOpsCore
MongoOps
RecycleMódulos
(Remover)
DockerServer
IF Status=2
23
5. Acompanhamento Web
Porque Flask?➢ Microframework, Modular;➢ Separação de Responsabilidades (BluePrint)
25
Novas Possibilidades
➢Aplicações Externas se alimentam do BeavOps;
➢Controle de Acesso por Biometria;
➢Controle de Acesso aos containers do Docker;
➢Preparação da Appliance do Aluno;
26
O que vem por ai...
Após 6 meses de Projeto...
➢MicroServices → Escalabilidade em Diferentes
Hosts;
➢Integração com Puppet para Cursos Presenciais;
➢Melhorias Continuas
30
Gabriela DiasAlisson Machadowww.4linux.com.brwww.4shot.com.br
Sigam-nos@4linux
@4shotcursos