Lista de Verificação de DevOpsDevOps Checklist

DevOps é a integração de desenvolvimento, controle de qualidade e operações de TI numa cultura unificada e conjunto de processos para o fornecimento de software.DevOps is the integration of development, quality assurance, and IT operations into a unified culture and set of processes for delivering software. Utilize esta lista de verificação como ponto de partida para avaliar o seu processo e cultura DevOps.Use this checklist as a starting point to assess your DevOps culture and process.

CulturaCulture

Certifique-se de alinhamento de negócios entre equipes e organizações.Ensure business alignment across organizations and teams. Conflitos sobre recursos, objetivo, objetivos e as prioridades dentro de uma organização podem ser um risco para operações bem-sucedidas.Conflicts over resources, purpose, goals, and priorities within an organization can be a risk to successful operations. Certifique-se de que as equipes de operações, desenvolvimento e business estão todos alinhadas.Ensure that the business, development, and operations teams are all aligned.

Certifique-se de que toda a equipe compreenda o ciclo de vida do software.Ensure the entire team understands the software lifecycle. Sua equipa necessita para compreender o ciclo de vida global da aplicação, e que parte do ciclo de vida a aplicação está atualmente em.Your team needs to understand the overall lifecycle of the application, and which part of the lifecycle the application is currently in. Isto ajuda a todos os membros da Equipe saibam o que devem ser fazendo agora, e o que eles devem ser planear e preparar no futuro.This helps all team members know what they should be doing now, and what they should be planning and preparing for in the future.

Reduza o tempo de ciclo.Reduce cycle time. Têm como objetivo minimizar o tempo que demora a mudar de ideias para o software desenvolvido utilizável.Aim to minimize the time it takes to move from ideas to usable developed software. Limite o tamanho e o âmbito das versões individuais para manter a carga de teste em baixo.Limit the size and scope of individual releases to keep the test burden low. Automatize os processos de compilação, teste, configuração e implantação sempre que possível.Automate the build, test, configuration, and deployment processes whenever possible. Limpe qualquer obstáculos, para comunicação entre os desenvolvedores e entre os desenvolvedores e operações.Clear any obstacles to communication among developers, and between developers and operations.

Reveja e aprimorar os processos.Review and improve processes. Seus processos e procedimentos, automatizados e manuais, nunca são finais.Your processes and procedures, both automated and manual, are never final. Configure a revisões regulares de fluxos de trabalho atuais, procedimentos e documentação, com um objetivo de melhoria contínua.Set up regular reviews of current workflows, procedures, and documentation, with a goal of continual improvement.

Fazer o planejamento proativa.Do proactive planning. Planear proativamente a falha.Proactively plan for failure. Ter processos para identificar rapidamente problemas quando eles ocorrem, escalar para os membros da Equipe correta para corrigir e confirme a resolução.Have processes in place to quickly identify issues when they occur, escalate to the correct team members to fix, and confirm resolution.

Aprenda com falhas.Learn from failures. As falhas são inevitáveis, mas é importante saber de falhas para evitar a repetição-los.Failures are inevitable, but it's important to learn from failures to avoid repeating them. Se ocorrer uma falha operacional, fazer a triagem do problema, o documento a causa e a solução e partilhar qualquer lições que foram adquiridas.If an operational failure occurs, triage the issue, document the cause and solution, and share any lessons that were learned. Sempre que possível, atualize seus processos de compilação para detetar automaticamente esse tipo de falha no futuro.Whenever possible, update your build processes to automatically detect that kind of failure in the future.

Otimizar a velocidade e recolher dados.Optimize for speed and collect data. Cada melhoria planeada é uma hipótese.Every planned improvement is a hypothesis. Trabalhe em incrementos de menores possíveis.Work in the smallest increments possible. Trate novas ideias como experimentações.Treat new ideas as experiments. Instrumente as experimentações para que pode coletar dados de produção para avaliar a eficácia das mesmas.Instrument the experiments so that you can collect production data to assess their effectiveness. Esteja preparado para efetuar a ativação rápida se a hipótese de errado.Be prepared to fail fast if the hypothesis is wrong.

