DevOps – Configurando Backup/Restore (DR) do Team Foundation Server, SharePoint Server, Reporting Server e Release Management em um ambiente onpremise de DevOps 1/2

Configurando Backup/Restore do Team Foundation Server 1/2

– Pré-Requisitos

Diretório compartilhado na rede com permissão para o usuário que estará executando o serviço Visual Studio Team Foundation Background Job Agent. Qualquer erro acesse esse link.

Serviço do MSSQL Server sendo executado com uma conta NETWORK SERVICE ou uma conta de domínio;

clip_image002 Continuar lendo

ALM – DevOps – Powershell DSC – Release Management

Saiu um novo módulo do Powershell DSC  para o Release Management, disponibilizado pelo time de Powershell da Microsoft.

image

O módulo xReleaseManagement é um conjunto de recursos de DSC que se estendem de Gerenciamento de Liberação para o Visual Studio.

Este módulo inclui atualmente um recurso DSC para transformar arquivos com base em um arquivo de token para uso com o Gerenciamento de Liberação para o Visual Studio.

Para conhecer mais sobre o Powershell DSC, pesquise nesse Blog!

O que é DevOps?

Introdução

Fonte: Wikipédia

DevOps (amálgama de Desenvolvedor e Operador) é uma metodologia de desenvolvimento de software que explora a comunicação, colaboração e integração entre desenvolvedores de software e profissionais de TI (Tecnologia da Informação). DevOps é a reação à interdependência entre desenvolvimento de software e operações de TI. Pretende ajudar organizações a produzir software e serviços rapidamente.

Empresas que liberam novas versões de software frequentemente podem precisar das considerações ou orientações de um DevOps. Os DevOps auxiliam empresas no gerenciamento de lançamento de novas versões, ao padronizar ambientes de desenvolvimento. Eventos podem ser acompanhados com maior facilidade, assim como o controle de processos documentados e emissão de relatórios granulares. Empresas com problemas no processo de liberação/implementação de novas versões, normalmente possuem automação, mas querem maior flexibilidade para gerenciar e conduzir esse processo – sem precisar editar tudo na linha de comando. Idealmente, essa automação deve ser disparada por recursos não operacionais, em ambientes específicos que não estejam “em produção”. O desenvolvedor ganha maior controle sobre o ambiente, e a infraestrutura maior entendimento sobre os aplicativos.
Processos simples se tornam claramente articuláveis, o DevOps simplifica processos. O objetivo é automatizar a maior quantidade possível de processos operacionais.
Integrações DevOps visam a entrega de produtos, testes de qualidade, desenvolvimento de características e releases de manutenção, de modo a incrementar a confiança e segurança, desenvolvimento rápido e ciclos de desenvolvimento. Muito das ideias (e pessoas) envolvidas com DevOps vieram dos movimentos de Gerenciamento de Sistemas Empresariais e Desenvolvimento ágil de software.

Por Microsoft

As práticas ágeis podem reduzir significativamente os tempos de desenvolvimento, mas manter uma cadência rápida de fornecimento em operações pode ser mais desafiador. Além disso, os processos também devem ser simplificados em outra direção, das operações ao desenvolvimento. É essencial capturar problemas e informações de uso de produção para ajudar a equipe de desenvolvimento a responder rapidamente e a estimular um ciclo de criação-avaliação-aprendizado. O Visual Studio estende o ALM até as operações, facilitando o gerenciamento de liberações e a automação para acelerar a implantação para operações. Ele captura diagnóstico acionável em ambientes operacionais e o fornece aos desenvolvedores, permitindo que eles reproduzam e solucionem problemas de produção. Ao usar a solução de Análise integrada no Visual Studio Online, a equipe de desenvolvimento pode reagir às informações de uso em tempo real diretamente da produção e integrada à solução ALM. O resultado é um ciclo bem-sucedido de criação-avaliação-aprendizagem que aumenta o valor fornecido aos cliente.

Linha de Soluções da Microsoft para DevOps

