uma experiência com práticas devops em um site de e-commerce
TRANSCRIPT
Uma experiência com práticas DevOps em um
site de e-commerce
Agenda
● Introdução● DevOps - Origem e Importância● Problemas comuns no Ciclo de vida do software● Soluções geradas pelo DevOps● A MATERA e o DevOps● Estudo de Caso e experiências passadas● Conclusões● Perguntas
Introdução
● Luiz Couto○ Formação
■ Técnico em Processamento de Dados● Escola Técnica Pandiá Calogerás - Volta Redonda/RJ
■ Ciência da Computação● Início: Universidade de Barra Mansa - Barra Mansa/RJ● Conclusão: Faculdade Anhanguera - Campinas/SP
○ Certificações■ CCNA - em 2006■ DB2 Developer - em 2011
○ Responsabilidade atual■ Líder de célula em um grande ecommerce de moda feminina
MATERA
MATERA
DevOps
● Origem do DevOps○ Por volta de 2009
■ 10+ deploys per day: Dev and Ops cooperation at Flickr
○ DevOps Days
○ #DevOpsDays
○ Reação ao Agile
DevOps
● O que o DevOps não é:
○ Produto
○ Especificação
○ Título
DevOps
● O que o DevOps é:
○ De profissionais para profissionais
○ Movimento baseado na experiência
○ Descentralizado
DevOps● Será que é importante?
○ Gartner
Problemas - Dev x Ops
● Falhas de Comunicação○ “Funciona na minha máquina”
Problemas - Dev x Ops
● Risco de erros devido a restrições do ambiente○ Falha em feature. Ex: IP
Problemas - Dev x Ops
● Atraso nas Entregas○ Cancelamento de release
Problemas - Dev x Ops
● Falta de entendimento entre os times
Problemas - Dev x Ops
● Falta de confiança○ “O problema é o código”○ “A falha é da operação”
Problemas - Dev x Ops
● Cultura do Dedo apontado:“O problema é seu”
DevOps
● Devs conhecem a Operação
● Ops opinam no Desenvolvimento
● Ciclos de Feedback
DevOps
● Devs respeitam Ops○ “Eles não dizem apenas ‘não’”
DevOps
● Ops respeitam Devs○ “Eles não são lentos e preguiçosos”
DevOps
● Todos são um Time○ “Nós fazemos o melhor que podemos”
DevOps
● Métricas compartilhadas
● Testes compartilhados
● Sucessos compartilhados
DevOps
● Atitude positiva diante de falhas○ Evitar apontar o Dedo○ Reagir juntos○ Criar planos de contingência
● Soluções compartilhados
● Sucessos compartilhados
DevOps
● Dicas do Flicker
○ Devs: “Devs, lembre-se alguém será acordado quando seu código falhar”
○ Ops: “Dê um feedback construtivo sobre os problemas”
Ambiente MATERA● 1-click build - Maven
● Integração contínua - Nexus/Team city
● Controle de versão - SVN
● Cultura de testes
● Agile - Scrum
● Times de Devs e Ops na mesma empresa
● Parceiro Amazon AWS
Ambiente MATERA
● DevOps como consequêncianão um Objetivo
● Não vendemos DevOpsSomos DevOps, essencialmente.
Nossos ganhos
● Pessoas e Times próximosComunicação Efetiva
Nossas outras armas
● Criação de ambientes a 1-Click
Nossas outras armas
● Atualização de aplicações em segundos
Um caso para pensar
● Múltiplos fornecedores● Comunicação não estruturada● Falta de clareza nas responsabilidades● Requisitos esquecidos
Qual pode ser o resultado?
Nossa resposta padrão
● Único ponto de contato● Dev e Ops reagem juntos● Dev e Ops testam juntos● Os erros não são de Devs ou Ops, para o
cliente a falha é da MATERA● Achar o culpado não é importante, achar a
solução do problema Sim!● Devs e Ops atuam juntos nos plantões
Exemplos reais
● Session stickness
Exemplos reais
● Parâmetros do Banco de Dados
Estreitando a comunicação com Cliente
● Planejamento de Eventos○ Evitar falhas ao gerar alta demanda○ Evitar custos desnecessários○ Possibilitar ações de maneira simples
● Execução de testes de Carga○ Alinhar expectativas○ Preparar a “arma” certa
Conclusão
Perguntas