Aguarde algum tempo para a aprendizagem automática.Allow time for learning. Êxitos e falhas de fornecem boa oportunidades de aprendizagem.Both failures and successes provide good opportunities for learning. Antes de passar para novos projetos, permita tempo suficiente recolher as lições importantes e certificar-se de que essas lições são absorvidas por sua equipe.Before moving on to new projects, allow enough time to gather the important lessons, and make sure those lessons are absorbed by your team. Também concede a equipe o tempo para criar competências, experimentar e saber mais sobre novas ferramentas e técnicas.Also give the team the time to build skills, experiment, and learn about new tools and techniques.

Operações de documento.Document operations. Documente todas as ferramentas, processos e tarefas automatizadas com o mesmo nível de qualidade como seu código de produto.Document all tools, processes, and automated tasks with the same level of quality as your product code. Documente a estrutura atual e a arquitetura dos sistemas de que suporte, juntamente com os processos de recuperação e outros procedimentos de manutenção.Document the current design and architecture of any systems you support, along with recovery processes and other maintenance procedures. Concentre-se os passos, na verdade, executar, processos, teoricamente, não o ideal.Focus on the steps you actually perform, not theoretically optimal processes. Regularmente, reveja e atualize a documentação.Regularly review and update the documentation. Para o código, certifique-se de que significativo comentários são incluídos, especialmente em APIs públicas e utilizam ferramentas para gerar automaticamente a documentação de código sempre que possível.For code, make sure that meaningful comments are included, especially in public APIs, and use tools to automatically generate code documentation whenever possible.

Partilhar dados de conhecimento.Share knowledge. Documentação só é útil se as pessoas saibam que existe e pode encontrá-lo.Documentation is only useful if people know that it exists and can find it. Certifique-se de que a documentação é organizado e facilmente detetável.Ensure the documentation is organized and easily discoverable. Seja criativo: Utilize boletins informativos, vídeos ou sessões informais (apresentações informais) para partilhar dados de conhecimento.Be creative: Use brown bags (informal presentations), videos, or newsletters to share knowledge.

DesenvolvimentoDevelopment

Fornece aos desenvolvedores com ambientes de produção simulado.Provide developers with production-like environments. Se os ambientes de desenvolvimento e teste não corresponder ao ambiente de produção, é difícil de testar e diagnosticar problemas.If development and test environments don't match the production environment, it is hard to test and diagnose problems. Por conseguinte, manter o desenvolvimento e teste ambientes como próximo de ambiente de produção quanto possível.Therefore, keep development and test environments as close to the production environment as possible. Certifique-se de que os dados de teste são consistentes com os dados usados na produção, mesmo se for dados de exemplo e dados de produção não real (por motivos de privacidade ou de conformidade).Make sure that test data is consistent with the data used in production, even if it's sample data and not real production data (for privacy or compliance reasons). Planear gerar e tornar anónimos os dados de teste de exemplo.Plan to generate and anonymize sample test data.

Certifique-se de que todos os membros da Equipe autorizados podem aprovisionar infraestruturas e implementar a aplicação.Ensure that all authorized team members can provision infrastructure and deploy the application. Recursos do tipo produção a configurar e implantar o aplicativo não devem envolver complicadas tarefas manuais ou conhecimento técnico detalhado do sistema.Setting up production-like resources and deploying the application should not involve complicated manual tasks or detailed technical knowledge of the system. Qualquer pessoa com as permissões corretas deve ser capaz de criar ou implementar recursos do tipo produção sem passar para a equipe de operações.Anyone with the right permissions should be able to create or deploy production-like resources without going to the operations team.

Esta recomendação não implica que qualquer pessoa pode enviar por push as atualizações dinâmicas para a implementação de produção.This recommendation doesn't imply that anyone can push live updates to the production deployment. É sobre redução fricção para o desenvolvimento e as equipes de controle de qualidade para criar ambientes de produção simulado.It's about reducing friction for the development and QA teams to create production-like environments.

Instrumente a aplicação para informações detalhadas.Instrument the application for insight. Para compreender o estado de funcionamento do seu aplicativo, precisa saber como ele está desempenhando e está com quaisquer erros ou problemas.To understand the health of your application, you need to know how it's performing and whether it's experiencing any errors or problems. Sempre inclui instrumentação como um requisito de design e criar a instrumentação no aplicativo desde o início.Always include instrumentation as a design requirement, and build the instrumentation into the application from the start. Instrumentação tem de incluir o registo de eventos para análise da causa raiz, mas também telemetria e métricas para monitorizar o estado de funcionamento geral e a utilização da aplicação.Instrumentation must include event logging for root cause analysis, but also telemetry and metrics to monitor the overall health and usage of the application.

