Este documento do Google Cloud Well-Architected Framework: perspectiva do setor de serviços financeiros (FSI) fornece uma visão geral dos princípios e recomendações para criar, implantar e operar cargas de trabalho robustas do setor de serviços financeiros (FSI) 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 ao pilar de excelência operacional do framework bem arquitetado.
A excelência operacional é fundamental para as cargas de trabalho de instituições financeiras em Google Cloud devido à natureza altamente regulamentada e sensível delas. A excelência operacional garante que as soluções de nuvem possam se adaptar às necessidades em evolução e atender aos seus 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 instituições financeiras:
- Mantenha 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 muito essa confiança e causar a perda de clientes. A excelência operacional ajuda a minimizar esses riscos.
Atender a requisitos rigorosos de conformidade regulatória: o FSI está sujeito a regulamentações numerosas e complexas, como:
- 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 a 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. Portanto, a alta disponibilidade e uma recuperação de desastres eficaz são fundamentais. Os princípios da excelência operacional orientam o design e a implementação de sistemas resilientes. O pilar de confiabilidade oferece mais orientações nessa área.
Proteja dados sensíveis: as instituições financeiras lidam com grandes quantidades 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.
Otimize a performance de aplicativos críticos: muitos aplicativos financeiros, como plataformas de negociação e análises em tempo real, exigem alta performance e baixa latência. Para atender a esses requisitos de performance, é necessário um design de computação, rede e armazenamento altamente otimizado. O pilar de otimização de performance oferece 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 básicos:
- Definir SLAs e os respectivos SLOs e SLIs
- Definir e testar processos de gerenciamento de incidentes
- Melhorar e inovar continuamente
Definir SLAs e os respectivos SLOs e SLIs
Em muitas organizações de FSI, a disponibilidade de aplicativos geralmente é 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 clientes externos, também é possível definir um contrato de nível de serviço (SLA).
Os SLAs precisam de um framework de métricas que represente o comportamento do sistema do ponto de vista 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 desejado. Criar uma estrutura de métricas envolve definir e monitorar indicadores numéricos importantes 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). É fundamental desenvolver SLIs eficazes, porque eles fornecem os dados brutos necessários para avaliar a confiabilidade de forma objetiva.
Para definir SLAs, SLIs e SLOs significativos, considere as seguintes recomendações:
- Desenvolva e defina SLIs para cada serviço crítico. Defina valores de meta que definam os níveis de performance aceitáveis.
- Desenvolver e definir os objetivos de nível de serviço (SLOs) 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 capacidade de recuperação da plataforma, talvez seja necessário concentrar os recursos de desenvolvimento na correção de problemas.
- Valide o requisito de SLA para cada serviço e reconheça o SLA como o contrato formal com os usuários do serviço.
Exemplos de níveis de serviço
A tabela a seguir fornece exemplos de SLIs, SLOs e SLAs para uma plataforma de pagamento:
Métrica de negócios | SLI | SLO | SLA |
---|---|---|---|
Pagamento concluído | 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 móvel de 5 minutos. |
Uma meta interna para manter uma alta porcentagem de transações de pagamento bem-sucedidas em um período específico. Exemplo: mantenha uma taxa de sucesso de transações de pagamento de 99,98% em uma janela contínua 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% das transações de pagamento iniciadas pelo cliente serão processadas e confirmadas em um segundo. |
Latência de processamento de pagamentos | O tempo médio gasto para processar uma transação de pagamento 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 cinco 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 para 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 é informado 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 − tempo de inatividade) ÷ tempo operacional total × 100, medido por minuto. |
Uma meta interna para o tempo de atividade da plataforma principal de pagamentos. Exemplo: alcance 99,995% de disponibilidade da plataforma por mês civil, excluindo janelas de manutenção programada. |
Um compromisso formal e juridicamente vinculativo com os clientes sobre o tempo mínimo de atividade da plataforma de pagamento, incluindo as consequências em caso de não cumprimento. Exemplo: a plataforma vai manter uma disponibilidade mínima de 99,9% por mês civil, excluindo janelas de manutenção programadas. Se a disponibilidade ficar abaixo do nível mínimo, o cliente vai receber um crédito de serviço de 5% da taxa mensal por cada queda de 0,1%. |
Use dados de SLI para monitorar se os sistemas estão dentro dos SLOs definidos e garantir que os SLAs sejam atendidos. Ao usar um conjunto de SLIs bem definidas, engenheiros e desenvolvedores podem monitorar aplicativos de FSI nos seguintes níveis:
- Diretamente no serviço em que os aplicativos são implantados, como GKE ou 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 Google Cloud Managed Service 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 orçamentos de erro, consulte o manual de SRE.
Para desenvolver painéis e mecanismos de alerta e monitoramento eficazes, use as ferramentas do Google Cloud Observability com o Google 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 FSI em Google Cloud. Esses processos ajudam as instituições financeiras a atender aos requisitos regulamentares rigorosos, proteger dados sensíveis, manter a continuidade dos negócios e preservar a confiança dos clientes.
Testes regulares dos processos de gerenciamento de incidentes oferecem os seguintes benefícios:
- Manter o desempenho em 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. Esse recurso é crucial para manter uma experiência do usuário perfeita e atender às demandas dos mercados financeiros.
- Identifique possíveis gargalos e limitações: o teste de estresse leva os sistemas ao limite e permite que as instituições financeiras identifiquem possíveis gargalos e limitações de desempenho antes que eles afetem as operações críticas. Essa abordagem proativa permite que as instituições financeiras ajustem a infraestrutura e os aplicativos para ter desempenho e escalonabilidade ideais.
- Validar a confiabilidade e a resiliência: testes regulares, incluindo engenharia do 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 e manter a alta disponibilidade, o que é essencial para a continuidade dos negócios.
- Faça um planejamento de capacidade eficaz: o teste de desempenho fornece 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 de forma proativa as necessidades futuras de capacidade e evitar problemas de desempenho devido a restrições de recursos.
- Implante 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 regulamentares 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 forma 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 necessárias para responder com eficácia.
Implemente testes de desempenho e carga regularmente
Os testes regulares de performance e carga ajudam a garantir que os aplicativos e a infraestrutura baseados na nuvem possam lidar com picos de carga e manter o desempenho ideal. O teste de carga simula padrões de tráfego realistas. O teste de estresse leva o sistema aos limites 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 do mundo real. Com base nos resultados do teste, você pode ajustar sua infraestrutura e seus aplicativos de nuvem para ter performance e escalonabilidade ideais. Por exemplo, é possível ajustar a alocação de recursos ou ajustar 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 na 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 testes 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 é apenas a etapa inicial. A melhoria e a inovação contínuas são essenciais pelos seguintes motivos:
- Acelere a inovação: aproveite novas tecnologias, como a IA, para melhorar seus serviços.
- Reduzir custos: elimine ineficiências e otimize o uso de recursos.
- Aumentar a agilidade: adapte-se rapidamente às mudanças regulatórias e do mercado.
- Melhorar a tomada de decisões: use produtos de análise de dados, como o BigQuery e o Looker, para fazer escolhas embasadas.
Para garantir melhoria e inovação contínuas, considere as seguintes recomendações.
Realizar retrospectivas regulares
Retrospectivas são essenciais para melhorar continuamente os procedimentos de resposta a incidentes e otimizar as estratégias de teste com base nos resultados dos testes regulares de performance 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.
- Faça retrospectivas após marcos do projeto, incidentes graves ou ciclos de teste significativos. As equipes podem aprender com sucessos e fracassos e refinar continuamente os processos e as práticas.
- Use uma abordagem estruturada, como o modelo iniciar-parar-continuar, para garantir que as sessões de retrospectiva sejam produtivas e levem a etapas práticas.
- Use retrospectivas para identificar áreas em que a automação do gerenciamento de mudanças pode ser aprimorada para aumentar a confiabilidade e reduzir os riscos.
Adotar uma cultura de aprendizagem
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 sem culpa, 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 sucessos e falhas, 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.
Fique por dentro das tecnologias de nuvem
O aprendizado contínuo é essencial para entender e implementar novas medidas de segurança, aproveitar a análise avançada de dados para ter insights melhores e adotar soluções inovadoras relevantes para o setor financeiro.
- 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 novas funcionalidades.
- Incentive os membros da equipe a obter Google Cloud certificações para garantir que a organização tenha as habilidades necessárias para o sucesso na nuvem.