DevOps pela Microsoft

O que é

Em síntese, DevOps development and operations é uma abordagem baseada nos princípios Agile que permite aos donos do negócio e ao desenvolvimento, operações e QA quality assurance colaborarem de maneira a entregar software de forma contínua, a agarrar mais rapidamente as oportunidades de negócio e a reduzir o tempo para obter feedback. De facto, as aplicações empresariais são tão distintas e compostas de tantas tecnologias, bases de dados e dispositivos terminais que apenas uma aborgadem DevOps development and operations pode ser bem sucedida ao lidar com este tipo de complexidade.

Quando e como é usado

Uma abordagem DevOps development and operations inclui as linhas de negócio, as TI Tecnologias de Informação, os executivos, os parceiros, os fornecedores e outras partes interessadas.

Usar uma abordagem DevOps é benéfico sempre que:
  • estão em desenvolvimento aplicações complexas que requerem processos de instalação complexos
  • é necessário dar suporte e garantir o trabalho de muitos computadores
  • são necessárias releases frequentes
  • é importante monitorizar a aplicação em produção e resolver os bugs rapidamente

Nestas circunstâncias o mais importante é o tempo: é importante reduzir o tempo despendido na instalação e é importante acelerar o feedback para a equipa de desenvolvimento.

Processos da ALM


A ALM Application Lifecycle Management é o conjunto de processos aplicados na gestão de uma aplicação desde a ideia (necessidade do negócio) até à instalação da aplicação e, eventualmente, à manutenção. Olhar para DevOps development and operations como uma capacidade do próprio negócio desde a ideia ao produto faz da ALM parte do processo DevOps. Os cinco imperativos da ALM (jazz.net/library/article/637) aplicam-se a uma perspectiva da entrega de uma aplicação centrada em DevOps. Estes cinco imperativos são
  • Planeamento em tempo eral
  • Rastreabilidade do ciclo de desenvolvimento
  • Colaboração in-context
  • Sistema de Inteligência aplicada ao desenvolvimento
  • Melhoria contínua dos processos
O planeamento em tempo real traduz-se pela adopção de um caminho de planeamento-e-medição.
A rastreabilidade e a colaboração traduzem-se pelo desenvolvimento-e-teste.
A Inteligência aplicada ao desenvolvimento e a melhoria contínua dos processos traduzem-se pela monitorização e optimização.

ALM pela Microsoft

Funcionalidades do Visual Studio para ALM
  • Agile
    • Backlogs
    • Sprint backlogs
    • Kanban boards
    • Task boards
vide Agile Software Development
vide Version control
  • Testes
    • Testes unitários
    • Testes de UI
    • Testes de desempenho da web
    • Testes de carga
vide Testing Tools

DevOps
Agile tools
Setup and administration

Métricas em destaque

A abordagem DevOps aumenta a agilidade por um lado e por outro, a confiabilidade:
Reduz o MTTD Mean Time To Detect
Dá uma visão completa do ecosistema da aplicação recorrendo a métricas que ajudam a identificar os constragimentos em produção. Minimiza assim os prejuizos e o impacto junto dos clientes.
Reduz o MTTR Mean Time To Repair
Permite detectar se o problema reside no código ou nas dependências. As ferramentas de gestão de incidentes integram Operações e Desenvolvimento. Os diagnósticos feitos em produção fornecem informação relevante ao desenvolvimento. Melhora a comunicação. Chega melhor informação aos clientes e aumenta a sua satisfação.



Do Desenvolvimento para as Operações

Microsoft Release Management


A principal função do Microsoft Release Management é a automa(tiza)ção do deploy do ambiente de testes para o de produção.
Para começar a trabalhar com a release há que:
  • Identificar os ambientes de teste pelos quais a aplicação vai passar (ex: Dev-> QA-> Produção)
  • Definir a sequência de acções necessárias à instalação da release em cada um dos ambientes
  • Identificar os membros da equipa responsáveis por cada passo da instalação
Depois o deploy pode ser feito automaticamente. Um vez que o Microsoft Release Management está integrado com o TFS Team Foundation Server, o deploy da release pode ser efectuado imediatamente depois da build estar concluida no TFS.

Das Operações para o Desenvolvimento

Microsoft System Center 2012 Operations Manager


O Microsoft Operations Manager permite que várias aplicações sejam monitorizadas simultaneamente através da mesma consola e envia informação acerca dos eventos à equipa de desenvolvimento. Pode-se, portanto, monitorizar tanto aplicações web .Net como serviços Windows. São registadas as falhas e problemas de desempenho das aplicações tanto do lado do cliente com do lado do servidor.
Como está integrado com o TFS Team Foundation Server, esta informação pode ser assignada a um programador com apenas um clique. Uma vez enviada a informação do evento, é criado um Work Item no TFS com toda a informação necessária para a depuração do código.

Microsoft Monitoring Agent


É uma alternativa simples ao Microsoft Operations Manager. Esta ferramenta monitoriza localmente o desempenho das aplicações web .Net.
O Microsoft Monitoring Agent colecta dados apenas das aplicações instaladas localmente. Os dados recolhidos são gravados em ficheiro e podem ser enviados manualmente para a equipa de desenvolvimento.

Application Insights


Esta ferramenta está disponível como componente do Visual Studio Online . Esta componente permite:
  • Monitorizar a disponibilidade e o tempo de resposta das aplicações web.
    • Basta para isso especificar a URL Uniform Resource Locator e o Visual Studio executa os testes.
  • Monitorizar o desempenho e a ocorrência de erros.
    • O Microsoft Monitoring Agent está instalado no computador em que a aplicação a monitorizar está instalada e é ligado ao Application Insights. Depois disto a informação recolhida fica disponível no Application Insights.
  • Analisar as acções do utilizador.
    • Esta ferramenta regista todos os eventos que ocorrem na aplicação (ex: carregamento de um ecrã). Esta opção está disponível para os seguintes tipos de aplicação:
      • Windows Phone 8
      • Windows Store
      • Web services
      • Web pages

Microsoft Feedback Client


Através do Microsoft Feedback Client a equipa de desenvolvimento pode pedir e receber a opinião e crítica dos utilizadores sobre a aplicação em produção. O pedido é feito pela equipa através do TFS Team Foundation Server e enviado por email.
O utilizador recebe o pedido e com a ajuda do Microsoft Feedback Client instalado localmente cria uma revisão da sua interacção com a aplicação. Esta revisão pode conter vídeo, impressões de ecrã e audio além dos comentários.

Integração com outras ferramentas



Vm DepotJenkins, Chef, Puppet, New Relic através das Microsoft Open Tecnologies.







Referências

DevOps For Dummies®, IBM Limited Edition
Application Lifecycle Management
DevOps and Application Lifecycle Management
Licença CC BY-SA 4.0 Silvia Pinhão Lopes, 27.9.15
Print Friendly and PDF

Sem comentários:

Com tecnologia do Blogger.