Controle a dívida técnica.Track your technical debt. Em muitos projetos, os cronogramas de lançamento podem obter priorizadas em relação de qualidade de código para um grau ou de outra.In many projects, release schedules can get prioritized over code quality to one degree or another. Manter sempre o controle quando isso ocorre.Always keep track when this occurs. Documente qualquer atalhos ou outras implementações nonoptimal e agende a hora no futuro para rever estes problemas.Document any shortcuts or other nonoptimal implementations, and schedule time in the future to revisit these issues.

Considere a enviar atualizações diretamente para a produção.Consider pushing updates directly to production. Para reduzir o tempo do ciclo de lançamento geral, considere enviar adequadamente testada consolidações de código diretamente para a produção.To reduce the overall release cycle time, consider pushing properly tested code commits directly to production. Uso [funcionalidade Ativa/desativa] feature-toggles para controlar quais recursos estão ativados.Use feature toggles to control which features are enabled. Isto permite-lhe mover de desenvolvimento para lançar rapidamente, utilizando os botões de alternar para ativar ou desativar funcionalidades.This allows you to move from development to release quickly, using the toggles to enable or disable features. Ativa/desativa também é úteis, tais como a realização de testes versões de proteção, em que um determinado recurso é implementado para um subconjunto do ambiente de produção.Toggles are also useful when performing tests such as canary releases, where a particular feature is deployed to a subset of the production environment.

A testarTesting

Automatize os testes.Automate testing. Testar manualmente o software é entediante e suscetível a erros.Manually testing software is tedious and susceptible to error. Automatizar tarefas comuns de testes e integrar os testes em seus processos de compilação.Automate common testing tasks and integrate the tests into your build processes. Teste automatizado garante a cobertura de teste consistentes e a capacidade de reprodução.Automated testing ensures consistent test coverage and reproducibility. Testes de IU integrados também devem ser efetuados por uma ferramenta automatizada.Integrated UI tests should also be performed by an automated tool. O Azure oferece desenvolvimento e recursos de teste que podem ajudá-lo a configurar e executar testes.Azure offers development and test resources that can help you configure and execute testing. Para obter mais informações, consulte desenvolvimento e teste.For more information, see Development and test.

Teste de falhas.Test for failures. Se um sistema não é possível ligar a um serviço, como-responde?If a system can't connect to a service, how does it respond? Ele recuperar assim que o serviço estiver novamente disponível?Can it recover once the service is available again? Fazer a injeção de falha, uma parte padrão da revisão no teste de ambientes de teste.Make fault injection testing a standard part of review on test and staging environments. Quando o processo de teste e práticas são maduras, considere executar esses testes em produção.When your test process and practices are mature, consider running these tests in production.

Testar na produção.Test in production. O processo de liberação não termina com a implementação de produção.The release process doesn't end with deployment to production. Testes no local para se certificar de que implementou código funciona conforme esperado.Have tests in place to ensure that deployed code works as expected. Para implementações que são atualizadas com pouca frequência, agende testes como parte da manutenção regular de produção.For deployments that are infrequently updated, schedule production testing as a regular part of maintenance.

Automatize testes de desempenho para identificar problemas de desempenho no início.Automate performance testing to identify performance issues early. O impacto de um problema de graves de desempenho pode ser tão grave como um bug no código.The impact of a serious performance issue can be as severe as a bug in the code. Embora automatizados de testes funcionais podem impedir que os bugs de aplicação, pode não detetar problemas de desempenho.While automated functional tests can prevent application bugs, they might not detect performance problems. Defina objetivos de desempenho aceitável de métricas, como a latência, tempos de carregamento e a utilização de recursos.Define acceptable performance goals for metrics like latency, load times, and resource usage. Inclua testes de desempenho automatizados em seu pipeline de lançamento, para se certificar de que o aplicativo atende a esses objetivos.Include automated performance tests in your release pipeline, to make sure the application meets those goals.

Realize os testes de capacidade.Perform capacity testing. Um aplicativo pode funcionar bem em condições de teste e, em seguida, tiver problemas em produção devido a limitações de dimensionamento ou recurso.An application might work fine under test conditions, and then have problems in production due to scale or resource limitations. Sempre defina os limites de capacidade e a utilização esperados máximos.Always define the maximum expected capacity and usage limits. Teste para se certificar-se de que o aplicativo pode lidar com esses limites, mas também testar o que acontece quando esses limites são ultrapassados.Test to make sure the application can handle those limits, but also test what happens when those limits are exceeded. Capacidade de teste deve ser efetuada em intervalos regulares.Capacity testing should be performed at regular intervals.

