Muito além das startups:
Build-Measure-Learn em
sistemas corporativos
IGOR ABADE V. LEITE (@IGORABADE)
MICROSOFT MVP, VISUAL STUDIO ALM
LAMBDA3 (WWW.LAMBDA3.COM.BR)
Desde 2006
• Visual Studio Team System
• Visual Studio ALM
@igorabade
www.tshooter.com.br
Desde 2010
• Consultoria
• Desenvolvimento
• Treinamento
Democracia Organizacional
Corporações podem tirar proveito?
“Continuous Delivery
é coisa de startup”
Empresas são resistentes à mudança
“Sempre funcionou desse jeito”
Todo mundo morre de medo
Raramente funciona de primeira
Empresas tentam “instalar” Agile
E se começarmos por DevOps?
MonitoreImplemente
Productbacklog
OPS backlog
Softwareem produção
Requisitos
Perda de foco
Qualidade é uma fase
Passagem de bastão entre desenv e testes
Integração de times multiplataforma
Expectativa dos
usuários não
atendidas
Requisitos de produção não
atendidos/estabelecidos
Dificuldade para identificar causas
raiz em incidentes de produção
Ferramentas e
processos distintos
Usuários/
Stakeholders
Operações
Desenv & Teste
Feedback não gera ação
para desenvolvimento
Requisitos não
compreendidos
Prioridades
conflitantes
Começando por DevOps
“DevOps é a colaboração
Entre Desenvolvimento e
Infra (Ops)”
“DevOps é tratar sua
Infraestrutura como
código”
“DevOps é usar automação”
“Kanban
para Ops?”
“DevOps é usar
feature switches”
“DevOps é fazer
pequenas implantações”
Construa (Build)
Aprenda (Learn)
Meça (Measure)
MonitoreImplemente
Productbacklog
OPS backlog
Softwareem produção
Requisitos
Perda de foco
Qualidade é uma fase
Passagem de bastão entre desenv e testes
Integração de times multiplataforma
Expectativa dos
usuários não
atendidas
Requisitos de produção não
atendidos/estabelecidos
Dificuldade para identificar causas
raiz em incidentes de produção
Ferramentas e
processos distintos
Usuários/
Stakeholders
Operações
Desenv & Teste
Feedback não gera ação
para desenvolvimento
Requisitos não
compreendidos
Prioridades
conflitantes
Build-Measure-Learn + DevOps
Desafio
Frigideira ou fogueira?
Receita para o desastre!
Processo manual
Alguém aí disse “desastre”?
Automação de Build
Git + Pull Requests
Nuget
Desafio
Implantações são caras
Perdas de janela são
inaceitáveis
Implantação Contínua
Crie um processo de implantação unificado que atende
a todos os ambientes.
Dispare implantações em ambientes específicos a partir
de builds automatizados.
Visibilidade para o pipeline
Veja liberações e problemas de uma aplicação num só
lugar.
Monitore o progresso de cada liberação.
Liberações Consistentes
Flexibilidade para definir aprovações para cada etapa
da liberação.
Defina o fluxo de trabalho de liberação e suas
atividades para cada uma de suas aplicações.
PowerShell DSC
Infrastructure as Code
Ative a implantação
contínua
Identifique problemas e padrões
em suas liberações
Verifique o status
de suas liberações
Controle granular sobre
todo o processo de
liberação
Totalmente integrado ao
build automatizado
Use ações pré-definidas
ou crie as suas
Defina, por ambiente, o
workflow de liberação e as
atividades
Dispare ações baseadas
nas aprovações
Maneira simples de
solicitar e responder a
aprovações
Desafio
Aplicações estão sujeitas
a falhas
Usuário é o primeiro a
perceber
Telemetria é coletada em cada
camada: aplicações móveis,
aplicações de servidor e browser
Telemetria chega ao serviço do
Application Insights onde ele é
processado e armazenado
Visão 360° da aplicação cobrindo
disponibilidade, desempenho e
utilização
Application
Insights
Application Insights
Identifique
problemas e
padrões em sua
plataforma e
na aplicação em
produção
Cheque o pulso de sua
plataforma e aplicação
Monte um dashboard de
sua plataforma e aplicação
com as métricas que lhe
interessam
“Insanidade: fazer a mesma coisa
sempre e esperar resultados diferentes.”
- Albert Einstein
Q&A

