Excelência operacional
O pilar (pilar) inclui (descrição)
O pilar Excelência operacional apresenta uma visão geral dos princípios de design, melhores práticas e perguntas. Você pode encontrar orientações prescritivas sobre implementação no whitepaper Pilar Excelência operacional.
Princípios de design
Existem (contagem) princípios do projeto para (pilar inferior) na nuvem:
-
Executar operações como código: Na nuvem, você pode aplicar a mesma disciplina de engenharia usada para o código do aplicativo em todo o ambiente. É possível definir toda a sua carga de trabalho (aplicativos, infraestrutura) como código e atualizá-la com código. Você pode implementar seus procedimentos de operações como código e automatizar sua execução acionando-os em resposta a eventos. Ao executar operações como código, você limita o erro humano e permite respostas consistentes aos eventos.
-
Fazer alterações frequentes, pequenas e reversíveis: Projetar cargas de trabalho para permitir que os componentes sejam atualizados regularmente. Faça alterações em pequenos incrementos que possam ser revertidas em caso de falha (sem afetar os clientes quando possível).
-
Refinar procedimentos de operações com frequência: Ao usar os procedimentos de operação, procure oportunidades para melhorá-los. Conforme você evolui sua carga de trabalho, evolua seus procedimentos adequadamente. Organize dias de jogo regularmente para analisar e validar se todos os procedimentos são eficazes e se as equipes estão familiarizadas com eles.
-
Antecipar falhas: Execute os exercícios “pré-mortem” para identificar as potenciais origens de falhas, para que assim elas possam ser removidas ou mitigadas. Testar cenários de fala e validar como você compreende o impacto deles. Teste seus procedimentos de resposta para garantir que eles são eficazes e que as equipes estão familiarizadas com a execução deles. Organize dias de jogo regularmente para testar cargas de trabalho e respostas da equipe a eventos simulados.
-
Aprenda com todas as falhas operacionais: Promova a melhoria através das lições aprendidas em todos os eventos e falhas operacionais. Compartilhe o que foi aprendido com as equipes e a organização inteira.
Definição
Existem (contagem) melhores práticas para (pilar inferior) na nuvem:
A liderança da sua organização define objetivos empresariais. Sua organização deve compreender requisitos e prioridades e usá-los para organizar e conduzir trabalhos para apoiar a obtenção de resultados empresariais. Sua carga de trabalho deve emitir as informações necessárias para apoiá-la. A implementação de serviços para possibilitar a integração, a implantação e a entrega de sua carga de trabalho permitirá um fluxo maior de alterações benéficas na produção por meio da automação de processos repetitivos.
Pode haver riscos inerentes à operação da carga de trabalho. Você deve compreender esses riscos e tomar uma decisão embasada para entrar na produção. Suas equipes devem ser capazes de dar suporte à sua carga de trabalho. As métricas operacionais e de negócios derivadas dos resultados de negócios desejados permitirão que você compreenda a integridade da carga de trabalho e as atividades de operações e responda a incidentes. Suas prioridades mudarão à medida que suas necessidades de negócios e o ambiente de negócios mudarem. Use isso como um ciclo de comentários para promover continuamente melhorias para a sua organização e a operação da sua carga de trabalho.
Melhores práticas
Organização
Suas equipes precisam ter um entendimento compartilhado de toda a sua carga de trabalho, da função que desempenham em tudo isso e dos objetivos de negócios compartilhados a fim de definir as prioridades que permitirão o êxito dos negócios. Prioridades bem definidas maximizarão os benefícios dos seus esforços. Avalie as necessidades de clientes internos e externos, envolvendo as principais partes interessadas, incluindo equipes corporativas, de desenvolvimento e operacionais, a fim de determinar onde concentrar os esforços. A avaliação das necessidades do cliente garantirá que você tenha um entendimento completo do suporte necessário para obter resultados nos negócios. Esteja ciente das diretrizes ou obrigações definidas pela governança organizacional e de fatores externos, como requisitos de conformidade regulamentar e normas do setor, que podem exigir ou enfatizar um foco específico. Confirme se você tem os mecanismos para identificar alterações na governança interna e nos requisitos de conformidade externos. Se nenhum requisito for identificado, aplique a auditoria devida para essa determinação. Analise suas prioridades regularmente para que elas possam ser atualizadas conforme as necessidades mudam.
Avalie ameaças à empresa (por exemplo, riscos e passivos empresariais e ameaças à segurança da informação) e mantenha essas informações em um registro de risco. Avalie o impacto dos riscos e as compensações entre interesses concorrentes ou abordagens alternativas. Por exemplo, a aceleração da velocidade de entrada no mercado de novos recursos pode ser enfatizada em relação à otimização de custos, ou você pode escolher um banco de dados relacional para dados não relacionais para simplificar o esforço de migração de um sistema. Gerencie benefícios e riscos para tomar decisões informadas ao determinar onde concentrar os esforços. Alguns riscos ou opções podem ser aceitáveis por um tempo. Talvez seja possível mitigar os riscos associados ou talvez seja inaceitável permitir que um risco permaneça; nesse caso você tomará as devidas medidas para resolver o risco.
Suas equipes devem compreender o papel delas na obtenção de resultados empresariais. As equipes precisam entender o papel delas no êxito de outras equipes e a função das outras equipes no êxito delas e ter objetivos compartilhados. Entender a responsabilidade, a propriedade, como as decisões são tomadas e quem tem autoridade para tomar decisões ajudará a concentrar os esforços e maximizar os benefícios das suas equipes. As necessidades de uma equipe são modeladas pelo cliente que ela auxilia, pela organização, pela formação da equipe e pelas características da carga de trabalho. Não é sensato esperar que um modelo operacional único seja capaz de dar suporte a todas as equipes e suas respectivas cargas de trabalho em sua organização.
Certifique-se de que haja proprietários identificados para cada componente de aplicativo, carga de trabalho, plataforma e infraestrutura, e que cada processo e procedimento tenha um proprietário identificado responsável pela definição e proprietários responsáveis pela performance. Entender o valor empresarial de cada componente, processo e procedimento, da razão pela qual esses recursos estão em vigor ou de por que as atividades são executadas e por que essa propriedade existe informará as ações dos membros da equipe. Defina claramente as responsabilidades dos membros da equipe para que eles possam agir adequadamente e ter mecanismos para identificar responsabilidade e propriedade. Tenha mecanismos para solicitar adições, alterações e exceções para que você não restrinja a inovação. Defina contratos entre equipes que descrevem como elas trabalham juntas para apoiar umas às outras e seus resultados de negócios.
Forneça suporte aos membros da equipe para que eles possam ser mais eficazes na tomada de ações e no suporte aos resultados empresariais. A liderança sênior engajada deve definir expectativas e medir o sucesso. Ela deve ser patrocinadora, defensora e motivadora da adoção das melhores práticas e da evolução da organização. Capacite os membros da equipe a tomar medidas quando os resultados estiverem em risco para minimizar o impacto e os incentive a encaminhar para os tomadores de decisão e as partes interessadas quando acharem que há um risco para que isso possa ser resolvido e evitar incidentes. Forneça comunicações oportunas, claras e acionáveis de riscos conhecidos e eventos planejados para que os membros da equipe possam tomar as medidas apropriadas e oportunas.
Incentive a experimentação para acelerar o aprendizado e manter os membros da equipe interessados e envolvidos. As equipes devem aumentar os conjuntos de habilidades para adotar novas tecnologias e apoiar mudanças na demanda e nas responsabilidades. Dê apoio e incentivo a isso fornecendo um tempo de estrutura dedicado para o aprendizado. Garanta que os membros da equipe tenham os recursos, tanto ferramentas quanto pessoas, para serem bem-sucedidos e escalar para auxiliar os resultados empresariais. Aproveite a diversidade entre organizações para buscar várias perspectivas únicas. Use essa abordagem para aumentar a inovação, desafiar suas suposições e reduzir o risco de viés de confirmação. Aumente a inclusão, a diversidade e a acessibilidade em suas equipes para obter perspectivas benéficas.
Se houver requisitos externos de regulamentação ou conformidade aplicáveis à sua organização, use os recursos fornecidos pela Conformidade com a nuvem AWS para ajudar a instruir suas equipes de modo que elas possam determinar o impacto em suas prioridades. O Well-Architected Framework enfatiza o aprendizado, a medição e a melhoria. Ele fornece uma abordagem consistente para você avaliar arquiteturas e implementar projetos que aumentarão de escala ao longo do tempo. A AWS fornece o AWS Well-Architected Tool para ajudar você a analisar sua abordagem antes do desenvolvimento, o estado das cargas de trabalho antes da produção e o estado das cargas de trabalho na produção. Você pode compará-las com as melhores práticas de arquitetura da AWS mais recentes, monitorar o status geral de suas cargas de trabalho e obter insights sobre possíveis riscos. O AWS Trusted Advisor é uma ferramenta que fornece acesso a um conjunto principal de verificações que recomendam otimizações que podem ajudar a moldar suas prioridades. Os clientes Business e Enterprise Support recebem acesso a verificações adicionais com foco em segurança, confiabilidade, performance e otimização de custos que podem ajudar a moldar as prioridades.
A AWS pode ajudar a instruir suas equipes sobre a AWS e os serviços oferecidos por ela para aumentar o entendimento do impacto das opções na carga de trabalho. Você deve usar os recursos fornecidos pelo AWS Support (AWS Knowledge Center, AWS Discussion Forms e AWS Support Center) e pelo AWS Documentation para educar suas equipes. Entre em contato com o AWS Support pelo AWS Support Center para receber ajuda com suas perguntas da AWS. A AWS também compartilha melhores práticas e padrões que aprendemos durante a operação da AWS na Amazon Builders' Library. Uma variedade de outras informações úteis está disponível no blog da AWS e no podcast oficial da AWS. O AWS Training and Certification oferece treinamento gratuito por meio de cursos digitais autoguiados sobre os fundamentos da AWS. Você também pode se inscrever para um treinamento presencial com instrutor para apoiar ainda mais o desenvolvimento das habilidades de suas equipes com a AWS.
Você deve usar ferramentas ou serviços que permitam controlar centralmente seus ambientes em todas as contas, como o AWS Organizations, para ajudar a gerenciar seus modelos operacionais. Serviços como o AWS Control Tower expandem esse recurso de gerenciamento, permitindo que você defina esquemas (compatíveis com modelos operacionais) para a configuração de contas, aplique governança contínua usando o AWS Organizations e automatize o provisionamento de novas contas. Os provedores de serviços gerenciados, como o AWS Managed Services, o AWS Managed Services Partners ou provedores de serviços gerenciados na rede de parceiros da AWS, fornecem especialização na implementação de ambientes de nuvem e dão suporte aos seus requisitos de segurança e conformidade e objetivos empresariais. A adição de serviços gerenciados ao seu modelo operacional pode economizar tempo e recursos, além de permitir que você mantenha as equipes internas reduzidas e focadas em resultados estratégicos que diferenciarão seus negócios, em vez de desenvolver novas habilidades e recursos.
As perguntas a seguir se concentram nessas considerações para (pilar inferior).
Em determinado momento, talvez você deseje destacar um pequeno subconjunto de prioridades. Use uma abordagem equilibrada em longo prazo para garantir o desenvolvimento dos recursos necessários e o gerenciamento de riscos. Reveja as prioridades regularmente e as atualize conforme as necessidades mudam. Quando a responsabilidade e a propriedade não foram definidas ou não são conhecidas, você corre o risco de não realizar as ações necessárias em tempo hábil e de despender esforços redundantes e possivelmente conflitantes para atender a essas necessidades. A cultura organizacional tem impacto direto na satisfação com a tarefa e na retenção dos membros da equipe. Incentive o envolvimento e as habilidades dos membros da equipe para promover o êxito da sua empresa. A experimentação é necessária para que a inovação ocorra e transforme ideias em resultados. Reconheça que um resultado indesejado é um experimento com êxito que identificou um caminho que não levará ao êxito.
Preparar
Para se preparar para a excelência operacional, você precisa entender suas cargas de trabalho e os comportamentos esperados. Você poderá projetá-los para fornecer insights sobre seu status e criar os procedimentos para apoiá-los.
Projete sua carga de trabalho para que as informações necessárias sejam fornecidas a fim de que você entenda seu estado interno (tais como métricas, logs, eventos e rastreamento) em todos os componentes, em apoio à capacidade de observação e à investigação de problemas. Itere para desenvolver a telemetria necessária para monitorar a integridade da carga de trabalho, identificar quando os resultados estão em risco e permitir respostas eficazes. Ao instrumentar sua carga de trabalho, colete um amplo conjunto de informações para permitir a percepção situacional (por exemplo, alterações de estado, atividade do usuário, acesso a privilégios, contadores de utilização), sabendo que é possível usar filtros para selecionar as informações mais úteis ao longo do tempo.
Adote abordagens que melhoram o fluxo de alterações na produção e permitem refatoração, comentários rápidos sobre a qualidade e correção de erros. Isso acelera as alterações benéficas que entram na produção, limita os problemas implantados e permite a rápida identificação e correção dos problemas introduzidos pelas atividades de implantação ou descobertos em seus ambientes.
Adote abordagens que forneçam feedback rápido sobre a qualidade e permitam recuperação rápida de alterações que não têm os resultados desejados. O uso dessas práticas reduz o impacto dos problemas introduzidos pela implantação de mudanças. Planeje alterações malsucedidas para que você possa responder mais rapidamente, se necessário, e testar e validar as alterações feitas. Esteja ciente das atividades planejadas em seus ambientes para que você possa gerenciar o risco de alterações que afetem as atividades planejadas. Enfatize alterações frequentes, pequenas e reversíveis para limitar o escopo das alterações. Isso resulta em solução de problemas mais fácil e correção mais rápida, com a opção de reverter uma alteração. Isso também significa que você pode conseguir o benefício de alterações valiosas com mais frequência.
Avalie a prontidão operacional de carga de trabalho, processos, procedimentos e pessoal para compreender os riscos operacionais relacionados à carga de trabalho. Você deve usar um processo consistente (incluindo listas de verificação manuais ou automatizadas) para saber quando está pronto para trabalhar com sua carga de trabalho ou para fazer uma mudança. Isso também permitirá que você encontre as áreas que precisa abordar. Tenha runbooks que documentem suas atividades de rotina e playbooks que orientem seus processos para a resolução de problemas. Entenda os benefícios e os riscos para tomar decisões informadas para permitir que as alterações entrem na produção.
A AWS permite que você visualize toda a carga de trabalho (aplicativos, infraestrutura, política, governança e operações) como código. Tudo pode ser definido e atualizado usando o código. Isso significa que você pode aplicar a mesma disciplina de engenharia usada para o código do aplicativo a cada elemento da pilha e compartilhá-los entre equipes ou organizações para ampliar os benefícios dos esforços de desenvolvimento. Use operações como código na nuvem e a capacidade de experimentar com segurança para desenvolver sua carga de trabalho, procedimentos de operações e praticar falhas. O uso do AWS CloudFormation permite que você tenha ambientes consistentes, com modelos, desenvolvimento de sandbox, teste e produção de área restrita, com níveis crescentes de controle de operações.
As perguntas a seguir se concentram nessas considerações para (pilar inferior).
Invista na implementação de atividades operacionais como código para maximizar a produtividade do pessoal de operações, minimizar taxas de erro e permitir respostas automatizadas. Use as estratégias “pre-mortem” para antecipar falhas e criar procedimentos, quando apropriado. Aplique metadados usando tags de recursos e AWS Resource Groups seguindo uma estratégia consistente de marcação para permitir a identificação de seus recursos. Identifique seus recursos para organização, contabilidade de custos, controles de acesso e direcione a execução de atividades operacionais automatizadas. Adote práticas de implantação que aproveitem a elasticidade da nuvem para facilitar as atividades de desenvolvimento e a pré-implantação de sistemas para implementações mais rápidas. Ao fazer alterações nas listas de verificação usadas para avaliar suas cargas de trabalho, planeje o que você fará com sistemas ativos que não estejam mais em conformidade.
Operar
A operação bem-sucedida de uma carga de trabalho é medida pela obtenção de resultados de negócios e de clientes. Defina os resultados esperados, determine como o sucesso será medido e identifique as métricas que serão usadas nesses cálculos para determinar se a carga de trabalho e as operações foram bem-sucedidas. A integridade operacional inclui a integridade da carga de trabalho e a integridade e o sucesso de operações realizadas em apoio à carga de trabalho (por exemplo, implantação e resposta a incidentes). Estabeleça linhas de base de métricas para melhoria, investigação e intervenção, colete e analise as métricas e valide seu entendimento sobre o sucesso das operações e como elas mudam ao longo do tempo. Use as métricas coletadas para determinar se você está satisfazendo as necessidades do cliente e da empresa e identifique áreas para melhoria.
É necessário um gerenciamento eficiente e eficaz dos eventos operacionais para alcançar a excelência operacional. Isso se aplica a eventos operacionais planejados e não planejados. Use runbooks estabelecidos para eventos bem compreendidos e use manuais para ajudar na investigação e na resolução de problemas. Priorize respostas a eventos com base no impacto nos negócios e no cliente. Assegure que caso um alerta seja gerado em resposta a um evento, exista um processo associado a ser executado com um proprietário especificamente identificado. Defina com antecedência o pessoal necessário para resolver um evento e inclua acionadores de encaminhamento para envolver pessoal adicional, conforme necessário, com base na urgência e no impacto. Identifique e envolva indivíduos com autoridade para tomar uma decisão sobre cursos de ação em que haverá um impacto nos negócios resultante de uma resposta de evento não abordada anteriormente.
Comunique o status operacional das cargas de trabalho por meio de painéis e notificações adaptadas ao público-alvo (por exemplo, cliente, empresa, desenvolvedores, operações) para que eles possam tomar as ações adequadas, para que suas expectativas sejam gerenciadas e para que sejam informados quando as operações normais forem retomadas.
Na AWS, você pode gerar visualizações do painel de suas métricas coletadas de cargas de trabalho e nativamente da AWS. Você pode aproveitar o CloudWatch ou aplicativos de terceiros para agregar e apresentar visualizações em nível de operações de negócios, carga de trabalho e atividades operacionais. A AWS fornece informações sobre a carga de trabalho por meio de recursos de registro em log, incluindo o AWS X-Ray, CloudWatch, CloudTrail e VPC Flow Logs, permitindo a identificação de problemas de carga de trabalho no suporte à análise e correção da causa raiz.
As perguntas a seguir se concentram nessas considerações para (pilar inferior).
Todas as métricas coletadas devem estar alinhadas a uma necessidade comercial e aos resultados que elas auxiliam. Desenvolva respostas com script para eventos bem compreendidos e automatize a performance deles em resposta ao reconhecimento do evento.
Evoluir
Você deve aprender, compartilhar e melhorar continuamente para manter a excelência operacional. Dedique ciclos de trabalho para fazer melhorias incrementais contínuas. Execute uma análise pós-incidente de todos os eventos que afetam o cliente. Identifique os fatores que contribuem e a ação preventiva para limitar ou evitar a recorrência. Comunique fatores contribuintes às comunidades afetadas, conforme adequado. Avalie e priorize regularmente oportunidades de melhoria (por exemplo, solicitações de recursos, correção de problemas e requisitos de conformidade), incluindo a carga de trabalho e os procedimentos operacionais. Inclua ciclos de comentários nos procedimentos para identificar rapidamente áreas que podem ser melhoradas e aprender com a execução das operações.
Compartilhe as lições aprendidas entre as equipes para compartilhar os benefícios dessas lições. Analise as tendências nas lições aprendidas e execute análises retrospectivas entre as equipes de métricas de operações para identificar oportunidades e métodos de melhoria. Implemente alterações destinadas a trazer melhorias e avaliar os resultados para determinar o sucesso.
Na AWS, você pode exportar seus dados de log para o Amazon S3 ou enviar logs diretamente para o Amazon S3 para armazenamento de longo prazo. Usando o AWS Glue, você pode descobrir e preparar dados de log no Amazon S3 para estudo analítico, armazenando metadados associados no AWS Glue Data Catalog. O Amazon Athena, por meio da integração nativa com o Glue, pode ser usado para analisar dados de log, consultando-os com o SQL padrão. Uma ferramenta de inteligência de negócios como o Amazon QuickSight permite visualizar, explorar e analisar dados. Descoberta de tendências e eventos de interesse que podem promover melhorias.
As perguntas a seguir se concentram nessas considerações para (pilar inferior).
OPS 11: Como você evolui as operações? |
A evolução bem-sucedida das operações baseia-se em: pequenas melhorias frequentes; fornecer ambientes seguros e tempo para experimentar, desenvolver e testar melhorias; e ambientes em que o aprendizado com falhas é incentivado. O suporte de operações de ambientes de sandbox, desenvolvimento, teste e produção, com nível crescente de controles operacionais, facilita o desenvolvimento e aumenta a previsibilidade de resultados bem-sucedidos das alterações implementadas na produção.
Recursos
Consulte os seguintes recursos para saber mais sobre nossas melhores práticas para (pilar).
Operational Excellence PillarDevOps and AWS
DevOps at Amazon