Após o lançamento inicial, deve executar testes de capacidade de desempenho e sempre que uma atualização é feita ao código de produção.After the initial release, you should run performance and capacity tests whenever updates are made to production code. Utilize dados históricos para ajustar os testes de e para determinar o que tipos de testes que precisam ser executadas.Use historical data to fine-tune tests and to determine what types of tests need to be performed.

Execute testes de penetração de segurança automatizada.Perform automated security penetration testing. Garantir que seu aplicativo seja seguro é tão importante quanto testar todas as outras funcionalidades.Ensuring your application is secure is as important as testing any other functionality. Faça parte do processo de compilação e implementação padrão de testes de penetração de automatizada.Make automated penetration testing a standard part of the build and deployment process. Agende testes de segurança regular e análise em aplicações implementadas, a monitorização para abrir portas, pontos finais e ataques de vulnerabilidades.Schedule regular security tests and vulnerability scanning on deployed applications, monitoring for open ports, endpoints, and attacks. Teste automatizado não remove a necessidade de revisões de segurança detalhados em intervalos regulares.Automated testing does not remove the need for in-depth security reviews at regular intervals.

Realize os testes de continuidade de negócios automatizados.Perform automated business continuity testing. Desenvolva testes em grande escala para continuidade de negócio, incluindo a recuperação de cópia de segurança e de ativação pós-falha.Develop tests for large-scale business continuity, including backup recovery and failover. Configure processos automatizados para executar esses testes regularmente.Set up automated processes to perform these tests regularly.

VersãoRelease

Automatize Implantações.Automate deployments. Automatize a implantar o aplicativo em teste, transição e ambientes de produção.Automate deploying the application to test, staging, and production environments. A automatização permite Implantações mais rápidas e confiáveis e garante a implementações consistentes em qualquer ambiente com suporte.Automation enables faster and more reliable deployments, and ensures consistent deployments to any supported environment. Remove o risco de falha humana causado pelas implementações manuais.It removes the risk of human error caused by manual deployments. Ela também torna mais fácil agendar versões para tempos convenientes, para minimizar os efeitos da potenciais períodos de inatividade.It also makes it easy to schedule releases for convenient times, to minimize any effects of potential downtime.

Utilize a integração contínua.Use continuous integration. Integração contínua (CI) é a prática de mesclagem de base de código de todo o código de desenvolvedor numa central com base numa agenda regular e, em seguida, realizar automaticamente compilação padrão e os processos de teste.Continuous integration (CI) is the practice of merging all developer code into a central codebase on a regular schedule, and then automatically performing standard build and test processes. CI garante que uma equipe inteira pode trabalhar numa base de código ao mesmo tempo sem ter de conflitos.CI ensures that an entire team can work on a codebase at the same time without having conflicts. Também garante que os defeitos de código foram encontrados mais cedo possível.It also ensures that code defects are found as early as possible. De preferência, o processo de CI deve ser executada sempre que esse código é confirmado ou check-in.Preferably, the CI process should run every time that code is committed or checked in. Na pior das hipóteses, deve ser executado uma vez por dia.At the very least, it should run once per day.

Considere adotar uma ramal com base em modelo de desenvolvimento.Consider adopting a trunk based development model. Nesse modelo, os desenvolvedores consolidar para uma única ramificação (o ramal).In this model, developers commit to a single branch (the trunk). Existe um requisito que consolidações nunca interromper a compilação.There is a requirement that commits never break the build. Esse modelo facilita a CI, porque todo o trabalho de funcionalidade é feito no tronco, e quaisquer conflitos de intercalação são resolvidos quando ocorre a consolidação.This model facilitates CI, because all feature work is done in the trunk, and any merge conflicts are resolved when the commit happens.

Considere utilizar a entrega contínua.Consider using continuous delivery. Entrega contínua (CD) é a prática de garantir que o código é sempre pronto para implementar automaticamente a criação, teste e implementação de código para ambientes de produção simulado.Continuous delivery (CD) is the practice of ensuring that code is always ready to deploy, by automatically building, testing, and deploying code to production-like environments. Adicionando a entrega contínua para criar um pipeline CI/CD completo irá ajudá-lo a detetar código defeitos logo que possível e garante que as atualizações adequadamente testadas podem ser liberadas num curto período de tempo muito.Adding continuous delivery to create a full CI/CD pipeline will help you detect code defects as soon as possible, and ensures that properly tested updates can be released in a very short time.

Contínua implementação é um processo adicional que obtém automaticamente quaisquer atualizações que foram aprovados pelo pipeline CI/CD e implementa-los em produção.Continuous deployment is an additional process that automatically takes any updates that have passed through the CI/CD pipeline and deploys them into production. Implementação contínua requer testes automática robusta e avançado do processo de planeamento e pode não ser apropriada para todas as equipes.Continuous deployment requires robust automatic testing and advanced process planning, and may not be appropriate for all teams.

Fazer pequenas alterações incrementais.Make small incremental changes. Alterações de códigos grandes têm um potencial maior para introduzir erros.Large code changes have a greater potential to introduce bugs. Sempre que possível, mantenha as alterações pequenas.Whenever possible, keep changes small. Isto limita os possíveis efeitos de cada alteração e torna mais fácil de compreender e depurar os problemas.This limits the potential effects of each change, and makes it easier to understand and debug any issues.

Controlar exposição a alterações.Control exposure to changes. Certifique-se de que está no controle de quando as atualizações são visíveis para os utilizadores finais.Make sure you're in control of when updates are visible to your end users. Considere a utilização de botões de alternar de funcionalidade para controlar quando funcionalidades estão ativadas para os utilizadores finais.Consider using feature toggles to control when features are enabled for end users.

Implementar estratégias de gerenciamento de versão para reduzir riscos de implantação.Implement release management strategies to reduce deployment risk. Implementar uma atualização de aplicação para produção sempre envolve algum risco.Deploying an application update to production always entails some risk. Para minimizar este risco, utilizar como estratégias [versões de proteção] canary-release ou [implementações "blue-Green"] blue-green para implementar atualizações para um subconjunto de utilizadores.To minimize this risk, use strategies such as canary releases or blue-green deployments to deploy updates to a subset of users. Confirme que a atualização funciona conforme esperado e, em seguida, implementar a atualização para o restante do sistema.Confirm the update works as expected, and then roll the update out to the rest of the system.

