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
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
- Controlo de Versões
- Team Explorer (cliente TFS Team Foundation Server ou Git)
- Testes
- Testes unitários
- Testes de UI
- Testes de desempenho da web
- Testes de carga
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
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 Depot, Jenkins, Chef, Puppet, New Relic através das Microsoft Open Tecnologies.
Referências
DevOps For Dummies®, IBM Limited EditionApplication Lifecycle Management
DevOps and Application Lifecycle Management
Licença CC BY-SA 4.0
Silvia Pinhão Lopes, 27.9.15
Sem comentários: