Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft

46
Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft IGOR ABADE V. LEITE (@IGORABADE) MICROSOFT MVP, VISUAL STUDIO ALM LAMBDA3 (WWW.LAMBDA3.COM.BR)

Transcript of Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft

Quebrando preconceitos:

Continuous Delivery na Plataforma MicrosoftIGOR 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

Product backlog

OPS backlog

Software em 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çãoEntre Desenvolvimento e Infra (Ops)”

“DevOps é tratar suaInfraestrutura como

código”

“DevOps é usar automação”

“Kanban para Ops?”

“DevOps é usarfeature switches”

“DevOps é fazerpequenas 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

Product backlog

OPS backlog

Software em 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ãoinaceitáveis

Automatiza a implantação da mesma maneira para todas as etapas

Automatiza o fluxo de trabalho com rastreabilidade

Implantação ContínuaAutomatiza o processo de implantação

Simplifica a gestão de múltiplos ambientes

Analytics e Reporting para implantações

Automação de ReleasesReduz erros humanos no processo de implantação

Fluxo de AprovaçãoControle do fluxo de aprovação, integrado ao TFS

Agent-based e AgentlessDiversos modelos de implantação

Cross-platformImplantaçã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

AssumedState

Começa com a descrição de umambiente-alvo

Executa uma sériede ações

DesiredState

Termina no estadodesejado (com sorte!)

Envia umadescrição doestado desejado

DSC atinge o estadodesejadoGet.Test.Set

DSC Resources

TFS

Config as Code

Galeriade

Recursos

Implantação ContínuaCrie um processo de implantação unificado que atendea todos os ambientes.

Dispare implantações em ambientes específicos a partirde builds automatizados.

Visibilidade para o pipelineVeja liberações e problemas de uma aplicação num sólugar.

Monitore o progresso de cada liberação.

Liberações ConsistentesDefina quais grupos podem criar, editar ou visualizartemplates de liberação.

Flexibilidade para definer aprovações para cada etapada liberação.

Defina o fluxo de trabalho de liberação e suasatividades para cada uma de suas aplicações.

PowerShell DSC: Infrastructure as Code

Ative a implantaçãocontínua

Identifique problemas e padrõesem suas liberações

Verifique o statusde suas liberações

Controle granular sobretodo o processo de liberação

Totalmente integrado aobuild automatizado do TFS

Use ações pré-definidasou crie as suas

Defina, por ambiente, o workflow de liberação e as atividades

Dispare ações baseadasnas aprovações

Maneira simples de solicitar e responder a aprovações

Demo

Meça e Aprenda

Desafio

Aplicações estão sujeitasa falhas

Usuário é o primeiro a perceber

Respondendo a problemas de desempenho

Exper. usuário esperada

Impacto na exper. usuário

Remediaçãoautomática

Registro do conhecimento

Desenvolvedores

Rede

Infraestrutura

Alerta é disparado e incidente é registrado

Resolve incidente e fechaalerta

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

Identifiqueproblemas e padrões em suaplataforma ena aplicação em produção

Cheque o pulso de suaplataforma e aplicação

Monte um dashboard de sua plataforma e aplicaçãocom as métricas que lheinteressam

Demo

Develop Build

Test

Deploy Environments Monitor and Learn

Processes

Em resumo

Dev/Test

Production/Stage

Q&A