Você está na página 1de 40

Uma proposta para

centralizar prticas
DevOps com uso do
gitlab
Contexto
Computao em nuvem;
Entrega contnua de software;
Processos e Ferramentas.
Motivao

Centralizao de Ferramentas;
Diminuio de Custos;
Otimizao de Processos.
Objetivos
Estudo sobre processos DevOps;
Estudo sobre ambientes de entrega contnua;
Propor uma infraestrutura que centraliza processos DevOps
em uma nica ferramenta. Diminuir custos ao aderir os
processo de CI e CD. E demonstrar como utilizar a
ferramenta open source do gitlab, o gitlab-ce (Community
Edition) e aws.
Conceitos
DevOps
Aproximao de desenvolvimento e operaes;
Automatizao de tarefas operacionais;
Agilidade na entrega;
Economia com despesas operacionais;
Reduo do tempo de operao;
Continuous Integration
Revises e boas prticas;
Deteco de bugs;
Validaes;
Releases.
Continuous Delivery
Build e execuo da sute de testes;
Deploy para Estgios de Teste e Produo.
Continuous Delivery
Docker
Grande fora DevOps;
Plataforma de containers;
Funciona em diferentes ambientes.
Detalhando os Processos de CD
Detalhando os Processos de CD
1. Definio de Pipeline;
Detalhando os Processos de CD
2. Ferramenta de controle de verso;

Git
SVN;
Detalhando os Processos de CD
2. Builds automticos;

Make;
Ant;
Mave;
Docker.
Detalhando os Processos de CD
3. Commit Stage;

Reviso de cdigo;
Relatrios de falhas;
Construo e validao das alteraes;
Detalhando os Processos de CD
3. Testes de Aceitao;

Deploy automtico em servidores de teste;


Testes de aplicao em ambiente prximo a produo.
Garantia de requisitos;
Candidato a produo;
Detalhando os Processos de CD
3. Deploy em produo;

Deploy a partir de um boto;


Diminuio de falhas;
Principais Desafios
Aplicaes massivas e monolticas;
Ambientes limitados;
Desafios tcnicos.
Principais Desafios
Desafios Tcnicos:

Falta de ferramentas robustas;


Diversas implementaes;
Limitaes em servios de terceiros;
Principais Desafios
Desafios Tcnicos: Jenkins

Grande quantidade de plugins;


Falta de documentao;
Fraco suporte ao Docker.
Falta de ferramenta para commit stage;
Principais Desafios
Desafios Tcnicos: Travis-CI e CodeShip

Suporte docker limitado;


Falta de ferramenta para commit stage;
Alto custo.
Proposta
Proposta
Gitlab-CE:

Ferramenta dividida em micro servios;


Commit stage;
Suporte a CI e CD;
Gitlab Runner;
Suporte docker;
Autoscaling;
Proposta
Gitlab-CE:
Proposta
AWS EC2:

Servio de VM;
Suporte docker;
Autoscaling;
Proposta
Arquitetura:
Proposta
Gitlab-server:
Proposta
Gitlab-Runner:
Proposta

Descrio do Pipeline

gitlab-ci.yml
Proposta
Vises da Ferramenta:
Proposta
Vises da Ferramenta: Pipelines
Proposta
Vises da Ferramenta: Builds
Proposta
Vises da Ferramenta:
Proposta
Comparao de custos: Mquinas Small

Servio concorrencia custo

Travis-CI 2 129$

CodeShip 2 150$

Gitlab-CE e AWS 2 49$


Proposta
Comparao de custos: Detalhes Gitlab-CE

Servio VM custo

GitLab-Server 1 16.56$

Gitlab-Runner 2 16.56$

49.68$
Concluses
Uso de ferramenta Open Source;
Baixo custo, comparado ao Travis-CI e CodeShip;
Centralizao de ferramentas e processos;
Dvidas?
Obrigado!