Quebrando preconceitos:
Continuous Delivery na
Plataforma Microsoft
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
Microsoft + Preconceito – sério? 
“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 são resistentes à mudança
“Sempre funcionou desse jeito”
Defina e Planeje
Desenvolva
Meça e Aprenda
Opere
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
Application Lifecycle Management (ALM)
“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”
“Insanidade: fazer a mesma coisa
sempre e esperar resultados diferentes.”
- Albert Einstein
Defina e Planeje
Desenvolva
Meça e Aprenda
Implante e Opere
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
Vamos falar de Continuous Delivery!
Desenvolva
Desafio
Frigideira ou fogueira?
Receita para o desastre!
Processo manual
Alguém aí disse “desastre”?
Automação de Build
Git + Pull Requests
Nuget
Demo
Implante e Opere
Desafio
Implantações são caras
Perdas de janela são
inaceitáveis
Automatiza a implantação da mesma maneira para
todas as etapas
Automatiza o fluxo de trabalho com rastreabilidade
Implantação Contínua
Automatiza o processo de implantação
Simplifica a gestão de múltiplos ambientes
Analytics e Reporting para implantações
Automação de Releases
Reduz erros humanos no processo de implantação
Fluxo de Aprovação
Controle do fluxo de aprovação, integrado ao TFS
Agent-based e Agentless
Diversos modelos de implantação
Cross-platform
Implantação em Windows, Linux…
Public CloudPrivate Cloud
TFS Drop Location
RM DesktopRM Web
QA
DEV
RM Server
TFS Drop Location
RM DesktopRM Web
QA
DEV
RM Server
Assumed
State
Começa com a
descrição de um
ambiente-alvo
Executa uma série
de ações
Desired
State
Termina no estado
desejado (com sorte!)
Envia uma
descrição do
estado desejado
DSC atinge o estado
desejado
Get.Test.Set
DSC Resources
TFS
Config as Code
Galeria
de
Recursos
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
Defina quais grupos podem criar, editar ou visualizar
templates de liberação.
Flexibilidade para definer 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 do
TFS
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
Demo
Meça e Aprenda
Desafio
Aplicações estão sujeitas
a falhas
Usuário é o primeiro a
perceber
Respondendo a problemas de
desempenho
Exper. usuário esperada
Impacto na exper. usuário
Remediação
automática
Registro do
conhecimento
Desenvolvedores
Rede
Infraestrutura
Alerta é disparado e
incidente é registrado
Resolve incidente e fecha
alerta
System Center Operations
Manager (SCOM)
Application Insights
Produto Serviço
On-premises Azure
Infraestrutura + Apps Apenas Apps
Apenas Outside-in Outside-in e Inside-Out
1. Telemetry is collected at each
tier: Mobile applications, server
applications and browser
2. Telemetry arrives to
Application Insights service
where it is processed & stored
3. Get 360° view of the
application covering availability,
performance & usage
Application
Insights
System Center Operations Mgr
Application Insights
Alertas de incidentes em
produção
Alertas automáticos com
informação contextual
relevante
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
Demo
Develop Build
Test
Deploy Environments Monitor and Learn
Processes
Em resumo
Dev/Test
Production/Stage
Q&A

Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft

  • 1.
    Quebrando preconceitos: Continuous Deliveryna Plataforma Microsoft 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
  • 4.
    Microsoft + Preconceito– sério?  “Continuous Delivery é coisa de startup”
  • 5.
    Empresas são resistentesà mudança “Sempre funcionou desse jeito”
  • 6.
    Todo mundo morrede medo Raramente funciona de primeira
  • 7.
    Empresas são resistentesà mudança “Sempre funcionou desse jeito”
  • 8.
    Defina e Planeje Desenvolva Meçae Aprenda Opere 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 Application Lifecycle Management (ALM)
  • 9.
    “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”
  • 11.
    “Insanidade: fazer amesma coisa sempre e esperar resultados diferentes.” - Albert Einstein
  • 13.
    Defina e Planeje Desenvolva Meçae Aprenda Implante e Opere 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 Vamos falar de Continuous Delivery!
  • 14.
  • 15.
  • 16.
  • 17.
    Processo manual Alguém aídisse “desastre”?
  • 18.
    Automação de Build Git+ Pull Requests Nuget
  • 19.
  • 20.
  • 21.
  • 22.
    Implantações são caras Perdasde janela são inaceitáveis
  • 23.
    Automatiza a implantaçãoda mesma maneira para todas as etapas Automatiza o fluxo de trabalho com rastreabilidade Implantação Contínua Automatiza o processo de implantação Simplifica a gestão de múltiplos ambientes Analytics e Reporting para implantações Automação de Releases Reduz erros humanos no processo de implantação Fluxo de Aprovação Controle do fluxo de aprovação, integrado ao TFS Agent-based e Agentless Diversos modelos de implantação Cross-platform Implantação em Windows, Linux…
  • 24.
  • 25.
    TFS Drop Location RMDesktopRM Web QA DEV RM Server
  • 26.
    TFS Drop Location RMDesktopRM Web QA DEV RM Server
  • 27.
    Assumed State Começa com a descriçãode um ambiente-alvo Executa uma série de ações Desired State Termina no estado desejado (com sorte!) Envia uma descrição do estado desejado DSC atinge o estado desejado Get.Test.Set DSC Resources TFS Config as Code Galeria de Recursos
  • 29.
    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 Defina quais grupos podem criar, editar ou visualizar templates de liberação. Flexibilidade para definer 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 do TFS 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
  • 30.
  • 31.
  • 32.
  • 33.
    Aplicações estão sujeitas afalhas Usuário é o primeiro a perceber
  • 34.
    Respondendo a problemasde desempenho Exper. usuário esperada Impacto na exper. usuário Remediação automática Registro do conhecimento Desenvolvedores Rede Infraestrutura Alerta é disparado e incidente é registrado Resolve incidente e fecha alerta
  • 35.
    System Center Operations Manager(SCOM) Application Insights Produto Serviço On-premises Azure Infraestrutura + Apps Apenas Apps Apenas Outside-in Outside-in e Inside-Out
  • 37.
    1. Telemetry iscollected at each tier: Mobile applications, server applications and browser 2. Telemetry arrives to Application Insights service where it is processed & stored 3. Get 360° view of the application covering availability, performance & usage Application Insights
  • 43.
    System Center OperationsMgr Application Insights Alertas de incidentes em produção Alertas automáticos com informação contextual relevante 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
  • 44.
  • 45.
    Develop Build Test Deploy EnvironmentsMonitor and Learn Processes Em resumo Dev/Test Production/Stage
  • 46.