Muito além das startups: Build-Measure-Learn em sistemas corporativos

  • 1.
    Muito além dasstartups: Build-Measure-Learn em sistemas corporativos IGOR ABADE V. LEITE (@IGORABADE) MICROSOFT MVP, VISUAL STUDIO ALM LAMBDA3 (WWW.LAMBDA3.COM.BR)
  • 2.
    Desde 2006 • VisualStudio Team System • Visual Studio ALM @igorabade www.tshooter.com.br Desde 2010 • Consultoria • Desenvolvimento • Treinamento Democracia Organizacional
  • 5.
    Corporações podem tirarproveito? “Continuous Delivery é coisa de startup”
  • 6.
    Empresas são resistentesà mudança “Sempre funcionou desse jeito”
  • 7.
    Todo mundo morrede medo Raramente funciona de primeira
  • 8.
    Empresas tentam “instalar”Agile E se começarmos por DevOps?
  • 9.
    MonitoreImplemente Productbacklog OPS backlog Softwareem produção Requisitos Perdade foco Qualidade é uma fase Passagem de bastão entre desenv e testes Integração de times multiplataforma Expectativa dos usuários não atendidas Requisitos de produção não atendidos/estabelecidos Dificuldade para identificar causas raiz em incidentes de produção Ferramentas e processos distintos Usuários/ Stakeholders Operações Desenv & Teste Feedback não gera ação para desenvolvimento Requisitos não compreendidos Prioridades conflitantes Começando por DevOps
  • 10.
    “DevOps é acolaboração Entre Desenvolvimento e Infra (Ops)” “DevOps é tratar sua Infraestrutura como código” “DevOps é usar automação” “Kanban para Ops?” “DevOps é usar feature switches” “DevOps é fazer pequenas implantações”
  • 13.
    Construa (Build) Aprenda (Learn) Meça(Measure) MonitoreImplemente Productbacklog OPS backlog Softwareem produção Requisitos Perda de foco Qualidade é uma fase Passagem de bastão entre desenv e testes Integração de times multiplataforma Expectativa dos usuários não atendidas Requisitos de produção não atendidos/estabelecidos Dificuldade para identificar causas raiz em incidentes de produção Ferramentas e processos distintos Usuários/ Stakeholders Operações Desenv & Teste Feedback não gera ação para desenvolvimento Requisitos não compreendidos Prioridades conflitantes Build-Measure-Learn + DevOps
  • 14.
  • 15.
  • 16.
    Processo manual Alguém aídisse “desastre”?
  • 17.
    Automação de Build Git+ Pull Requests Nuget
  • 18.
  • 19.
    Implantações são caras Perdasde janela são inaceitáveis
  • 20.
    Implantação Contínua Crie umprocesso de implantação unificado que atende a todos os ambientes. Dispare implantações em ambientes específicos a partir de builds automatizados. Visibilidade para o pipeline Veja liberações e problemas de uma aplicação num só lugar. Monitore o progresso de cada liberação. Liberações Consistentes Flexibilidade para definir aprovações para cada etapa da liberação. Defina o fluxo de trabalho de liberação e suas atividades para cada uma de suas aplicações. PowerShell DSC Infrastructure as Code Ative a implantação contínua Identifique problemas e padrões em suas liberações Verifique o status de suas liberações Controle granular sobre todo o processo de liberação Totalmente integrado ao build automatizado Use ações pré-definidas ou crie as suas Defina, por ambiente, o workflow de liberação e as atividades Dispare ações baseadas nas aprovações Maneira simples de solicitar e responder a aprovações
  • 21.
  • 22.
    Aplicações estão sujeitas afalhas Usuário é o primeiro a perceber
  • 23.
    Telemetria é coletadaem cada camada: aplicações móveis, aplicações de servidor e browser Telemetria chega ao serviço do Application Insights onde ele é processado e armazenado Visão 360° da aplicação cobrindo disponibilidade, desempenho e utilização Application Insights
  • 28.
    Application Insights Identifique problemas e padrõesem sua plataforma e na aplicação em produção Cheque o pulso de sua plataforma e aplicação Monte um dashboard de sua plataforma e aplicação com as métricas que lhe interessam
  • 29.
    “Insanidade: fazer amesma coisa sempre e esperar resultados diferentes.” - Albert Einstein
  • 30.