Documente todas as alterações.Document all changes. Pequenas atualizações e alterações de configuração podem ser uma fonte de conflito de confusão e controle de versão.Minor updates and configuration changes can be a source of confusion and versioning conflict. Sempre manter um registro claro de quaisquer alterações, não importa como pequenas.Always keep a clear record of any changes, no matter how small. Inicie sessão tudo o que for alterado, incluindo patches aplicados, alterações de política e as alterações de configuração.Log everything that changes, including patches applied, policy changes, and configuration changes. (Não incluem dados confidenciais nestes registos.(Don't include sensitive data in these logs. Por exemplo, do registo que uma credencial foi atualizada e que fez a alteração, mas não gravar as credenciais atualizadas.) O registo das alterações deve estar visível para toda a equipe.For example, log that a credential was updated, and who made the change, but don't record the updated credentials.) The record of the changes should be visible to the entire team.

Automatize Implantações.Automate Deployments. Automatize todas as implementações e tenham sistemas em vigor para detetar quaisquer problemas durante a implementação.Automate all deployments, and have systems in place to detect any problems during rollout. Ter um processo de atenuação para preservar o código existente e os dados em produção, antes da atualização substitui-los em todas as instâncias de produção.Have a mitigation process for preserving the existing code and data in production, before the update replaces them in all production instances. Ter uma forma de distribuir o encaminhamento correções ou reverter as alterações.Have an automated way to roll forward fixes or roll back changes.

Considere tornar infraestrutura imutável.Consider making infrastructure immutable. Infraestrutura imutável é o princípio de que não deve modificar a infraestrutura após sua implantação em produção.Immutable infrastructure is the principle that you shouldn’t modify infrastructure after it’s deployed to production. Caso contrário, pode entrar num Estado em que foram aplicadas alterações ad hoc, tornando difícil saber exatamente o que mudou.Otherwise, you can get into a state where ad hoc changes have been applied, making it hard to know exactly what changed. Infraestrutura imutável funciona ao substituir servidores inteiros como parte de qualquer implementação de novo.Immutable infrastructure works by replacing entire servers as part of any new deployment. Isso permite que o código e o ambiente de hospedagem para ser testado e implementado como um bloco.This allows the code and the hosting environment to be tested and deployed as a block. Uma vez implantado, componentes de infraestrutura não sejam modificados até a próxima criar e implementar o ciclo.Once deployed, infrastructure components aren't modified until the next build and deploy cycle.

MonitorizaçãoMonitoring

Tornar observable de sistemas.Make systems observable. A equipe de operações deve ter sempre clara visibilidade sobre o estado de funcionamento e o estado de um sistema ou serviço.The operations team should always have clear visibility into the health and status of a system or service. Configurar pontos finais do Estado de funcionamento externo para monitorizar o estado e certifique-se de que os aplicativos são codificados para instrumentar as métricas de operações.Set up external health endpoints to monitor status, and ensure that applications are coded to instrument the operations metrics. Utilize um esquema comum e consistente que lhe permita correlacionar eventos nos sistemas.Use a common and consistent schema that helps you correlate events across systems. [Diagnóstico do Azure] azure-diagnostics e [Application Insights] app-insights são o método padrão de controlar o estado de funcionamento e o estado dos recursos do Azure.Azure Diagnostics and Application Insights are the standard method of tracking the health and status of Azure resources. Microsoft [Operation Management Suite] oms também fornece monitorização centralizada e gestão de soluções na nuvem ou híbrida.Microsoft Operation Management Suite also provides centralized monitoring and management for cloud or hybrid solutions.

Agregar e correlacionar os registos e métricas.Aggregate and correlate logs and metrics. Um sistema de telemetria corretamente instrumentado fornecerá uma grande quantidade de dados de desempenho em bruto e registos de eventos.A properly instrumented telemetry system will provide a large amount of raw performance data and event logs. Certifique-se de que os dados de telemetria e de log são processados e correlacionados num curto período de tempo, para que a equipe de operações sempre terá uma visão atualizada do Estado de funcionamento do sistema.Make sure that telemetry and log data is processed and correlated in a short period of time, so that operations staff always have an up-to-date picture of system health. Organizar e apresentar dados de forma a fornecer uma exibição coesa de quaisquer problemas, para que sempre que possível fica claro quando eventos estão relacionados entre si.Organize and display data in ways that give a cohesive view of any issues, so that whenever possible it's clear when events are related to one another.

Consulte a política de retenção corporativas para requisitos sobre como os dados são processados e o tempo que devem ser armazenado.Consult your corporate retention policy for requirements on how data is processed and how long it should be stored.

Implemente notificações e alertas automatizados.Implement automated alerts and notifications. Configurar a monitorização de ferramentas, como [do Azure Monitor] azure-monitor para detetar padrões ou condições que indicam problemas potenciais ou atuais e enviar alertas para os membros de equipe que podem resolver os problemas.Set up monitoring tools like Azure Monitor to detect patterns or conditions that indicate potential or current issues, and send alerts to the team members who can address the issues. Otimize os alertas para evitar falsos positivos.Tune the alerts to avoid false positives.

Monitor de recursos e recursos para as expirações.Monitor assets and resources for expirations. Alguns recursos e ativos, tais como certificados, expiram após um determinado período de tempo.Some resources and assets, such as certificates, expire after a given amount of time. Certifique-se controlar quais recursos expirarem, quando eles expiram e os serviços ou funcionalidades dependem delas.Make sure to track which assets expire, when they expire, and what services or features depend on them. Utilize processos automatizados para monitorizar estes recursos.Use automated processes to monitor these assets. Notificar as operações da Equipe antes de um recurso de expira e escalar se a ameaça de expiração interromper o aplicativo.Notify the operations team before an asset expires, and escalate if expiration threatens to disrupt the application.

GestãoManagement

Automatize tarefas de operações.Automate operations tasks. Manualmente lidar com os processos de operações repetitivas é propensa a erros.Manually handling repetitive operations processes is error-prone. Automatize essas tarefas, sempre que possível garantir a execução consistente e qualidade.Automate these tasks whenever possible to ensure consistent execution and quality. Código que implementa a automação deve ter versão no controlo de origem.Code that implements the automation should be versioned in source control. Tal como acontece com qualquer outro código, ferramentas de automatização tem de ser testadas.As with any other code, automation tools must be tested.

Seguir uma abordagem de infraestrutura como código para aprovisionamento.Take an infrastructure-as-code approach to provisioning. Minimize a quantidade de configuração manual necessária para aprovisionar os recursos.Minimize the amount of manual configuration needed to provision resources. Em vez disso, utilizar scripts e [do Azure Resource Manager] resource-manager modelos.Instead, use scripts and Azure Resource Manager templates. Mantenha os scripts e modelos no controle de origem, como qualquer outro código mantém.Keep the scripts and templates in source control, like any other code you maintain.

Considere a utilização de contentores.Consider using containers. Os contentores oferecem uma interface baseada em pacotes padrão para a implantação de aplicativos.Containers provide a standard package-based interface for deploying applications. Através de contentores, uma aplicação é implementada usando pacotes independentes que incluem a qualquer software, dependências e os ficheiros necessários para executar o aplicativo, que simplifica bastante o processo de implantação.Using containers, an application is deployed using self-contained packages that include any software, dependencies, and files needed to run the application, which greatly simplifies the deployment process.

Contentores também criar uma camada de abstração entre o aplicativo e sistema operacional subjacente, que fornece consistência em todos os ambientes.Containers also create an abstraction layer between the application and the underlying operating system, which provides consistency across environments. Essa abstração também pode isolar um contentor a partir de outros processos ou aplicações em execução num anfitrião.This abstraction can also isolate a container from other processes or applications running on a host.

Implementar a resiliência e autorrecuperação.Implement resiliency and self-healing. Resiliência é a capacidade de uma aplicação para recuperar de falhas.Resiliency is the ability of an application to recover from failures. Estratégias de resiliência incluem a repetir a falhas transitórias e efetuar a ativação pós-falha para uma instância secundária ou até mesmo noutra região.Strategies for resiliency include retrying transient failures, and failing over to a secondary instance or even another region. Para obter mais informações, consulte conceber confiáveis aplicações do Azure .For more information, see Designing reliable Azure applications . Instrumente seus aplicativos para que forem reportados problemas imediatamente e pode gerir as falhas ou outras falhas de sistema.Instrument your applications so that issues are reported immediately and you can manage outages or other system failures.

Ter um manual de operações.Have an operations manual. Um manual de operações ou runbook documenta os procedimentos e informações de gestão necessárias para a equipe de operações para manter um sistema.An operations manual or runbook documents the procedures and management information needed for operations staff to maintain a system. Documente também todos os cenários de operações e os planos de redução que podem surgir durante uma falha ou outra perturbação ao seu serviço.Also document any operations scenarios and mitigation plans that might come into play during a failure or other disruption to your service. Crie esta documentação durante o processo de desenvolvimento e mantê-lo atualizado posteriormente.Create this documentation during the development process, and keep it up to date afterwards. Isso é um documento dinâmico e deve ser revisto, testado e melhorado regularmente.This is a living document, and should be reviewed, tested, and improved regularly.

Documentação partilhada é fundamental.Shared documentation is critical. Encoraje os membros da Equipe contribuem e partilhar conhecimentos.Encourage team members to contribute and share knowledge. Toda a equipe deve ter acesso a documentos.The entire team should have access to documents. Torna mais fácil para qualquer pessoa da Equipe para o ajudar a manter os documentos atualizados.Make it easy for anyone on the team to help keep documents updated.

Documente procedimentos na chamada.Document on-call procedures. Certifique-se na chamada, agendas, impostos e procedimentos são documentados e partilhados com todos os membros da equipe.Make sure on-call duties, schedules, and procedures are documented and shared to all team members. Manter essas informações atualizadas em todos os momentos.Keep this information up-to-date at all times.

Procedimentos de escalonamento de documento para dependências de terceiros.Document escalation procedures for third-party dependencies. Se seu aplicativo depende de serviços de terceiros externos que não controla diretamente, tem de ter um plano para lidar com falhas.If your application depends on external third-party services that you don't directly control, you must have a plan to deal with outages. Crie documentação para os seus processos de atenuação planeada.Create documentation for your planned mitigation processes. Inclua contactos de suporte e os caminhos de escalonamento.Include support contacts and escalation paths.

Utilize a gestão de configuração.Use configuration management. Alterações de configuração devem ser planeada, visível para operações e gravado.Configuration changes should be planned, visible to operations, and recorded. Este processo poderá demorar a forma de uma base de dados de gestão de configuração ou uma abordagem de configuração como código.This could take the form of a configuration management database, or a configuration-as-code approach. Configuração deve ser auditada regularmente para garantir que o esperado é, na verdade, no local.Configuration should be audited regularly to ensure that what's expected is actually in place.

Obtenha um plano de suporte do Azure e compreender o processo.Get an Azure support plan and understand the process. O Azure oferece diversas planos de suporte.Azure offers a number of support plans. Determinar o plano certo para as suas necessidades e certifique-se de que toda a equipe sabe como usá-lo.Determine the right plan for your needs, and make sure the entire team knows how to use it. Os membros da Equipe devem compreender os detalhes do plano, como funciona o processo de suporte e como abrir um pedido de suporte com o Azure.Team members should understand the details of the plan, how the support process works, and how to open a support ticket with Azure. Se estiver a prever um evento de grande escala, o suporte do Azure pode ajudar a aumentar os limites de serviço.If you are anticipating a high-scale event, Azure support can assist you with increasing your service limits. Para obter mais informações, consulte a FAQ do suporte do Azure.For more information, see the Azure Support FAQs.

Ao conceder acesso aos recursos, siga os princípios de privilégios mínimos.Follow least-privilege principles when granting access to resources. Gerenciar cuidadosamente o acesso aos recursos.Carefully manage access to resources. O acesso deve ser negado por predefinição, a menos que um utilizador é explicitamente fornecido acesso a um recurso.Access should be denied by default, unless a user is explicitly given access to a resource. Só conceda um acesso de utilizador para o que necessitam para completarem suas tarefas.Only grant a user access to what they need to complete their tasks. Controlar permissões de utilizador e realizar auditorias de segurança regulares.Track user permissions and perform regular security audits.

Utilize o controlo de acesso baseado em funções.Use role-based access control. Atribuição de contas de utilizador e o acesso a recursos não deve ser um processo manual.Assigning user accounts and access to resources should not be a manual process. Uso [controlo de acesso baseado em funções] rbac (RBAC) concessão de acesso com base no [Azure Active Directory] azure-ad identidades e de grupos.Use role-based access control (RBAC) grant access based on Azure Active Directory identities and groups.

Utilize um sistema de rastreamento de bug para controlar problemas.Use a bug tracking system to track issues. Sem uma boa forma de controlar problemas, é fácil perder itens, duplicar o trabalho ou introduzir problemas adicionais.Without a good way to track issues, it's easy to miss items, duplicate work, or introduce additional problems. Não contam com uma comunicação informal entre pessoas para acompanhar o status de bugs.Don't rely on informal person-to-person communication to track the status of bugs. Utilize uma ferramenta de controlo de bugs para registrar os detalhes sobre problemas, atribuir recursos para corrigi-las e fornecer uma trilha de auditoria de estado e progresso.Use a bug tracking tool to record details about problems, assign resources to address them, and provide an audit trail of progress and status.

Gerir todos os recursos num sistema de gerenciamento de alterações.Manage all resources in a change management system. Todos os aspectos de seu processo de DevOps devem ser incluídos num sistema de controle de versão, de gestão e para que as alterações podem ser facilmente controladas e auditadas.All aspects of your DevOps process should be included in a management and versioning system, so that changes can be easily tracked and audited. Isto inclui o código, infraestrutura, configuração, documentação e scripts.This includes code, infrastructure, configuration, documentation, and scripts. Trate todos esses tipos de recursos como o código por todo o processo de compilação/teste/revisão.Treat all these types of resources as code throughout the test/build/review process.

Utilize listas de verificação.Use checklists. Crie listas de verificação de operações para garantir a processos são seguidos.Create operations checklists to ensure processes are followed. É comum que pode perder algo numa grande manual e uma lista de verificação a seguir pode forçar a atenção aos detalhes que caso contrário podem passar despercebido.It’s common to miss something in a large manual, and following a checklist can force attention to details that might otherwise be overlooked. Manter as listas de verificação e continuamente procurem por maneiras de automatizar tarefas e simplificar processos.Maintain the checklists, and continually look for ways to automate tasks and streamline processes.

Para saber mais sobre DevOps, consulte [What ' s DevOps?] what-is-devops no site do Visual Studio.For more about DevOps, see What is DevOps? on the Visual Studio site.