As 7 fases do ciclo de vida do DevOps
O que é o ciclo de vida do DevOps? O ciclo de vida do DevOps é dividido em sete fases diferentes de desenvolvimento contínuo que orientam o processo de desenvolvimento de software do início ao fim. Para compreender o DevOps, é importante conhecer cada fase do ciclo de vida e os processos e requisitos de cada fase.
O desenvolvimento de software começa com o planejamento e a codificação. No DevOps, isso é feito por meio do processo de entrega regular com o objetivo de aprimoramento constante.
Com base nos principais valores ágeis, o DevOps incentiva lançamentos de software regulares e frequentes. A maneira padrão de conseguir isso é automatizar a integração e a implantação do código, um processo chamado de integração contínua/implantação contínua (CI/CD).
Durante todo o desenvolvimento, seja na pré ou na pós-produção, as equipes aproveitam o feedback para identificar problemas e criar hipóteses de soluções no planejamento.
Após a fase de planejamento do ciclo de vida do DevOps, o código-fonte e a criação de ativos começam com o objetivo de manter a produção em andamento. Independentemente da linguagem de codificação usada, a manutenção da base de código usando ferramentas de gerenciamento de código-fonte é uma prioridade.
A integração contínua (CI) é uma prática de desenvolvimento que exige que os desenvolvedores integrem o código em um repositório compartilhado várias vezes ao dia. Cada check-in ou ramificação é verificado por uma compilação automatizada, permitindo que as equipes detectem problemas logo no início, garantindo que a ramificação do código principal seja sempre viável e esteja pronta para a produção.
O IC foi projetado para suportar muitas alterações pequenas e iterativas, em vez de poucas e grandes alterações. Ele ajuda as equipes a escalar por meio de fluxos de trabalho automatizados para compilações de código, testes, mesclagem e verificação em repositórios compartilhados.
O objetivo final da integração contínua é fornecer um código melhor e mais rápido. Por meio de mudanças menores e frequentes, aliadas à automação, as equipes podem encontrar e resolver bugs mais rapidamente e reduzir o tempo gasto na validação e no lançamento de novas atualizações.
Os testes contínuos andam de mãos dadas com a integração contínua. Os pipelines de CI/CD dependem de testes automatizados em vez de validação manual de código. Isso serve para garantir que o que está sendo implantado é de qualidade e não resultará em erros que quebram o jogo antes do lançamento.
DevOps depende da eliminação do maior número possível de processos manuais. Quanto mais processos manuais e tediosos estiverem em vigor, mais tempo será desperdiçado e maior será a chance de erros. O objetivo das ferramentas DevOps de teste contínuo não é apenas descobrir bugs, mas encontrá-los o mais rápido possível para que não precisem ser resolvidos na fase de produção por meio de um patch ou hotfix, o que se torna muito mais complicado e demorado.
Os testes automatizados são configurados antes da liberação para a compilação e também antes da produção. As equipes podem inserir a revisão manual como uma etapa final antes da produção e após a conclusão dos testes automatizados.
O monitoramento contínuo garante que o ciclo de vida do DevOps seja bem mantido, com o objetivo final de proporcionar uma excelente experiência ao usuário. As atualizações e o uso do software são monitorados de perto, e os insights obtidos são usados para garantir que o software seja executado corretamente.
Durante a fase de monitoramento contínuo, as equipes procuram detectar e resolver os erros do sistema o mais rápido possível. O rastreamento automatizado de erros é essencial aqui. As automações também podem fornecer visibilidade de outras áreas, como desempenho geral do software, comportamento do usuário, estabilidade da infraestrutura de desenvolvimento e muito mais.
Além de supervisionar as automações, sua equipe de DevOps é responsável por garantir que todos os aspectos do pipeline estejam em conformidade com os padrões de segurança. O processamento manual do gerenciamento de liberação também ocorre durante essa fase.
O feedback contínuo requer a implementação de um ciclo de feedback para coletar insights sobre o desempenho do software da sua equipe interna e dos seus usuários. O feedback é então compartilhado com a equipe de DevOps para ajudar a orientar a iteração do produto. As fontes podem incluir pesquisas, questionários, grupos de foco, mídias sociais, fóruns e muito mais.
Esse processo não se limita a determinar se o software funciona corretamente, mas também a avaliar a satisfação geral do cliente para orientar a estratégia de negócios e garantir os melhores resultados possíveis. O feedback contínuo deve ser usado para orientar o roteiro de seu produto e ajudá-lo a atender aos desejos, às necessidades e às expectativas de seu público.
A implantação contínua funciona em conjunto com a integração contínua, concluindo o ciclo de automação e minimizando ou removendo a intervenção humana no processo de implantação. As ferramentas automatizadas de DevOps monitoram as atualizações do código-fonte e as implantam automaticamente no ambiente de produção assim que passam pela fase de testes, economizando tempo e aumentando a satisfação do usuário.
A implantação contínua acelera os ciclos de feedback com os usuários por meio da automação. Os métodos também podem ser implementados para separar a implementação de uma versão, ocultando-os dos usuários (versões obscuras) ou ativando-os para que usuários específicos testem novos recursos e solicitem feedback (alternâncias ou switches de recursos).
Como o código é liberado em pequenos lotes, ele minimiza o risco que você teria com grandes alterações de código - tudo com o mínimo de esforço devido à automação.
As operações contínuas visam minimizar o tempo de inatividade e evitar interrupções de serviço frustrantes para os usuários. Essa fase do ciclo de vida do DevOps concentra-se na otimização de aplicativos e ambientes para estabilidade e desempenho. Ele também completa o ciclo de vida do DevOps, alimentando a fase de planejamento do desenvolvimento contínuo com relatórios de bugs e feedback do usuário para aprimoramentos.
Através da colaboração contínua entre as equipes e com os usuários, os bugs, o feedback e as preocupações com a segurança podem ser continuamente transmitidos, avaliados e iterados através do pipeline do DevOps.
O fluxo de trabalho perfeito
Neste breve vídeo, a equipe do Unity Version Control (anteriormente Plastic SCM) mostra como sua poderosa ferramenta de gerenciamento de código-fonte pode executar uma cadeia de ferramentas estratégica de DevOps que desempenha um papel crucial na obtenção de um fluxo de trabalho contínuo no ciclo de vida do DevOps.
O rastreamento e o gerenciamento das alterações em seu código-fonte são essenciais. Descubra como os diferentes tipos de sistemas de controle de versão podem ajudá-lo a manter a integridade do seu código.
A implementação de práticas de DevOps pode otimizar seu pipeline de desenvolvimento e deixar sua equipe e seus usuários mais felizes. Saiba mais sobre como o DevOps pode te ajudar.
Todo estúdio de jogos quer acelerar a produção e reduzir crises, e o DevOps é a melhor maneira de fazer isso acontecer. Comece aprendendo os principais princípios por trás de uma metodologia DevOps.
Aprenda os princípios e processos fundamentais de DevOps para o desenvolvimento de jogos e ouça os estúdios que obtiveram sucesso com o portfólio de soluções da Unity.
Neste e-book, obtenha insights da equipe do Unity Version Control sobre como se tornar um desenvolvedor de software melhor e dominar o controle de versão implementando o fluxo de trabalho perfeito.
Veja como a Halfbrick usa o Backtrace e o Helpshift para detectar erros que quebram o jogo antes que eles se tornem um problema e mantenham os jogadores no jogo.
O ciclo de vida do DevOps começa com o controle de versão. Implemente a integração e o desenvolvimento contínuos com as soluções DevOps da Unity'.