BeavOps : Como o Python
ajudou a integrar o mundo
DevOps
Novembro/2015
Gabriela Dias
Alisson Machado
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
5
Cursos práticos, rápidos e baratos de
autores feras
6
Ao final dessa palestra
➢ X cursos Online
➢ Curso de Python
➢ 01 Tux de pelúcia
7
Ao final dessa palestra
8
9
Descrição do Cenário
(Necessidade!)
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.
12
Necessidade
13
Nome e Logo
O sistema que fornece o ambiente DevOps da
4Linux para os alunos!
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
BeavOpsD
MongoDB
BeavOpsAPI
POST
GET
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 Turmas
2. 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;
BeavOps
Core
MongoOps
Instanciar
Módulo
DockerOps
Docker
Server
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
BeavOps
Core
MongoOps
Recycle
Módulos
(Remover)
Docker
Server
IF Status=2
23
5. Acompanhamento Web
Porque Flask?
➢ Microframework, Modular;
➢ Separação de Responsabilidades (BluePrint)
24
5. Acompanhamento Web
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
27
Demostração
28
Perguntas
29
Boa Sorte!!
30
Gabriela Dias
Alisson Machado
www.4linux.com.br
www.4shot.com.br
Sigam-nos
@4linux
@4shotcursos

BeavOps : Como o Python ajudou a integrar o mundo DevOps

  • 1.
    BeavOps : Comoo Python ajudou a integrar o mundo DevOps Novembro/2015 Gabriela Dias Alisson Machado
  • 2.
    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.
    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.
    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
  • 5.
    5 Cursos práticos, rápidose baratos de autores feras
  • 6.
    6 Ao final dessapalestra ➢ X cursos Online ➢ Curso de Python ➢ 01 Tux de pelúcia
  • 7.
  • 8.
  • 9.
  • 10.
    10 A 4Linux ➢ Empresade Treinamento e Consultoria há 15 anos; Mês Julho Agosto Setembro Outubro Turmas 33 29 41 34 Alunos 463 420 609 706
  • 11.
    11 Necessidade ➢ Criar deforma 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.
  • 12.
  • 13.
    13 Nome e Logo O sistemaque fornece o ambiente DevOps da 4Linux para os alunos!
  • 14.
    14 Porque Python? ➢Linguagem quenavega 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.
    15 Premissas ➢Produzir um Sistemausando Integração Contínua; DEV .py PROD ✔Save RollBack ✔Git Clone Master / Repo ✔Check Depends ✔Reload Apache Puppet
  • 16.
    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 BeavOpsD MongoDB BeavOpsAPI POST GET MongoDB
  • 17.
    17 Sem lenço eSem Documento... Fase Piloto Não tinha Nome Começou Pequeno / Limitado Apenas uma Funcionalidade 1 Página Web / 1 Script (Arquivo Único)
  • 18.
    18 Escalando a Aplicação 1.Gerenciartodas 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.
    19 1. Gerenciar Turmas 2.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.
    20 3. Integrar DiferentesTecnologias ➢Necessidade de Modularizar para Separação de Responsabilidades; ➢Beavops Core gerencia os módulos; ➢Possibilidade de reaproveitamento de Módulo; BeavOps Core MongoOps Instanciar Módulo DockerOps Docker Server
  • 21.
    21 Módulos do BeavOps Json DockerOpsJenkinsOps MongoOps LdapOps GitlabOps ➢Facilidades e Dificuldades na Criação dos Módulos KanbanOps
  • 22.
    22 4. Criação eRemoção do Ambiente Módulo Recycle ➢Toda turma tem um fim; ➢Evitar sobrecarga do ambiente; ➢Turmas em andamento consumindo Recurso BeavOps Core MongoOps Recycle Módulos (Remover) Docker Server IF Status=2
  • 23.
    23 5. Acompanhamento Web PorqueFlask? ➢ Microframework, Modular; ➢ Separação de Responsabilidades (BluePrint)
  • 24.
  • 25.
    25 Novas Possibilidades ➢Aplicações Externasse alimentam do BeavOps; ➢Controle de Acesso por Biometria; ➢Controle de Acesso aos containers do Docker; ➢Preparação da Appliance do Aluno;
  • 26.
    26 O que vempor ai... Após 6 meses de Projeto... ➢MicroServices → Escalabilidade em Diferentes Hosts; ➢Integração com Puppet para Cursos Presenciais; ➢Melhorias Continuas
  • 27.
  • 28.
  • 29.
  • 30.