Release Management: Solução para gerenciamento de lançamento de aplicativos.

System Center: Solução para gerenciamento de ambientes. Maximiza a gestão de laboratórios de testes locais e noMicrosoft Azure, além de possuir ferramentas complementares para análises e monitoramento de aplicativos como oSystem Center Operations Manager e seus Management Pack de gerenciamento, e integrações com o Visual Studio Team Foundation Server, Intellitrace,  abertura automática de incidentes no portal do System Center Service Manager, além de apoio em orquestrações do aplicativo com o System Center Orchestrator.

Powershell DCS: É uma nova plataforma de gestão no Windows PowerShell, que permite a implementação e gerenciamento de dados de configuração de software e serviços de gerenciamento do ambiente. O DSC fornece um conjunto de extensões de linguagem do Windows PowerShell, novos cmdlets do Windows PowerShell, e os recursos que você pode usar para especificar de forma declarativa como você deseja que seu ambiente fique configurado. Ele também fornece um meio para manter e gerenciar as configurações existentes. Por exemplo, se um aplicativo necessita do Internet Information Services em um ambiente, você poderá implantar esse recurso de forma declarativa, usando o Powershell DCS, com poucos comandos.

Applications Insights: O Visual Studio Online Application Insights é um novo serviço baseado em nuvem (atualmente, na versão Preview) que coleta informações detalhadas sobre operações, desempenho e utilização do cliente a partir de aplicativos de servidor e de cliente/dispositivo – estejam eles sendo executados localmente, no Microsoft Azure, em um provedor de nuvem de terceiros ou em uma combinação dos três. Com esta “visão em 360 graus” da disponibilidade, do desempenho e do uso de seus aplicativos e serviços, você pode detectar rapidamente problemas de desempenho e disponibilidade, determinar a causa-raiz e se conectar a uma experiência de diagnóstico avançada no Visual Studio. O Application Insights também fornece informações para o aprimoramento contínuo de seus aplicativos e a priorização de investimentos futuros

ALM – Instalando o Release Management

Entendendo o Release Management

O que é o Release  Management

O Release Management é uma ferramenta parte integrante da solução de Application Lifecycle Management da Microsoft que tem como objetivo dar velocidade e qualidade na implantação de aplicativos em ambientes de testes, homologação e produção. Com o gerenciamento de lançamentos no Visual Studio, você pode configurar, aprovar e implantar seus aplicativos para qualquer ambiente. Crie orquestrações de implantação automatizadas para cada ambiente, independentemente da complexidade da configuração. A entrega de seu software com mais frequência e facilidade para um ambiente permite que seus testadores trabalhem na validação de seu sistema e mantém os participantes envolvidos em fornecer comentários.

O Release Management pode ser dividido em três módulos:

Install Release Management for Visual Studio

– Release Management Server:

Que pode ser em seu ambiente (on-premisses) junto com o Team Foundation Server (Release Management Server for Team Foundation Server) ou na Nuvem com o Visual Studio Online e será o responsável pela orquestração de entrega e monitoramento de liberações.

image

image

– Release Management Client:

Responsável pelo gerenciamento de implantação de seu aplicativo. Pode ser instalado, por exemplo, na estação de seu Gerente de Configuração, Arquiteto de Solução, Analista de Testes, Operador de Implantação, etc. Serão os responsáveis por gerir seu ambiente de implantação.

image

– Agente de Implantação do Release Management:

Devem ser instalados em todos os servidores que fazem parte do ambiente de implantação. Porém com o uso do PowerShell DCS ou o Chef, você implantar o aplicativo sem a necessidade do ambiente ter o agente do Release Management.

Instalando o Release Management

Requisitos

Para o Release Management Server for Team Foundation Server, você deverá possuir:

– Windows Server (2008 R2 ou 2012);

– Internet Information Services

– Framework 3.5

– SQL Server Server Express ou Server (2008, 2012 ou 2014);

– Conta administrativa no servidor para executar o Pool de Aplicativo do Web Service e Web.

