<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-br">
		<id>http://wiki.mstech.com.br/index.php?action=history&amp;feed=atom&amp;title=Trilha_DevOps_.NET</id>
		<title>Trilha DevOps .NET - Histórico de revisão</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mstech.com.br/index.php?action=history&amp;feed=atom&amp;title=Trilha_DevOps_.NET"/>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Trilha_DevOps_.NET&amp;action=history"/>
		<updated>2026-05-08T02:34:00Z</updated>
		<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Trilha_DevOps_.NET&amp;diff=1543&amp;oldid=prev</id>
		<title>Daniel.alves: Criou página com 'No TDS 2016 a organização optou por dividir a trilha de DevOps em .NET e Java, porém a ideia é realizar um evento conjunto nos próximos anos. A ideia de um DevOps voltado...'</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Trilha_DevOps_.NET&amp;diff=1543&amp;oldid=prev"/>
				<updated>2016-07-18T20:34:15Z</updated>
		
		<summary type="html">&lt;p&gt;Criou página com &amp;#039;No TDS 2016 a organização optou por dividir a trilha de DevOps em .NET e Java, porém a ideia é realizar um evento conjunto nos próximos anos. A ideia de um DevOps voltado...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;No TDS 2016 a organização optou por dividir a trilha de DevOps em .NET e Java, porém a ideia é realizar um evento conjunto nos próximos anos.&lt;br /&gt;
