O pilar de confiabilidade no Framework de arquitetura doGoogle Cloud oferece princípios e recomendações para ajudar você a projetar, implantar e gerenciar cargas de trabalho confiáveis no Google Cloud.
Este documento é destinado a arquitetos de nuvem, desenvolvedores, engenheiros de plataforma, administradores e engenheiros de confiabilidade do site.
A confiabilidade é a capacidade de um sistema de executar consistentemente as funções desejadas dentro das condições definidas e manter o serviço ininterrupto. As práticas recomendadas para confiabilidade incluem redundância, design tolerante a falhas, monitoramento e processos de recuperação automatizados.
Como parte da confiabilidade, a resiliência é a capacidade do sistema de resistir e se recuperar de falhas ou interrupções inesperadas, mantendo o desempenho. Os recursosGoogle Cloud , como implantações multirregionais, backups automatizados e soluções de recuperação de desastres, podem ajudar a melhorar a resiliência do sistema.
A confiabilidade é importante para sua estratégia de nuvem por vários motivos, incluindo os seguintes:
- Tempo de inatividade mínimo: o tempo de inatividade pode levar a perda de receita, menor produtividade e danos à reputação. Arquiteturas resilientes podem ajudar a garantir que os sistemas continuem funcionando durante falhas ou se recuperem de forma eficiente.
- Experiência do usuário aprimorada: os usuários esperam interações perfeitas com a tecnologia. Sistemas resilientes podem ajudar a manter a performance e a disponibilidade consistentes e oferecem um serviço confiável mesmo durante alta demanda ou problemas inesperados.
- Integridade dos dados: falhas podem causar perda ou corrupção de dados. Sistemas resilientes implementam mecanismos como backups, redundância e replicação para proteger os dados e garantir que eles permaneçam precisos e acessíveis.
- Continuidade de negócios: sua empresa depende da tecnologia para operações críticas. As arquiteturas resilientes podem ajudar a garantir a continuidade após uma falha catastrófica, o que permite que as funções de negócios continuem sem interrupções significativas e oferece suporte a uma recuperação rápida.
- Compliance: muitos setores têm requisitos regulamentares para disponibilidade do sistema e proteção de dados. As arquiteturas resilientes podem ajudar você a atender a esses padrões, garantindo que os sistemas permaneçam operacionais e seguros.
- Menor custo a longo prazo: arquiteturas resilientes exigem investimento inicial, mas a resiliência pode ajudar a reduzir os custos ao longo do tempo, evitando tempos de inatividade caros, correções reativas e permitindo o uso de recursos mais eficiente.
Mentalidade organizacional
Para tornar seus sistemas confiáveis, você precisa de um plano e de uma estratégia estabelecida. Essa estratégia precisa incluir educação e autoridade para priorizar a confiabilidade com outras iniciativas.
Estabeleça uma expectativa clara de que toda a organização é responsável pela confiabilidade, incluindo desenvolvimento, gerenciamento de produtos, operações, engenharia de plataforma e engenharia de confiabilidade do site (SRE). Até mesmo grupos focados em negócios, como marketing e vendas, podem influenciar a confiabilidade.
Todas as equipes precisam entender as metas de confiabilidade e os riscos dos aplicativos. As equipes precisam ser responsáveis por esses requisitos. Os conflitos entre confiabilidade e desenvolvimento regular de recursos do produto precisam ser priorizados e escalados de acordo.
Planeje e gerencie a confiabilidade de forma holística em todas as funções e equipes. Considere configurar um Centro de Excelência em Nuvem (CCoE) que inclua um pilar de confiabilidade. Para mais informações, consulte Otimize a jornada de nuvem da sua organização com um Centro de Excelência em Nuvem.
Áreas de foco para confiabilidade
As atividades que você realiza para projetar, implantar e gerenciar um sistema confiável podem ser categorizadas nas seguintes áreas de foco. Cada um dos princípios e recomendações de confiabilidade deste pilar é relevante para uma dessas áreas de foco.
- Escopo: para entender seu sistema, faça uma análise detalhada da arquitetura dele. Você precisa entender os componentes, como eles funcionam e se interagem, como os dados e as ações fluem pelo sistema e o que pode dar errado. Identifique falhas, gargalos e riscos em potencial, o que ajuda você a tomar medidas para mitigar esses problemas.
- Observação: para ajudar a evitar falhas do sistema, implemente observação e monitoramento abrangentes e contínuos. Com essa observação, você pode entender as tendências e identificar possíveis problemas de forma proativa.
- Resposta: para reduzir o impacto das falhas, responda de forma adequada e se recupere de forma eficiente. As respostas automatizadas também podem ajudar a reduzir o impacto das falhas. Mesmo com planejamento e controles, as falhas ainda podem ocorrer.
- Aprendizado: para evitar que falhas ocorram novamente, aprenda com cada experiência e tome as medidas adequadas.
Princípios básicos
As recomendações no pilar de confiabilidade do Framework de arquitetura são mapeadas para os seguintes princípios básicos:
- Definir a confiabilidade com base nas metas de experiência do usuário
- Definir metas realistas de confiabilidade
- Criar sistemas altamente disponíveis com recursos redundantes
- Aproveite a escalabilidade horizontal
- Detectar possíveis falhas usando a observabilidade
- Projetar para degradação suave
- Realizar testes de recuperação de falhas
- Realizar testes de recuperação de perda de dados
- Realizar análises post mortem detalhadas
Colaboradores
Autores:
- Laura Hyatt | Arquiteta de nuvem corporativa
- Jose Andrade | Engenheiro de clientes de infraestrutura corporativa
- Gino Pelliccia | Arquiteto principal
Outros colaboradores:
- Andrés-Leonardo Martínez-Ortiz | Gerente de programa técnico
- Brian Kudzia | Engenheiro de clientes de infraestrutura empresarial
- Daniel Lees | Arquiteto de segurança do Cloud
- Filipe Gracio, PhD | Engenheiro de clientes
- Gary Harmson | Engenheiro de clientes
- Kumar Dhanagopal | Desenvolvedor de soluções para vários produtos
- Marwan Al Shawi | Engenheiro de clientes do parceiro
- Nicolas Pintaux | Engenheiro de clientes, especialista em modernização de aplicativos
- Radhika Kanakam | Gerente de programa sênior, GTM do Cloud
- Ryan Cox | Arquiteto principal
- Wade Holmes | Diretor de soluções globais
- Zach Seils | Especialista em rede