Para o Release Management Client, você deverá possuir:

– Windows 7, 8 ou 2012 Server

Para o Release Management (Agente de Implantação) os ambiente deverão ser:

– Windows Vista SP2 com Powershell, Windows 7, 8, 2008, 2012 ou superior.

Maiores informações, clique no link Requisitos para Release Management.

Instaladores

Release Management Server for Team Foundation Server clique aqui.

Release Management Client clique aqui.

Release Management Deploy Agente, clique aqui.

Instalando o Release Management Server para Team Foundation Server

Caso você não use o Release Management no Visual Studio Online, você deverá instalar o Release Management Server for Team Foundation Server.

Execute o instalador em seu Windows Server, e siga os passos.

image

image

image

Depois, execute a configuração de implantação do Release Management, lembrando que você deverá ter uma instancia do SQL Server para configurar o banco de dados, e se desejar, um certificado digital no Internet Information Services para instalar os Web Services e Portal de forma segura.

Valide a conta e instancia que instalará o banco de dados e clique em Apply Settings.

image

image

Depois abra o portal para identificar a instalação feita com sucesso.

image

image

Instalando o Release Management Client para o Visual Studio

Execute o instalador e siga os passos.

image

image

Depois, digite o nome do servidor do Release Management Server e valide a conexão.

image

image

No caso digitei o nome do servidor (TFS) sem usar SSL na porta padrão da instalação (1000) e conectei.

image

Instalando o Release Management Deploy Agent

Com a liberação do Update 3 do Release Management, você decidirá conforme sua necessidade, o uso ou não do Agent do Release Management, pois poderá usar o Powershell DSC ou o Chef no lugar do mesmo.

Execute o instalador, conforme os passos:

image

image

Depois de instalado, configure o agente para comunicar-se com seu Servidor do Release Management.

image

image

Clique em Apply Settings e aguarde a configuração.

image

Pronto, seu ambiente do Release Management está instalado, pronto para ser configurado.

Release Management – Error “The Server Specified…” Error: (403) Forbidden

Sintomas

Após a instalação do Release Management Server for Team Foundation Server, ao tentar conectar-se com o Release Management Client, o seguinte erro aparece na tela:

The Server Specified…”

image_thumb

Ao abrir a aplicação Web, identifica-se o aviso “The website declined to show this webpage” Error 403.

image

Obrigado o Visualizador de Eventos do Servidor com o Release Management Server, observa os eventos:

Event ID 0

Source (Fonte): Release Management Monitor“

“Message: The remote server returned an error: (403) Forbidden.: \r\n\r\n   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)    at Microsoft.TeamFoundation.Release.Data.WebRequest.RestClientResponseRetriever.EndGetAsyncMemoryStreamFromResponse(IAsyncResult asyncResult, IPlatformHttpClient platformHttpClient)”

image

Causa:

Isso ocorre devido a problemas de conexão com a instância do SQL Server.

“Message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server): \r\n\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32”

image

Valide as configurações do seu servidor SQL Server, identificando se as conexões remotas estão configuradas corretamente no SQL Server Configuration Manager do servidor SQL , bem como se seu servidor do Release Management possui acesso ao servidor, pois o instalador do Release Management difere na forma de acesso com o Internet Information Services.

image

image

image

Depois de configurado, execute novamente o Release Management Server.

image

 

image

Tente abrir o site novamente:

image

image

Release Management – Error “The Server Specified…” Event ID 2282– Fonte IIS-W3SVC-WP

Sintomas

Após a instalação do Release Management Server for Team Foundation Server, ao tentar conectar-se com o Release Management Client, o seguinte erro aparece na tela:

The Server Specified…”

image

Ao abrir a aplicação Web, identifica-se o aviso “Service Unavailable” Error 503.

image

Obrigado o Visualizador de Eventos do Servidor com o Release Management Server, observa os eventos:

Event ID 2282

Source (Fonte): IIS-W3SVC-WP