A ideia de um DevOps voltado para .NET foi devido a grande procura de pessoas que se utilizam da linguagem e buscam automatizar cada vez mais o seu processo de build, testes e entrega.&lt;br /&gt;
Ao todo foram ministradas 7 palestras, das quais 6 foram muito proveitosas em todos os aspectos. A seguir, uma breve descrição das palestras. Infelizmente não existe nenhum material de apoio (power point, video, etc), pois todos os palestrantes utilizaram-se da prática. por se tratar de DevOps .NET todos os softwares utilizados pelos palestrantes são majoritários da Microsoft®.&lt;br /&gt;
&lt;br /&gt;
== Palestra 1 e 2 ==&lt;br /&gt;
&lt;br /&gt;
As duas primeiras palestras foram realizadas pelo mesmo grupo, portanto foram unidas.&lt;br /&gt;
O intuito desta palestra era simular uma implantação de CI (Continuous Integration) e CD (Continuous Delivery) em um cliente fictício, o qual fez as seguintes solicitações:&lt;br /&gt;
* Organizar o código fonte&lt;br /&gt;
* Gerenciar times remotos (uma nova filial na Costa Rica)&lt;br /&gt;
* Build vai desde o empacotar o software até indicadores de engenharia &lt;br /&gt;
* Criar dois builds, um para CI e um para CD&lt;br /&gt;
&lt;br /&gt;
Para atender as solicitações do cliente, os palestrantes usaram o TFS2015, o VS2015 e o TSVS.&lt;br /&gt;
&lt;br /&gt;
Para organizar o código fonte foi utilizado o TFS com o GIT, desta forma, além de organizar o código fonte o gerenciamento dos times remotos também era alcançado.&lt;br /&gt;
Além disso, definiu-se as etapas de execução para o build fosse integrado, de forma que em nenhum momento houvesse intervenção humana no processo. Assim, o processo de build foi dividido em duas etapas:&lt;br /&gt;
* CI (Continuous Integration); e&lt;br /&gt;
* CD (Continuous Delivery) - Tratado na Palestra 3.&lt;br /&gt;
&lt;br /&gt;
O processo de CI não deve demorar mais do que 5 minutos de tempo de execução além de contemplar os seguintes passos:&lt;br /&gt;
- Executa o ''code review'';&lt;br /&gt;
- Compilar a aplicação; e&lt;br /&gt;
- Executar os testes unitários;&lt;br /&gt;
O CI é executado TODA vez que um ''commit'' é realizado no repositório, a fim de validar se as alterações realizadas no projeto não comprometeram a integridade do mesmo, motivo pelo qual deve ser um processo rápido.&lt;br /&gt;
&lt;br /&gt;
Para apoiar a atividade de build, alguns softwares foram mencionados, tais como:&lt;br /&gt;
- Sonarqube; e&lt;br /&gt;
- Ndepend&lt;br /&gt;
&lt;br /&gt;
O SOnarqube é um dos plugins mais utilizados para a varredura de código, e uma das métricas mais interessantes é a &amp;quot;débito técnico&amp;quot;, que é a fórmula interna do sonar que analisa o código e gera o gap entre o número de issues e o tempo para corrigi-los, quanto maior este número, mais difícil corrigir o código.&lt;br /&gt;
&lt;br /&gt;
== Palestra 3 ==&lt;br /&gt;
&lt;br /&gt;
Build Noturno&lt;br /&gt;
O processo de CD, mais conhecido como &amp;quot;Build Noturno&amp;quot;, é um processo mais lento e, como o próprio nome já diz, deve ser executado fora de horário de expediente. Este processo deve ser executado diariamente, ou em casos específicos por necessidade, no Release apenas, pois é o entregável.&lt;br /&gt;
&lt;br /&gt;
O processo de &amp;quot;Build Noturno&amp;quot; contempla os seguintes passos:&lt;br /&gt;
- Executa o ''code review'';&lt;br /&gt;
- Compilar a aplicação;&lt;br /&gt;
- Executar os testes unitários;&lt;br /&gt;
- Publica o site e o banco de dados em um &amp;quot;novo&amp;quot; ambiente. Este processo é executado para evitar que o sistema antigo seja sobrescrito e para não atrapalhar os testes exploratórios que por ventura estejam em execução. O servidor é o mesmo, porém o site e banco são novos, utilizando como nome final o número do build gerado;&lt;br /&gt;
- Executa os ''loads tests'' na aplicação;&lt;br /&gt;
- Executa os testes funcionais;&lt;br /&gt;
- Fecha o pacote do produto para um entregável;&lt;br /&gt;
Caso algum passo falhe, o processo é abortado.&lt;br /&gt;
&lt;br /&gt;
Durante a palestra, foi mencionado à respeito dos arquivos PDB que são gerados durante a compilação dos projetos. A grande maioria das empresas descarta estes arquivos, porém, eles são muito importantes pois eles guardam todos os endereçamentos que foram usados na compilação das dll's e podem ser usados no ''stacktrace'' de um ''dump'' de memória do ''IIS''.&lt;br /&gt;
&lt;br /&gt;
Nesta palestra, amsi algumas ferramentas de testes foram mencionadas:&lt;br /&gt;
- Selenium (ferramenta de teste funcionais); e&lt;br /&gt;
- Azure Dev teste Lab;&lt;br /&gt;
&lt;br /&gt;
== Palestra 4 ==&lt;br /&gt;
&lt;br /&gt;
Plugins para VSTS.&lt;br /&gt;
A palestra 4 apenas corroborou com as anteriores, na questão de como o Build deve ser estruturado, mantido e utilizado. A novidade foi mostrar os Plugins disponíveis para o VSTS, como podemos escrever nossos próprios Plugins para a ferramenta e publica-los na loja do VSTS da Microsoft®.&lt;br /&gt;
Ao que tudo indica, a Microsoft® está deixando de manter o TFS On-premise e está investindo em sua plataforma online, basta ver a distância entre as atualizações, que para a ferramenta online são de 15 em 15 dias e para a plataforma On-premise a cada 6 meses aproximadamente.&lt;br /&gt;
&lt;br /&gt;
Na visão do palestrante, DevOps é a união de três fatores:&lt;br /&gt;
* Colaboração&lt;br /&gt;
* Automação&lt;br /&gt;
* Feedback&lt;br /&gt;
E envolve:&lt;br /&gt;
* Pessoas&lt;br /&gt;
* Processos&lt;br /&gt;
* Ferramentas Flexíveis&lt;br /&gt;
** Configuração/Customização&lt;br /&gt;
** Extensão&lt;br /&gt;
** Integração&lt;br /&gt;
&lt;br /&gt;
== Palestra 5 ==&lt;br /&gt;
&lt;br /&gt;
Integração com a AWS.&lt;br /&gt;
O palestrante abordou a integração do TFS com a AWS (no modelo IaaS) para o ''deploy'' automático dos sistemas. Todo o processo é feito pela próprio TFS com auxílio do Plugin da AWS para o mesmo. Vale salientar que a AWS disponibiliza um ''help'' vasto sobre a sua ferramenta de integração via linha de comando, que permite realizar diversas atividades na nuvem.&lt;br /&gt;
&lt;br /&gt;
== Palestra 6 ==&lt;br /&gt;
&lt;br /&gt;
DevOps e DSC.&lt;br /&gt;
Para quem nunca ouviu falar, DSC é o acrônimo de ''Desired State Configuration'', ou seja, Estado Desejado de Configuração. Nada mais é que um powershell específico para a orquestração de máquinas virtuais, onde, por meio de um script DSC é possível verificar se as configurações de uma determinada máquina atendem as necessidades, caso não atendem, o script executa a instalação das mesmas, deixando a máquina em questão com a configuração desejada.&lt;br /&gt;
O DSC é uma linguagem declarativa, e não imperativa.&lt;br /&gt;
&lt;br /&gt;
Um sistema conhecido no mercado é o Puppet, que tem como finalidade a orquestração de ambientes de forma automática.&lt;br /&gt;
&lt;br /&gt;
== Palestra 7 ==&lt;br /&gt;
&lt;br /&gt;
Google Play CD.&lt;br /&gt;
Nesta palestra, o apresentador mostrou como é feita a publicação na loja da Google de um aplicativo automaticamente. Para tanto ele utilizou apenas o VSTS.&lt;br /&gt;
No exemplo, foi levado um aplicativo simples desenvolvido para Android utilizando o VSTS. O aplicativo possuía uma caixa de texto que copiava o conteúdo digitado para outra combo e um botão que limpava todo o conteúdo.&lt;br /&gt;
No sistema de CD criado pelo apresentador, o aplicativo tem seu build solicitado e automaticamente envia o resultado para uma loja local, mantida por um sistema que simula a Google Play.&lt;br /&gt;
&lt;br /&gt;
Caso ninguém reclama dentro de um período de 2 dias, o aplicativo é promovido automaticamente para a loja Alpha da Google Play. Caso em 3 dias nenhum usuário habilitado para testes Alpha reclame da APK enviada, o aplicativo é promivido automaticamente para a loja Beta da Google Play. E, novamente, após 3 dias, caso não haja reclamações é promovido automaticamente para Produção.&lt;br /&gt;
&lt;br /&gt;
Vale ressaltar que todos os passos foram construídos utilizando a ferramenta VSTS.&lt;br /&gt;
&lt;br /&gt;
Um ponto interessante é que eles não utilizam nenhum smartphone para testar as aplicações. Existe uma empresa que oferece o serviço de locação de aparelhos, onde o teste é realizado em aparelhos físicos, e pode-se escolher a quantidade, modelo e SO a ser utilizado. porém, como tem um custo elevado, geralmente escolhe-se apenas os 10 mais famosos. Porém, é uma forma de se testar em diversas plataformas e não existe a necessidade de mater na empresa uma quantidade de aparelhos para isso. Vale lembrar que todos esses testes devem ser automatizados, pois não existe interação humana com os aparelhos.&lt;br /&gt;
&lt;br /&gt;
== Palestra 8 ==&lt;br /&gt;
&lt;br /&gt;
Última palestra. DevOps, onde erramos?&lt;br /&gt;
&lt;br /&gt;
Porque o DevOps não está dando certo?&lt;br /&gt;
* Parte da Mentalidade&lt;br /&gt;
&lt;br /&gt;
Tudo começa no Manifesto do Desenvolvimento Ágil de Software!&lt;br /&gt;
O segredo está na forma como pensamos e tratamos com pessoas, afinal, o processo de DevOps envolve pessoas.&lt;br /&gt;
- Medo das coisas funcionarem sem a nossa presença.&lt;br /&gt;
- precisa engajar as pessoas no processo de DevOps, fazer elas se sentirem parte do processo, e não algo que elas recebem pronto.&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;Nosso trabalho é habilitar o negócio para a mudança, reduzindo os riscos através de ferramentas e de uma mentalidade mais empreendedora&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
O Software é feito por pessoas para pessoas! Isso é muito importante!&lt;br /&gt;
&lt;br /&gt;
O que eu preciso fazer para entregar valor primeiro? pois assim, conseguimos convencer as pessoas da mudança.....&lt;br /&gt;
* monte um passo a passo do que é preciso para iniciar o processo automático, e vá engajando as pessoas necessários com o tempo.&lt;br /&gt;
&lt;br /&gt;
Responder as perguntas:&lt;br /&gt;
- Qual é a situação ou problema que mais te atrapalha em ser ágil no seu dia-adia?&lt;br /&gt;
- Como você pode engajar pessoas para apoiar sua iniciativa e obter mais confiança?&lt;/div&gt;</summary>
		<author><name>Daniel.alves</name></author>	</entry>

	</feed>