Este documento no Google Cloud Well-Architected Framework: perspectiva de serviços financeiros (FS) fornece uma visão geral dos princípios e recomendações para criar, implantar e operar cargas de trabalho de FS robustas no Google Cloud. Essas recomendações ajudam a configurar elementos básicos, como observabilidade, automação e escalonabilidade. As recomendações neste documento estão alinhadas com o pilar de excelência operacional do Well-Architected Framework.
A excelência operacional é fundamental para as cargas de trabalho de FS no Google Cloud devido à natureza altamente regulamentada e sensível dessas cargas de trabalho. A excelência operacional garante que as soluções de nuvem possam se adaptar às necessidades em evolução e atender aos requisitos de valor, desempenho, segurança e confiabilidade. Falhas nessas áreas podem resultar em perdas financeiras significativas, penalidades regulatórias e danos à reputação.
A excelência operacional oferece os seguintes benefícios para cargas de trabalho de FS:
- Manter a confiança e a reputação: as instituições financeiras dependem muito da confiança dos clientes. Interrupções operacionais ou violações de segurança podem prejudicar gravemente essa confiança e causar a perda de clientes. A excelência operacional ajuda a minimizar esses riscos.
Atender a requisitos rigorosos de compliance regulatório: os serviços financeiros estão sujeitos a regulamentações numerosas e complexas, como as seguintes:
- Regulamento geral de proteção de dados (GDPR) da União Europeia
- Lei de Resiliência Operacional Digital (DORA) da UE
- Lei de Privacidade do Consumidor da Califórnia (CCPA)
- Regulamentações específicas do setor
Processos operacionais, monitoramento e gerenciamento de incidentes robustos são essenciais para demonstrar conformidade com as regulamentações e evitar penalidades.
Garantir a continuidade e a resiliência dos negócios: os mercados e serviços financeiros geralmente operam de forma contínua. Por isso, a alta disponibilidade e a recuperação de desastres eficaz são fundamentais. Os princípios de excelência operacional orientam o design e a implementação de sistemas resilientes. O pilar de confiabilidade oferece mais orientações nessa área.
Proteção de dados sensíveis: as instituições financeiras lidam com grandes volumes de dados financeiros e de clientes altamente sensíveis. Controles operacionais fortes, monitoramento de segurança e resposta rápida a incidentes são cruciais para evitar violações de dados e manter a privacidade. O pilar de segurança oferece mais orientações nessa área.
Otimizar o desempenho de aplicativos essenciais: muitos aplicativos financeiros, como plataformas de negociação e análises em tempo real, exigem alto desempenho e baixa latência. Para atender a esses requisitos de desempenho, você precisa de um design de computação, rede e armazenamento altamente otimizado. O pilar de otimização de desempenho fornece mais orientações nessa área.
Gerenciar custos de maneira eficaz: além da segurança e da confiabilidade, as instituições financeiras também se preocupam com a eficiência de custos. A excelência operacional inclui práticas para otimizar a utilização de recursos e gerenciar os gastos na nuvem. O pilar de otimização de custos oferece mais orientações nessa área.
As recomendações de excelência operacional neste documento são mapeadas para os seguintes princípios fundamentais:
- Definir SLAs e os SLOs e SLIs correspondentes
- Definir e testar processos de gerenciamento de incidentes
- Aprimoramento e inovação contínuos
Definir SLAs e os SLOs e SLIs correspondentes
Em muitas organizações de SF, a disponibilidade de aplicativos normalmente é classificada com base nas métricas de objetivo de tempo de recuperação (RTO) e objetivo de ponto de recuperação (RPO). Para aplicativos essenciais aos negócios que atendem a clientes externos, um contrato de nível de serviço (SLA) também pode ser definido.
Os SLAs precisam de um framework de métricas que represente o comportamento do sistema sob a perspectiva da satisfação do usuário. As práticas de engenharia de confiabilidade do site (SRE) oferecem uma maneira de alcançar o nível de confiabilidade do sistema que você quer. Criar um framework de métricas envolve definir e monitorar os principais indicadores numéricos para entender a integridade do sistema do ponto de vista do usuário. Por exemplo, métricas como latência e taxas de erro quantificam o desempenho de um serviço. Essas métricas são chamadas de indicadores de nível de serviço (SLIs). Desenvolver SLIs eficazes é crucial, porque eles fornecem os dados brutos necessários para avaliar objetivamente a confiabilidade.
Para definir SLAs, SLIs e SLOs significativos, considere as seguintes recomendações:
- Desenvolver e definir SLIs para cada serviço crítico. Defina valores de meta que definem os níveis de desempenho aceitáveis.
- Desenvolva e defina os objetivos de nível de serviço (SLO) que correspondem aos SLIs. Por exemplo, um SLO pode declarar que 99,9% das solicitações precisam ter uma latência inferior a 200 milissegundos.
- Identifique as ações corretivas internas que precisam ser tomadas se um serviço não atender aos SLOs. Por exemplo, para melhorar a resiliência da plataforma, talvez seja necessário concentrar os recursos de desenvolvimento na correção de problemas.
- Validar o requisito de SLA para cada serviço e reconhecer o SLA como o contrato formal com os usuários do serviço.
Exemplos de níveis de serviço
A tabela a seguir mostra exemplos de SLIs, SLOs e SLAs para uma plataforma de pagamento:
| Métrica de negócios | SLI | SLO | SLA |
|---|---|---|---|
| Transação de pagamento concluída | Uma medida quantitativa da porcentagem de todas as transações de pagamento iniciadas que são processadas e confirmadas com sucesso. Exemplo: (número de transações bem-sucedidas ÷ número total de transações válidas) × 100, medido em uma janela contínua de 5 minutos. |
Uma meta interna para manter uma alta porcentagem de transações de pagamento bem-sucedidas durante um período específico. Exemplo: manter uma taxa de sucesso de transações de pagamento de 99,98% em um período de 30 dias, excluindo solicitações inválidas e manutenção planejada. |
Uma garantia contratual para a taxa de sucesso e a velocidade do processamento de transações de pagamento. Exemplo: o provedor de serviços garante que 99,0% das transações de pagamento iniciadas pelo cliente serão processadas e confirmadas em até um segundo. |
| Latência de processamento de pagamentos | O tempo médio que uma transação de pagamento leva para ser processada, desde o início pelo cliente até a confirmação final. Exemplo: tempo médio de resposta em milissegundos para confirmação de transação, medido em uma janela contínua de 5 minutos. |
Uma meta interna para a velocidade com que as transações de pagamento são processadas. Exemplo: garantir que 99,5% das transações de pagamento sejam processadas em até 400 milissegundos em uma janela contínua de 30 dias. |
Um compromisso contratual de resolver problemas críticos de processamento de pagamentos em um período especificado. Exemplo: para problemas críticos de processamento de pagamentos (definidos como uma interrupção que afeta mais de 1% das transações), o provedor de serviços se compromete a resolver o problema em até duas horas a partir do momento em que ele é relatado ou detectado. |
| Disponibilidade da plataforma | A porcentagem de tempo em que a API principal de processamento de pagamentos e a interface do usuário estão operacionais e acessíveis aos clientes. Exemplo: (tempo operacional total − inatividade) ÷ tempo operacional total × 100, medido por minuto. |
Uma meta interna para o tempo de atividade da plataforma de pagamento principal. Exemplo: alcançar 99,995% de disponibilidade da plataforma por mês, excluindo as janelas de manutenção programadas. |
Um compromisso formal e juridicamente vinculativo com os clientes em relação ao tempo de atividade mínimo da plataforma de pagamento, incluindo as consequências em caso de descumprimento. Exemplo: a plataforma vai manter uma disponibilidade mínima de 99,9% por mês, excluindo as janelas de manutenção programadas. Se a disponibilidade ficar abaixo do nível mínimo, o cliente receberá um crédito de serviço de 5% da taxa de serviço mensal para cada queda de 0,1%. |
Use os dados de SLI para monitorar se os sistemas estão dentro dos SLOs definidos e para garantir que os SLAs sejam atendidos. Ao usar um conjunto de SLIs bem definidos, engenheiros e desenvolvedores podem monitorar aplicativos de FS nos seguintes níveis:
- Diretamente no serviço em que os aplicativos são implantados, como o Google Kubernetes Engine ou o Cloud Run.
- Usando registros fornecidos por componentes de infraestrutura, como o balanceador de carga.
O OpenTelemetry fornece um padrão de código aberto e um conjunto de tecnologias para capturar todos os tipos de telemetria, incluindo métricas, traces e registros. O Serviço gerenciado do Google Cloud para Prometheus oferece um back-end totalmente gerenciado e altamente escalonável para métricas e operação do Prometheus em grande escala.
Para mais informações sobre SLI, SLO e margens de erro, consulte o manual de SRE.
Para desenvolver mecanismos e painéis de alerta e monitoramento eficazes, use as ferramentas do Google Cloud Observability com o Cloud Monitoring. Para informações sobre recursos de monitoramento e detecção específicos de segurança, consulte o pilar de segurança.
Definir e testar processos de gerenciamento de incidentes
Processos de gerenciamento de incidentes bem definidos e testados regularmente contribuem diretamente para o valor, o desempenho, a segurança e a confiabilidade das cargas de trabalho de FS no Google Cloud. Esses processos ajudam as instituições financeiras a atender aos requisitos regulatórios rigorosos, proteger dados sensíveis, manter a continuidade dos negócios e preservar a confiança dos clientes.
O teste regular dos processos de gerenciamento de incidentes oferece os seguintes benefícios:
- Manter o desempenho sob cargas de pico: testes regulares de desempenho e carga ajudam as instituições financeiras a garantir que os aplicativos e a infraestrutura baseados na nuvem possam lidar com volumes de transações de pico, volatilidade do mercado e outros cenários de alta demanda sem degradação do desempenho. Essa capacidade é crucial para manter uma experiência do usuário perfeita e atender às demandas dos mercados financeiros.
- Identificar possíveis gargalos e limitações: os testes de estresse levam os sistemas ao limite e permitem que as instituições financeiras identifiquem possíveis gargalos e limitações de desempenho antes que afetem as operações críticas. Essa abordagem proativa permite que as instituições financeiras ajustem a infraestrutura e os aplicativos para otimizar o desempenho e a escalonabilidade.
- Validar a confiabilidade e a resiliência: testes regulares, incluindo engenharia de caos ou falhas simuladas, ajudam a validar a confiabilidade e a resiliência dos sistemas financeiros. Esse teste garante que os sistemas possam se recuperar de falhas sem problemas e manter a alta disponibilidade, o que é essencial para a continuidade dos negócios.
- Realizar um planejamento de capacidade eficaz: os testes de desempenho fornecem dados valiosos sobre a utilização de recursos em diferentes condições de carga, o que é crucial para um planejamento de capacidade preciso. As instituições financeiras podem usar esses dados para antecipar proativamente as necessidades futuras de capacidade e evitar problemas de desempenho devido a restrições de recursos.
- Implantar novos recursos e mudanças de código com sucesso: a integração de testes automatizados em pipelines de CI/CD ajuda a garantir que as mudanças e as novas implantações sejam totalmente validadas antes de serem lançadas em ambientes de produção. Essa abordagem reduz significativamente o risco de erros e regressões que podem levar a interrupções operacionais.
- Atender aos requisitos regulatórios de estabilidade do sistema: as regulamentações financeiras geralmente exigem que as instituições tenham práticas de teste robustas para garantir a estabilidade e a confiabilidade dos sistemas críticos. Testes regulares ajudam a demonstrar a conformidade com esses requisitos.
Para definir e testar seus processos de gerenciamento de incidentes, considere as seguintes recomendações.
Estabelecer procedimentos claros de resposta a incidentes
Um conjunto bem estabelecido de procedimentos de resposta a incidentes envolve os seguintes elementos:
- Funções e responsabilidades definidas para comandantes de incidentes, investigadores, comunicadores e especialistas técnicos para garantir uma resposta eficaz e coordenada.
- Protocolos de comunicação e caminhos de escalonamento definidos para garantir que as informações sejam compartilhadas de maneira rápida e eficaz durante incidentes.
- Procedimentos documentados em um runbook ou playbook que descreve as etapas de comunicação, triagem, investigação e resolução.
- Treinamento e preparação regulares que capacitam as equipes com o conhecimento e as habilidades para responder de forma eficaz.
Implementar testes de desempenho e carga regularmente
Os testes regulares de desempenho e carga ajudam a garantir que os aplicativos e a infraestrutura baseados na nuvem possam lidar com cargas de pico e manter o desempenho ideal. O teste de carga simula padrões de tráfego realistas. O teste de estresse leva o sistema ao limite para identificar possíveis gargalos e limitações de desempenho. É possível usar produtos como o Cloud Load Balancing e serviços de teste de carga para simular o tráfego real. Com base nos resultados do teste, é possível ajustar a infraestrutura em nuvem e os aplicativos para otimizar o desempenho e a escalonabilidade. Por exemplo, é possível ajustar a alocação de recursos ou as configurações do aplicativo.
Automatizar testes em pipelines de CI/CD
A incorporação de testes automatizados aos pipelines de CI/CD ajuda a garantir a qualidade e a confiabilidade dos aplicativos em nuvem, validando as mudanças antes da implantação. Essa abordagem reduz significativamente o risco de erros e regressões e ajuda a criar um sistema de software mais estável e robusto. É possível incorporar diferentes tipos de teste nos pipelines de CI/CD, incluindo teste de unidade, de integração e completos. Use produtos como o Cloud Build e o Cloud Deploy para criar e gerenciar seus pipelines de CI/CD.
Melhorar e inovar continuamente
Para cargas de trabalho de serviços financeiros na nuvem, a migração para a nuvem é apenas a etapa inicial. A melhoria e a inovação contínuas são essenciais pelos seguintes motivos:
- Acelere a inovação: aproveite as novas tecnologias, como a IA, para melhorar seus serviços.
- Reduzir custos: elimine ineficiências e otimize o uso de recursos.
- Aumente a agilidade: adapte-se rapidamente às mudanças regulatórias e de mercado.
- Melhorar a tomada de decisões: use produtos de análise de dados, como o BigQuery e o Looker, para tomar decisões fundamentadas.
Para garantir a melhoria e a inovação contínuas, considere as seguintes recomendações.
Realizar retrospectivas regulares
As retrospectivas são vitais para melhorar continuamente os procedimentos de resposta a incidentes e otimizar as estratégias de teste com base nos resultados de testes regulares de desempenho e carga. Para garantir que as retrospectivas sejam eficazes, faça o seguinte:
- Dê às equipes a oportunidade de refletir sobre as experiências, identificar o que deu certo e apontar áreas de melhoria.
- Realize retrospectivas após marcos do projeto, incidentes graves ou ciclos de teste significativos. As equipes podem aprender com os sucessos e fracassos e refinar continuamente os processos e as práticas.
- Use uma abordagem estruturada, como o modelo começar-parar-continuar, para garantir que as sessões de retrospectiva sejam produtivas e levem a etapas acionáveis.
- Use retrospectivas para identificar áreas em que a automação do gerenciamento de mudanças pode ser aprimorada para melhorar a confiabilidade e reduzir os riscos.
Promover uma cultura de aprendizado
Uma cultura de aprendizado facilita a exploração segura de novas tecnologias em Google Cloud, como recursos de IA e ML para melhorar serviços como detecção de fraudes e consultoria financeira personalizada. Para promover uma cultura de aprendizado, faça o seguinte:
- Incentive as equipes a testar, compartilhar conhecimento e aprender continuamente.
- Adote uma cultura livre de humilhação, em que as falhas são vistas como oportunidades de crescimento e melhoria.
- Crie um ambiente psicologicamente seguro que permita que as equipes assumam riscos e considerem soluções inovadoras. As equipes aprendem com os sucessos e os fracassos, o que leva a uma organização mais resiliente e adaptável.
- Desenvolva uma cultura que facilite o compartilhamento do conhecimento adquirido com processos de gerenciamento de incidentes e exercícios de teste.
Ficar por dentro das tecnologias de nuvem
O aprendizado contínuo é essencial para entender e implementar novas medidas de segurança, aproveitar a análise de dados avançada para gerar insights melhores e adotar soluções inovadoras relevantes para os serviços financeiros.
- Maximize o potencial dos serviços do Google Cloud ficando por dentro dos avanços, recursos e práticas recomendadas mais recentes.
- Quando novos recursos e serviços do Google Cloud forem lançados, identifique oportunidades para automatizar ainda mais os processos, aumentar a segurança e melhorar o desempenho e a escalonabilidade dos seus aplicativos.
- Participe de conferências, webinars e sessões de treinamento relevantes para ampliar seu conhecimento e entender os novos recursos.
- Incentive os membros da equipe a obter certificações doGoogle Cloud para garantir que a organização tenha as habilidades necessárias para o sucesso na nuvem.