O pilar da confiabilidade do Google Cloud framework bem arquitetado (em inglês) apresenta 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.
Confiabilidade é a capacidade do sistema de executar consistentemente as funções pretendidas dentro das condições definidas e manter o serviço ininterrupto. As práticas recomendadas de 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 suportar falhas ou interrupções inesperadas, mantendo o desempenho. Google Cloud Recursos, como implantações multirregionais, backups automatizados e soluções de recuperação de desastres, ajudam a melhorar a resiliência do sistema.
A confiabilidade é importante para sua estratégia de nuvem por vários motivos, incluindo:
- Inatividade mínima: a inatividade pode levar a perda de receita, redução da produtividade e danos à reputação. As arquiteturas resilientes podem ajudar a garantir que os sistemas continuem funcionando durante falhas ou se recuperem de modo eficiente durante essas falhas.
- Experiência do usuário aprimorada: os usuários esperam interações perfeitas com a tecnologia. Os sistemas resilientes ajudam a manter o desempenho e a disponibilidade consistentes, além de fornecer um serviço confiável mesmo durante alta demanda ou problemas inesperados.
- Integridade dos dados: as falhas podem causar perda ou corrupção de dados. Os 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 dos 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.
- Conformidade: muitos setores têm requisitos regulatórios para disponibilidade de sistemas 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.
- Custos de longo prazo mais baixos: arquiteturas resilientes exigem investimento inicial, mas a resiliência pode ajudar a reduzir os custos ao longo do tempo, evitando inatividade cara, evitando correções reativas e permitindo um uso mais eficiente de recursos.
Mentalidade organizacional
Para tornar seus sistemas confiáveis, você precisa de um plano e uma estratégia estabelecida. Essa estratégia precisa incluir educação e autoridade para priorizar a confiabilidade ao lado de outras iniciativas.
Defina com clareza 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, na sigla em inglês). Até mesmo grupos focados em negócios, como marketing e vendas, podem influenciar a confiabilidade.
Toda equipe precisa entender as metas de confiabilidade e os riscos dos aplicativos. As equipes precisam ser responsáveis por esses requisitos. Conflitos entre a confiabilidade e o desenvolvimento regular de recursos de produtos precisam ser priorizados e escalados adequadamente.
Planeje e gerencie a confiabilidade de maneira holística em todas as suas funções e equipes. Considere configurar um Centro de excelência em nuvem (CCoE, na sigla em inglês) que inclua um pilar de confiabilidade. Para mais informações, acesse Otimizar a jornada da sua organização para a nuvem com um Centro de Excelência em Nuvem.
Áreas de foco para confiabilidade
As atividades realizadas 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 interagem, como os dados e as ações fluem pelo sistema e o que pode dar errado. Identifique possíveis falhas, gargalos e riscos que ajudem 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. Por meio dessa observação, é possível entender tendências e identificar problemas em potencial de maneira proativa.
- Resposta: para reduzir o impacto das falhas, responda adequadamente e recupere-se de forma eficiente. Respostas automatizadas também podem ajudar a reduzir o impacto das falhas. Mesmo com planejamento e controles, ainda podem ocorrer falhas.
- Aprendizado: para ajudar a evitar falhas recorrentes, aprenda com cada experiência e tome as ações apropriadas.
Princípios básicos
As recomendações no pilar de confiabilidade do framework bem-arquitetado estão associadas aos seguintes princípios fundamentais:
- Definir a confiabilidade com base nas metas de experiência do usuário
- Definir metas realistas de confiabilidade
- Criar sistemas altamente disponíveis com redundância de recursos
- Aproveitar a escalonabilidade horizontal
- Detectar possíveis falhas usando a observabilidade
- Design voltado à degradação suave
- Realizar testes para recuperação de falhas
- Realizar testes para recuperação de perda de dados
- Realizar análises post-mortem completas
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 técnico de programa
- Brian Kudzia, engenheiro de clientes de infraestrutura empresarial
- Daniel Lees | Arquiteto de segurança do Cloud
- Filipe Gracio, PhD | Engenheiro de clientes
- Gary Harmson | Arquiteto principal
- 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
- Samantha He | Redatora técnica
- Wade Holmes | Diretor de soluções globais
- Zach Seils | Especialista em rede