BeavOps : Como o Python ajudou a integrar o mundo DevOps

30
BeavOps : Como o Python ajudou a integrar o mundo DevOps Novembro/2015 Gabriela Dias Alisson Machado

Transcript of BeavOps : Como o Python ajudou a integrar o mundo DevOps

BeavOps : Como o Python ajudou a integrar o mundo

DevOps

Novembro/2015

Gabriela DiasAlisson 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

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)

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 DiasAlisson Machadowww.4linux.com.brwww.4shot.com.br

Sigam-nos@4linux

@4shotcursos