#noops?? transcendendo o devops pelo caminho de tijolos (não muito) amarelos

40

Upload: evandro-silvestre

Post on 16-Apr-2017

80 views

Category:

Technology


0 download

TRANSCRIPT

#noOps?? Transcendendo o DevOps pelo caminho de tijolos (não muito) amarelos

Quem Somos?

Wagner Hitomi

• Primeiro programa aos 16

• Trabalha na Geofusion desde 2015

• Delivery Engineer

• Empreendedor quando da tempo

• Quase casando! o/

Evandro Silvestre

• Primeiro código aos 15 anos, agilista desde 2003

• Trabalha na Geofusion há 8 anos

• Responsável pela Engenharia e Infraestrutura

• Gamer nas horas vagas

• Futuro pai de primeira viagem :)

E a Geofusion?

“Somos uma empresa de Location Analytics, que facilita a tomada de decisões por meio de tecnologia e

dados de mercado”

Nossa Estrutura de Times

GP

UX

LT

Dev

QA

GP

UX

LT

Dev

QA

GP

UX

LT

Dev

QA

GP

UX

LT

Dev

QA

GP

LT

Dev

Vamos falar desse time!O Delivery Engineering Team

Existiam o…

Dev Ops

Escreve código! Cuida do Ambiente

Joga o código para Ops implementar

DevOps

DevOps se Deriva do padrão The Three Ways

• Conceito apresentado em The Phoenix Project

• Fortemente baseado em:

○ Lean

○ Improvement Kata

○ Continuous Delivery

○ Teoria das Restrições

• Descreve o valor e a filosofia que guia processos e

práticas de DevOps

• Fluxo e feedback constante da esquerda para direita (Dev => Ops)

• Pequena quantidade de trabalho em intervalos curtos

• Entrega constante de valor para o cliente

• Só está pronto quanto está em produção

• Nunca passar problemas para frente

• Práticas necessárias:

○ Integração, Deploy e Entrega Contínua (Delivery Pipeline)

○ Devs e Ops em constante interação

The First Way

Dev Ops

The Second Way

Dev Ops

• Fluxo e feedback constante da direita para esquerda (Dev <= Ops)

• Permitir detecção de problemas rápido e aprender com eles

• Práticas necessárias:

○ Stop the Production Line (quando o build ou teste quebrar, tudo deve parar)

○ Bateria de testes automatizadas rápidas

○ O código sempre deve estar em estado “deployable”

○ Dor compartilhada entre Dev e Ops

○ Telemetria onde todos possam ver o que está acontecendo

nos ambientes

The Third Way

Dev Ops

• Criação de uma cultura que foca em dois pontos:

○ Experimentação e Aprendizado Contínuo

○ Repetição e prática são pré-requisitos para maestria

• Práticas necessárias:

○ Cultura de inovação e tolerante a erros

○ Alocar pelo menos 20% dos times em requisitos não funcionais

○ PDCA e Improvement Kata

○ Confiança!

O próximo slide pode causar desconforto

Atenção!

Não existe um cargo DevOps

Não existe um time de DevOps

DevOps é CULTURA!

Como fazemos?

Delivery Engineer Team

• Time multidisciplinar responsável por um conjunto de ferramentas de Entrega Contínua

• Nós pavimentamos o caminho para produção, permitindo os outros times seguirem por ele

• Orientamos e damos suporte aos times, mas não administramos ambientes e nem fazemos

deploy

Delivery Engineering Team

GP

UX

LT

Dev

QA

GP

UX

LT

Dev

QA

GP

UX

LT

Dev

QA

GP

UX

LT

Dev

QA

GP LT Dev

Participa dos outros times auxiliando e construindo junto

Ok! Mas o que é #noOps?

#noOps?

• Ainda estamos descobrindo o que é isso, ok!?

• O modelo de DevOps atual tem o Delivery Engineer Team como gargalo

• Nosso objetivo é Infraestrutura Self Service

○ Através de uma ferramenta de Entrega Contínua cada time pode escolher como

rodar seu código (quantas máquinas? tamanho?)

• Source-to-Container => Container Imutáveis gerados diretamente pelo processo de

build

• Telemetria, logs, load balance, etc => Centralizados e Não invasivos

Source-to-Container

Source-to-Container

mvn clean install docker:build docker:push

constrói o container

empurra o container

para o nosso registry

Instâncias

Como fazemos…

Nossas instâncias são construídas utilizando as tecnologias...

Serviço de Descoberta(Consul.io)

Serviço de Log Centralizado(Elasticsearch, Logstash, Kibana)

Containeres(Docker)

Gerenciamento de Configuração(Puppet)

Continuous Delivery Tool(GoCD)

Infrastructure As Code

Infrastructure As Code

class new_host{include firewallinclude usersinclude docker-hostinclude default_foldersinclude consul_stackinclude elk_stack

# mount_pointsgfn::mounttab{ "/earth" :

device => "/dev/vg-app/lv-app",owner => 'god',group => 'universe',checkDir => 'false',options => "defaults"

}}

Logs

Log Center

Logstash

Elasticsearch

KibanaLogLog Log

Log

Discovery

Service Discovery

Delivery

Pipelines de deploy

Value

Entrega de Valor Fim-A-Fim

“Fear is the path to the dark side.Fear leads to anger. Anger leads to hate.

Hate leads to suffering.” - Yoda

Estamos contratando!Temos vagas em Campinas \o/

Slides e vagas disponíveis em:http://geofusion.tech

[email protected]

Evandro Silvestre

[email protected] Hitomi