Tutorial do DevOps - Introdução
Tutorial Melhorar o processo de entrega de software com DevOps
O DevOps tem muitas fases, conceitos e componentes diferentes e este tutorial é uma excelente forma de ficar a conhecer o DevOps e como este pode ajudar a melhorar o processo de entrega de software.
Compreender o DevOps
Para começar este tutorial de DevOps, vamos apresentar algumas definições básicas que ajudam a compreender o DevOps e como este está relacionado com o seu processo geral de desenvolvimento de software.
-
O DevOps é uma prática de desenvolvimento de software que promove a colaboração entre as equipas de desenvolvimento e de operações, o que resulta numa entrega de software mais rápida e fiável. Vulgarmente conhecido como uma cultura, o DevOps liga pessoas, processos e tecnologia para oferecer valor contínuo.
-
O processo de desenvolvimento de software pode ser altamente manual, originando um elevado número de erros de código. Muitas vezes, as equipas de desenvolvimento e de operações podem não estar sincronizadas, o que pode atrasar a entrega de software e desiludir os intervenientes da empresa. O DevOps cria eficiências em todas as tarefas envolvidas no desenvolvimento, implementação e manutenção de software.
Ligar o desenvolvimento e as operações leva ao aumento da visibilidade, a requisitos mais precisos, a melhor comunicação e a tempos de comercialização mais rápidos.
-
O DevOps faz a ponte entre o desenvolvimento e as operações, o que cria eficiências significativas no desenvolvimento e na implementação de software. O DevOps inclui uma grande ênfase na automatização, o que ajuda a reduzir o número geral de erros.
-
A filosofia do DevOps é assumir responsabilidade completa em todos os aspetos do projeto. Ao contrário dos métodos mais tradicionais de desenvolver software, o DevOps faz a ponte entre as equipas de desenvolvimento e operações, algo que muitas vezes não acontece e que pode ter um efeito extremamente negativo no processo de entrega de software.
Ao proporcionar um framework abrangente para desenvolver e lançar software, o DevOps liga as equipas de desenvolvimento e operações, uma lacuna que cria desafios e ineficiências na entrega de software.
-
Embora tanto o DevOps como a abordagem ágil sejam práticas de desenvolvimento de software, ambas têm um foco ligeiramente diferente. O DevOps é uma cultura dedicada à criação de eficiência para todos os intervenientes envolvidos no desenvolvimento, na implementação e na manutenção de software. A abordagem ágil é um processo de produção otimizada que ajuda a fornecer um framewordk de produção de desenvolvimento de software. Muitas vezes, é específica da equipa de desenvolvimento, em que o âmbito do DevOps se estende a todos os intervenientes envolvidos na produção e manutenção de software. As práticas DevOps e ágil podem ser utilizadas em conjunto para criar um ambiente de desenvolvimento de software altamente eficiente.
Aprofunde a aprendizagem de DevOps com estas tarefas
Cada secção neste tutorial do DevOps inclui algumas tarefas que ajudam a implementar os passos necessários para a criação de uma prática de DevOps. Dispense alguns momentos para responder às seguintes perguntas:
- Quais são alguns dos desafios que enfrentou no desenvolvimento e implementação de software?
- Em que áreas gostaria de ver melhorias na eficiência quando desenvolve e implementa software?
As noções básicas de uma prática de DevOps
A próxima parte deste manual do DevOps é compreender os principais conceitos utilizados numa prática de DevOps. Esta secção ajuda a explicar e clarificar os componentes-chave.
-
Vulgarmente utilizado em equipas de software, o desenvolvimento ágil é uma abordagem de entrega associada à produção otimizada. O desenvolvimento é feito em sprints pequenos e incrementais. Embora seja diferente do DevOps, as duas abordagens não se excluem mutuamente. As práticas e ferramentas ágeis podem ajudar a gerar eficiências na equipa de desenvolvimento, contribuindo para a cultura geral de DevOps.
-
Quando uma equipa trabalha em conjunto, o controlo de versões é fundamental para o desenvolvimento de software eficiente e preciso. Os sistemas de controlo de versões, como o Git, tiram um instantâneo dos seus ficheiros, o que lhe permite regressar permanentemente a qualquer versão em qualquer momento. Com um sistema de controlo de versões, pode ter a certeza de que não vai encontrar conflitos com as alterações em que está a trabalhar.
Começar a utilizar o controlo de versões com os Repositórios do Azure
-
A integração contínua é o processo de automatização de compilações e de testes que ocorrem quando o código é concluído e consolidado no sistema. Após a consolidação, o código segue um processo automatizado que fornece a validação. Depois, consolida apenas o código testado e validado no código de origem principal, que é, muitas vezes, denominado ramo mestre, principal ou ramal. A integração contínua automatiza este processo, o que origina eficiências significativas. Caso haja erros, esses são identificados atempadamente, antes da união de qualquer código ao ramo mestre.
Começar a implementar a integração contínua com o Azure Pipelines
-
A entrega contínua é a prática fundamental que ocorre no DevOps e que permite a entrega de software rápido e fiável. Apesar de o processo ser semelhante ao conceito genérico do DevOps, a entrega contínua é o framework no qual todos os componentes do código são testados, validados e consolidados à medida que são concluídos, o que resulta na possibilidade de entregar software em qualquer momento. A integração contínua é um processo que faz parte da entrega contínua.
Começar a implementar a entrega contínua com o Azure Pipelines
-
Quer seja no local ou na cloud, o aprovisionamento e a configuração de recursos são aspetos cruciais das operações do ambiente. Através da automatização de processos e da utilização de ferramentas que oferecem uma definição declarativa da infraestrutura (por exemplo, ficheiros de definição baseados em texto), as equipas podem implementar e configurar recursos de forma fiável e repetível. Os ficheiros de definição baseados em texto podem ser geridos como código com controlo de versão, o que permite reversão, recriação e desmontagem fáceis de ambientes complexos. Tecnologias como Terraform ou Ansible são soluções comuns para a implementação da infraestrutura como código.
-
O âmbito do DevOps vai além do desenvolvimento, mantendo a responsabilidade pelo software através da entrega, incluindo o desempenho do software. Todo o processo de DevOps cria um ciclo de feedback que, em última instância, proporciona pontos de dados que podem ajudar a melhorar projetos futuros e a validar a decisão de implementar o software. A monitorização e o registo são partes essenciais que apoiam a aprendizagem validada, a qual, por sua vez, apoia a iniciativa global de procurar consistentemente mais eficiência no processo de desenvolvimento e entrega de software.
Saiba como recolher e analisar dados telemétricos com o Azure Monitor
-
Ao longo do ciclo de vida, é recolhido feedback e dados telemétricos para ajudar a tomar decisões informadas para o ciclo seguinte. Essas informações são denominadas "aprendizagem validada". A aprendizagem validada ajuda a disponibilizar informações sobre novas formas de reduzir o tempo necessário por ciclo. Depois, os dados recolhidos são utilizados para encontrar maneiras de aumentar a automatização, melhorar os processos e preparar a implementação mais rápida e eficientemente.
Aprofunde a aprendizagem de DevOps com estas tarefas
Agora que já sabe quais são os principais conceitos numa prática de DevOps, dispense alguns momentos para responder às seguintes perguntas:
- Que partes do processo de desenvolvimento são manuais e podem beneficiar da automatização?
- Há oportunidades para introduzir a integração contínua no processo de criação da sua equipa?
- Como é que a sua equipa gere a infraestrutura atualmente? O processo é repetível e fiável ou pode ser melhorado mediante a utilização da infraestrutura como código?
- Que dados telemétricos ajudariam a informar o seu trabalho?
- Que outros pontos de dados apoiariam a sua aprendizagem validada?
Criar a sua cultura de DevOps
A próxima parte deste tutorial de DevOps aborda como criar uma cultura de DevOps. À medida que prepara a adoção do DevOps na sua empresa, é provável que encontre diferenças relativamente à sua abordagem atual à entrega de software.
A criação de uma cultura nova não se faz da noite para o dia e não se resume a comprar um novo conjunto de ferramentas. Para que a sua equipa aprenda e pratique o DevOps, pode ter de fazer alterações às estruturas, aos fluxos de trabalho e aos hábitos atuais da sua equipa.
Aprofunde a aprendizagem de DevOps com estas tarefas
Cada secção neste tutorial do DevOps inclui algumas tarefas que ajudam a implementar os passos necessários para a criação de uma prática de DevOps. Dispense alguns momentos para responder às seguintes perguntas:
- Quais são alguns dos desafios que enfrentou no desenvolvimento e implementação de software?
- Em que áreas gostaria de ver melhorias na eficiência quando desenvolve e implementa software?
Tutoriais do DevOps adicionais
Introdução ao Azure DevOps
Entregue software de forma mais rápida e fiável com um conjunto moderno de serviços de desenvolvimento. Planeie melhor, colabore mais e envie depressa. Utilize todas as funcionalidades do DevOps ou escolha as mais adequadas para si.