SlideShare uma empresa Scribd logo
1 de 46
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

Mais conteúdo relacionado

Mais procurados

Integração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoIntegração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoMario Mendonça
 
Novidades sobre Testes de Unidade com Visual Studio 2012
Novidades sobre Testes de Unidade com Visual Studio 2012Novidades sobre Testes de Unidade com Visual Studio 2012
Novidades sobre Testes de Unidade com Visual Studio 2012André Dias
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...Janynne Gomes
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareEduardo Santos
 
Desenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalDesenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalRuan Carvalho
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareRobson Silva Espig
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous deliveryMarco Valtas
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareRobson Silva Espig
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppCloves da Rocha
 
Da Integração à Entrega Contínua
Da Integração à Entrega ContínuaDa Integração à Entrega Contínua
Da Integração à Entrega ContínuaMarlon Bernardes
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentaçãoerysonsi
 
Eng de soft. ciclo de vida PARTE(2)
Eng de soft. ciclo de vida PARTE(2)Eng de soft. ciclo de vida PARTE(2)
Eng de soft. ciclo de vida PARTE(2)AnthonnyDayvson
 

Mais procurados (20)

QA Ninja Conference 2016
QA Ninja Conference 2016QA Ninja Conference 2016
QA Ninja Conference 2016
 
Integração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoIntegração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimento
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
Novidades sobre Testes de Unidade com Visual Studio 2012
Novidades sobre Testes de Unidade com Visual Studio 2012Novidades sobre Testes de Unidade com Visual Studio 2012
Novidades sobre Testes de Unidade com Visual Studio 2012
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de Software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Desenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalDesenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-Incremental
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De Software
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
Aula2 paradigmas
Aula2 paradigmasAula2 paradigmas
Aula2 paradigmas
 
Modelo V
Modelo VModelo V
Modelo V
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
 
Da Integração à Entrega Contínua
Da Integração à Entrega ContínuaDa Integração à Entrega Contínua
Da Integração à Entrega Contínua
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
Eng de soft. ciclo de vida PARTE(2)
Eng de soft. ciclo de vida PARTE(2)Eng de soft. ciclo de vida PARTE(2)
Eng de soft. ciclo de vida PARTE(2)
 

Destaque

Notes From the Field Build Automation
Notes From the Field   Build AutomationNotes From the Field   Build Automation
Notes From the Field Build AutomationAndré Dias
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaFernando Boaglio
 
Hotspot de Integração Contínua na DBServer
Hotspot de Integração Contínua na DBServerHotspot de Integração Contínua na DBServer
Hotspot de Integração Contínua na DBServerLeonardo Cassuriaga Lima
 
Jenkins e a Integração Contínua
Jenkins e a Integração ContínuaJenkins e a Integração Contínua
Jenkins e a Integração ContínuaDenis Vieira
 
Gerenciando o desenvolvimento multiplataforma em uma fábrica de software util...
Gerenciando o desenvolvimento multiplataforma em uma fábrica de software util...Gerenciando o desenvolvimento multiplataforma em uma fábrica de software util...
Gerenciando o desenvolvimento multiplataforma em uma fábrica de software util...José Freire Neto
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)Visug
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Igor Abade
 

Destaque (9)

WTM - Entrega Contínua
WTM - Entrega ContínuaWTM - Entrega Contínua
WTM - Entrega Contínua
 
Notes From the Field Build Automation
Notes From the Field   Build AutomationNotes From the Field   Build Automation
Notes From the Field Build Automation
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do Java
 
Hotspot de Integração Contínua na DBServer
Hotspot de Integração Contínua na DBServerHotspot de Integração Contínua na DBServer
Hotspot de Integração Contínua na DBServer
 
Jenkins e a Integração Contínua
Jenkins e a Integração ContínuaJenkins e a Integração Contínua
Jenkins e a Integração Contínua
 
ALM End-to-End
ALM End-to-EndALM End-to-End
ALM End-to-End
 
Gerenciando o desenvolvimento multiplataforma em uma fábrica de software util...
Gerenciando o desenvolvimento multiplataforma em uma fábrica de software util...Gerenciando o desenvolvimento multiplataforma em uma fábrica de software util...
Gerenciando o desenvolvimento multiplataforma em uma fábrica de software util...
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
 

Semelhante a Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft

Ciclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a pontaCiclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a pontaRodrigo Kono
 
Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Igor Abade
 
Application Insights
Application InsightsApplication Insights
Application InsightsCDS
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Renato Groff
 
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Gustavo Malheiros
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = ProdutividadeAdriano Bertucci
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de softwareFelipe Oliveira
 
Mocking Test - GDG-SP - Setembro/2016
Mocking Test - GDG-SP - Setembro/2016Mocking Test - GDG-SP - Setembro/2016
Mocking Test - GDG-SP - Setembro/2016Renato Groff
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaAmazon Web Services LATAM
 
Organizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation serverOrganizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation serverVinicius Moura
 
Test-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayTest-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayRenato Groff
 
Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)elliando dias
 
[DevOps Summit Brasil] Procura-se: DevOps!
[DevOps Summit Brasil] Procura-se: DevOps![DevOps Summit Brasil] Procura-se: DevOps!
[DevOps Summit Brasil] Procura-se: DevOps!Camilla Gomes
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Rodrigo Kono
 

Semelhante a Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft (20)

Ciclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a pontaCiclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a ponta
 
ES4.ppt
ES4.pptES4.ppt
ES4.ppt
 
Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...
 
Alm e share point
Alm e share pointAlm e share point
Alm e share point
 
Application Insights
Application InsightsApplication Insights
Application Insights
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017
 
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = Produtividade
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de software
 
Mocking Test - GDG-SP - Setembro/2016
Mocking Test - GDG-SP - Setembro/2016Mocking Test - GDG-SP - Setembro/2016
Mocking Test - GDG-SP - Setembro/2016
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 
Organizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation serverOrganizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation server
 
Test-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayTest-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding Day
 
Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
[DevOps Summit Brasil] Procura-se: DevOps!
[DevOps Summit Brasil] Procura-se: DevOps![DevOps Summit Brasil] Procura-se: DevOps!
[DevOps Summit Brasil] Procura-se: DevOps!
 
Tees Final
Tees FinalTees Final
Tees Final
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 

Mais de Igor Abade

Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)Igor Abade
 
DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?Igor Abade
 
Serverless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureServerless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureIgor Abade
 
Chega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoChega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoIgor Abade
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no AzureIgor Abade
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao HabitatIgor Abade
 
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeAcelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeIgor Abade
 
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSProvisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSIgor Abade
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Igor Abade
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreIgor Abade
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosIgor Abade
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Igor Abade
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellIgor Abade
 
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Igor Abade
 
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Igor Abade
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Igor Abade
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Igor Abade
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Igor Abade
 
Dilemas de um Desenvolvedor .NET na Terra do PowerShell
Dilemas de um Desenvolvedor .NET na Terra do PowerShellDilemas de um Desenvolvedor .NET na Terra do PowerShell
Dilemas de um Desenvolvedor .NET na Terra do PowerShellIgor Abade
 
Monitorando aplicações usando Application Insights
Monitorando aplicações usando Application InsightsMonitorando aplicações usando Application Insights
Monitorando aplicações usando Application InsightsIgor Abade
 

Mais de Igor Abade (20)

Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
 
DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?
 
Serverless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureServerless Computing no Microsoft Azure
Serverless Computing no Microsoft Azure
 
Chega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoChega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como código
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no Azure
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao Habitat
 
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeAcelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
 
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSProvisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
 
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
 
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
 
Dilemas de um Desenvolvedor .NET na Terra do PowerShell
Dilemas de um Desenvolvedor .NET na Terra do PowerShellDilemas de um Desenvolvedor .NET na Terra do PowerShell
Dilemas de um Desenvolvedor .NET na Terra do PowerShell
 
Monitorando aplicações usando Application Insights
Monitorando aplicações usando Application InsightsMonitorando aplicações usando Application Insights
Monitorando aplicações usando Application Insights
 

Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft

  • 1. Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft IGOR ABADE V. LEITE (@IGORABADE) MICROSOFT MVP, VISUAL STUDIO ALM LAMBDA3 (WWW.LAMBDA3.COM.BR)
  • 2. Desde 2006 • Visual Studio Team System • Visual Studio ALM @igorabade www.tshooter.com.br Desde 2010 • Consultoria • Desenvolvimento • Treinamento Democracia Organizacional
  • 3.
  • 4. Microsoft + Preconceito – sério?  “Continuous Delivery é coisa de startup”
  • 5. Empresas são resistentes à mudança “Sempre funcionou desse jeito”
  • 6. Todo mundo morre de medo Raramente funciona de primeira
  • 7. Empresas são resistentes à mudança “Sempre funcionou desse jeito”
  • 8. 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)
  • 9. “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”
  • 10.
  • 11. “Insanidade: fazer a mesma coisa sempre e esperar resultados diferentes.” - Albert Einstein
  • 12.
  • 13. 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!
  • 17. Processo manual Alguém aí disse “desastre”?
  • 18. Automação de Build Git + Pull Requests Nuget
  • 19. Demo
  • 22. Implantações são caras Perdas de janela são inaceitáveis
  • 23. 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…
  • 25. TFS Drop Location RM DesktopRM Web QA DEV RM Server
  • 26. TFS Drop Location RM DesktopRM Web QA DEV RM Server
  • 27. 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
  • 28.
  • 29. 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
  • 30. Demo
  • 33. Aplicações estão sujeitas a falhas Usuário é o primeiro a perceber
  • 34. 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
  • 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
  • 36.
  • 37. 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
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. 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
  • 44. Demo
  • 45. Develop Build Test Deploy Environments Monitor and Learn Processes Em resumo Dev/Test Production/Stage
  • 46. Q&A