The Module DLL ‘C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\isapi\spnativerequestmodule.dll’ could not be loaded due to a configuration problem. The current configuration only supports loading images built for a x86 processor architecture. The data field contains the error number. To learn more about this issue, including how to troubleshooting this kind of processor architecture mismatch error.

image

Causa:

Isso ocorre devido ao processo do Sharepoint Server não aceitar a executar de uma instancia em 32 Bits, necessaria pelo Release Management Server. Observe que toda vez que se executa a Aplicação Web, o Pool de Aplicativos responsável pelo funcionamento do Release Management entre em estado Interrompido.

image

image

 

image

image

Resolução:

Para resolver, execute pelo CMD o comando abaixo:

“appcmd.exe set config -section:system.webServer/globalModules /[name=’SPNativeRequestModule’].preCondition:integratedMode,bitness64”

image

Em seguida reinicie os serviços do Internet Information Services e tente novamente.

ALM – DevOps – Palestras e Conteúdos

Olá Pessoal,

Hoje separei alguns conteúdos sobre a integração entre Desenvolvimento e Operações chamado também de DevOps para vocês conhecerem mais desse importante conceito e extremamente necessário em nosso dia a dia em desenvolvimento de software!

O que é DevOps?

Wikipedia: DevOps (amálgama de Desenvolvedor e Operador) é uma metodologia de desenvolvimento de software que explora a comunicação, colaboração e integração entre desenvolvedores de software e profissionais de TI (Tecnologia da Informação). DevOps é a reação à interdependência entre desenvolvimento de software e operações de TI. Pretende ajudar organizações a produzir software e serviços rapidamente.

Empresas que liberam novas versões de software frequentemente podem precisar das considerações ou orientações de um DevOps. Os DevOps auxiliam empresas no gerenciamento de lançamento de novas versões, ao padronizar ambientes de desenvolvimento. Eventos podem ser acompanhados com maior facilidade, assim como o controle de processos documentados e emissão de relatórios granulares. Empresas com problemas no processo de liberação/implementação de novas versões, normalmente possuem automação, mas querem maior flexibilidade para gerenciar e conduzir esse processo – sem precisar editar tudo na linha de comando. Idealmente, essa automação deve ser disparada por recursos não operacionais, em ambientes específicos que não estejam “em produção”. O desenvolvedor ganha maior controle sobre o ambiente, e a infraestrutura maior entendimento sobre os aplicativos.

Processos simples se tornam claramente articuláveis, o DevOps simplifica processos. O objetivo é automatizar a maior quantidade possível de processos operacionais.

Integrações DevOps visam a entrega de produtos, testes de qualidade, desenvolvimento de características e releases de manutenção, de modo a incrementar a confiança e segurança, desenvolvimento rápido e ciclos de desenvolvimento. Muito das ideias (e pessoas) envolvidas com DevOps vieram dos movimentos de Gerenciamento de Sistemas Empresariais e Desenvolvimento ágil de software.

Vídeos e Palestras

Microsoft MSTechDay –  DevOps – Isso Existe Mesmo? – Parte 01Palestrante: Danilo Bordini

Microsoft MSTechDay –  DevOps – Isso Existe Mesmo? – Parte 02Palestrantes: Vinicius Apolinário e André Dias

Microsoft Virtual AcademyDevOps and IT Pro Guide

Microsoft Virtual AcademyDevOps – Visual Studio Release Management

Artigos do Technet Wiki

Diversos artigos sobre DevOps usando as ferramentas e processos da Microsoft – Portal Technet Wiki – DevOps

Artigos de Blogs e Blogs sobre DevOps

Afinal de contas, que trem é esse chamado DevOps?Autor: Márcio Sete

O (real) movimento DevOpsAutor: Márcio Sete

Technet Blog DevOpsAutor: Vários

TNWiki Article Spotlight – Articles About DevOps – Autor: Alan Nascimento Carlos

ALM Rangers – DevOps

Visual Studio – DevOps

Bem é isso, espero que aproveitem!

Até a próxima!

Alan Carlos