top of page
pedrobusko

Modernização do Core Banking nativo da nuvem com Apache Kafka

Este é um artigo traduzido originalmente publicado dia 16/03/2022 no blog do Kai Waehner: "Cloud-native Core Banking Modernization with Apache Kafka". Assine a newsletter do Kai para se manter atualizado com novas publicações.


A maioria das instituições de serviços financeiros opera sua plataforma de core banking em tecnologias legadas de mainframe. A arquitetura monolítica, proprietária e inflexível cria muitos desafios para inovação e economia. Este blog post explora três soluções bancárias abertas, elásticas e escaláveis ​​desenvolvidas pelo Apache Kafka para resolver esses problemas.

 

A maioria das instituições de serviços financeiros opera sua plataforma de core banking em tecnologias legadas de mainframe . A arquitetura monolítica, proprietária e inflexível cria muitos desafios para inovação e economia. Este blog post explora uma solução aberta, elástica e escalável desenvolvida pelo Apache Kafka para resolver esses problemas. Três soluções bancárias do mundo real nativas da nuvem mostram como as cargas de trabalho transacionais e analíticas podem ser criadas em qualquer escala em tempo real para processos de negócios tradicionais, como pagamentos ou relatórios regulatórios, e novos aplicativos inovadores, como negociação de criptomoedas.


O que é core banking?


Core banking é um serviço bancário prestado por agências bancárias em rede. Os clientes podem acessar suas contas bancárias e realizar transações básicas de filiais membros ou aplicativos de software conectados, como aplicativos móveis. O core banking é frequentemente associado ao banco de varejo, e muitos bancos tratam os clientes de varejo como seus clientes de core banking. O banco de atacado é um negócio realizado entre bancos. A negociação de valores mobiliários envolve a compra e venda de ações, ações e assim por diante.

As empresas geralmente são gerenciadas por meio da divisão de banco corporativo da instituição. O core banking cobre o depósito básico e o empréstimo de dinheiro. As funções bancárias básicas padrão incluem contas de transações, empréstimos, hipotecas e pagamentos.

Processos de negócios típicos do sistema operacional bancário incluem KYC (“Know Your Customer”), abertura de produtos, pontuação de crédito, fraude, reembolsos, cobranças, etc.

Os bancos disponibilizam esses serviços em vários canais, como caixas eletrônicos, serviços bancários pela Internet, serviços bancários móveis e agências. O software bancário e a tecnologia de rede permitem que um banco centralize sua manutenção de registros e permita o acesso de qualquer local.

Análise automática para relatórios regulatórios, configuração flexível para ajustar fluxos de trabalho e inovar e uma API aberta para integração com ecossistemas de terceiros são cruciais para plataformas bancárias modernas.


Cargas de trabalho transacionais x analíticas no core banking


Cargas de trabalho para análises e transações têm características e requisitos muito diferentes. Os casos de uso diferem significativamente. A maioria dos fluxos de trabalho de core banking são transacionais.

Os SLAs são muito diferentes e são cruciais para entender para garantir o comportamento adequado em caso de problemas de infraestrutura e para recuperação de desastres:

  • RPO (Recovery Point Objective) : a perda de dados real que você pode viver no caso de um desastre

  • RTO (Recovery Time Objective) : o período de recuperação real (ou seja, tempo de inatividade) que você pode viver no caso de um desastre



Embora o tempo de inatividade ou a perda de dados não sejam bons em casos de uso analítico, eles geralmente são aceitáveis ​​quando o custo e o risco são comparados para garantir um RTO e RPO próximos de zero. Portanto, se a função de relatório para usuários finais ficar inativa por uma hora ou, pior ainda, se alguns relatórios forem perdidos, a vida continua.

Em cargas de trabalho transacionais dentro de uma plataforma de core banking, RTO e RPO precisam ser o mais próximo possível de zero, mesmo no caso de um desastre (por exemplo, se um datacenter completo ou região de nuvem estiver inoperante). Se a plataforma de core banking perder transações de pagamento ou outros eventos necessários para o processamento de conformidade, o banco estará em apuros.


Plataformas de core banking legadas


Os avanços na Internet e na tecnologia da informação reduziram o trabalho manual nos bancos e aumentaram a eficiência . O software de computador foi desenvolvido décadas atrás para realizar operações bancárias essenciais, como registro de transações, manutenção de cadernetas, cálculos de juros sobre empréstimos e depósitos, registros de clientes, balanço de pagamentos e saques.


Software bancário em execução em um mainframe


A maioria das plataformas de core banking de empresas de serviços financeiros tradicionais ainda rodam em mainframes . As máquinas, sistemas operacionais e aplicativos ainda fazem um ótimo trabalho. SLAs como RPO e RTO não são novos. Se você observar os produtos e documentos de mainframe da IBM, verá que os principais conceitos são semelhantes às tecnologias nativas de nuvem de ponta. Tempo de inatividade, perda de dados e requisitos semelhantes precisam ser definidos.

A arquitetura de solução forneceu as garantias necessárias. O código IBM DB2, IMS, CICS e Cobol ainda opera cargas de trabalho transacionais muito estáveis . Um mainframe IBM z15 moderno, anunciado em 2019, oferece até 40 TB de RAM e 190 núcleos. Isso é muito impressionante.


Aplicativos de mainframe monolíticos, proprietários e inflexíveis


Então, qual é o problema com plataformas legadas de core banking rodando em um mainframe ou outra infraestrutura semelhante?

  • Monolítico : os aplicativos legados de mainframe são aplicativos monolíticos extremos. Isso não é comparável a um aplicativo da Web monolítico dos anos 2000 em execução no IBM WebSphere ou em outro J2EE. / Servidor de aplicativos Java EE. É muito pior.

  • Proprietário : IMS, CICS, MQ, DB2 e outros. são tecnologias muito maduras. No entanto, os tomadores de decisão da próxima geração, arquitetos de nuvem e desenvolvedores esperam APIs abertas, infraestrutura básica de código aberto, as melhores soluções e SaaS com liberdade de escolha independente para cada problema.

  • Inflexível : a maioria dos aplicativos legados de core banking fazem seu trabalho por décadas. O código Cobol é executado. No entanto, não é compreendido ou documentado. Os desenvolvedores Cobol também são escassos. A única opção é estender os aplicativos existentes. Além disso, a infraestrutura não é elástica para aumentar e diminuir de maneira definida por software. Em vez disso, as empresas precisam comprar hardware por milhões de dólares (e ainda pagar uma fortuna adicional pelas transações).

Sim, o mainframe suporta tecnologias atualizadas como DB2, MQ, WebSphere, Java, Linux, Web Services, Kubernetes, Ansible, Blockchain! No entanto, isso não resolve os problemas existentes . Isso só ajuda quando você cria novos aplicativos. No entanto, novos aplicativos geralmente são feitos com infraestrutura e estruturas modernas nativas da nuvem, em vez de depender de conceitos legados.


Otimização e redução de custos de aplicativos de mainframe existentes


As seções acima analisaram a arquitetura corporativa com RPO/RTO em mente para garantir tempo de atividade e sem perda de dados. Isso é crucial para os tomadores de decisão responsáveis ​​pelo risco e receita da unidade de negócios.

No entanto, o terceiro aspecto além da receita e do risco é o custo . Além de fornecer uma infraestrutura elástica e flexível para a plataforma de core banking de próxima geração, as empresas também se afastam de soluções legadas por motivos de custo.

As empresas economizam milhões de dólares apenas transferindo dados de um mainframe para o streaming de eventos moderno:



Por exemplo, o streaming de dados permite que o Royal Bank of Canada (RBC) economize milhões de dólares transferindo dados do mainframe para o Kafka. Aqui está uma citação do RBC:

… resgatar dados fora do mainframe, de maneira nativa da nuvem, baseada em microsserviços… [para] … reduzir significativamente as leituras no mainframe, economizando custos de infraestrutura fixa RBC (OPEX). O RBC manteve a conformidade com os regulamentos bancários e a lógica de negócios e agora pode criar novos aplicativos usando a mesma arquitetura baseada em eventos.

Leia minha postagem de blog dedicada se quiser saber mais sobre descarregamento, integração e migração de mainframe para o Apache Kafka .


Plataformas de core banking modernas e nativas da nuvem


Este post não é apenas sobre descarregamento e integração. Em vez disso, analisamos exemplos do mundo real em que o core banking nativo da nuvem substituiu os mainframes legados existentes ou permitiu que novas empresas FinTech começassem do zero em um ambiente de nuvem em tempo real de ponta para competir com os concorrentes tradicionais do FinServ.


Requisitos para uma plataforma bancária moderna?


Aqui estão os requisitos que coloco regularmente na lista de desejos de executivos e arquitetos líderes de empresas de serviços financeiros para novas infraestruturas e aplicativos bancários :

  • Processamento de dados em tempo real

  • Infraestrutura escalável

  • Alta disponibilidade

  • Verdadeiro desacoplamento e manuseio de contrapressão

  • Modelo de custo econômico

  • Arquitetura flexível para desenvolvimento ágil

  • Escalabilidade elástica

  • Interfaces baseadas em padrões e APIs abertas

  • Funções extensíveis e separação de interesses orientada por domínio

  • Autenticação segura, autorização, criptografia e registro de auditoria

  • Implantações independentes de infraestrutura em ambientes de borda, híbridos e multirregionais/multinuvem

O que são infraestrutura e aplicativos nativos da nuvem?


E aqui estão os recursos de uma infraestrutura genuinamente nativa da nuvem para criar um sistema bancário central de última geração:

  • Processamento de dados em tempo real

  • Infraestrutura escalável

  • Alta disponibilidade

  • Verdadeiro desacoplamento e manuseio de contrapressão

  • Modelo de custo econômico

  • Arquitetura flexível para desenvolvimento ágil

  • Escalabilidade elástica

  • Interfaces baseadas em padrões e APIs abertas

  • Funções extensíveis e separação de interesses orientada por domínio

  • Autenticação segura, autorização, criptografia e registro de auditoria

  • Implantações independentes de infraestrutura em ambientes de borda, híbridos e multirregionais/multinuvem

Acho que você entendeu o que quero dizer aqui: adotar uma infraestrutura nativa da nuvem é fundamental para o sucesso na criação de software bancário de última geração . Não importa se você

  • estão no local ou na nuvem

  • é um jogador tradicional ou uma startup

  • concentre-se em um país ou idioma específico ou opere em regiões ou mesmo globalmente

Apache Kafka = infraestrutura nativa da nuvem para cargas de trabalho transacionais em tempo real


Muitas pessoas pensam que o Apache Kafka não foi criado para transações e deve ser usado apenas para análise de big data. Esta postagem de blog explora quando e como usar o Kafka em arquiteturas resilientes de missão crítica e quando usar a API de transação integrada.

O Kafka é um sistema distribuído e tolerante a falhas que é resiliente por natureza (se você o implantar e operar corretamente). Nenhum tempo de inatividade e nenhuma perda de dados podem ser garantidos, como em seu banco de dados favorito, mainframe ou outras plataformas principais.

A escalabilidade elástica e as atualizações contínuas permitem uma infraestrutura de fluxo de dados flexível e confiável para cargas de trabalho transacionais para garantir a continuidade dos negócios . O arquiteto pode até estender um cluster entre regiões com ferramentas como Confluent Multi-Region Clusters . Essa configuração garante zero perda de dados e zero tempo de inatividade , mesmo no caso de um desastre em que um datacenter esteja totalmente inoperante.

O post “ Global Kafka Deployments ” explora as diferentes opções de implantação e suas compensações com mais detalhes. Confira minha postagem no blog sobre cargas de trabalho transacionais versus analíticas com Apache Kafka para obter mais informações .


Apache Kafka em serviços bancários e financeiros


A ascensão do streaming de eventos em serviços financeiros está crescendo loucamente. A integração e o processamento contínuos de dados em tempo real são obrigatórios para muitos casos de uso. Muitos departamentos de negócios no setor de serviços financeiros implantam o Apache Kafka para cargas de trabalho transacionais de missão crítica e análise de big data, incluindo core banking . Alta escalabilidade, alta confiabilidade e uma infraestrutura aberta elástica são as razões críticas para o sucesso do Kafka.

Para saber mais sobre diferentes casos de uso, arquiteturas e exemplos do mundo real no setor de FinServ, confira o post “ Apache Kafka na indústria de serviços financeiros “. Os casos de uso incluem

  • Gestão de fortunas e mercado de capitais

  • Risco de mercado e crédito

  • Cíber segurança

  • Modernização de TI

  • Banco de varejo e corporativo

  • Experiência do cliente

Soluções modernas de core banking nativas da nuvem com tecnologia Kafka


Agora, vamos explorar o exemplo específico de soluções de core banking nativas da nuvem construídas com o Apache Kafka . As subseções a seguir mostram três exemplos do mundo real .


Thought Machine – Correção e escala em uma única plataforma


O Thought Machine é um sistema operacional de core banking inovador e flexível. Os principais recursos da solução da Thought Machine incluem

  • Software de core banking nativo da nuvem

  • Cargas de trabalho transacionais (24/7, perda zero de dados)

  • Mecanismo de produto flexível alimentado por contratos inteligentes (não blockchain)

O sistema operacional de core banking nativo da nuvem permite que um banco alcance uma ampla escala de personalização sem precisar alterar nada na plataforma subjacente . Isso é altamente vantajoso e parte crucial de como sua arquitetura é um contrapeso ao “espaguete” que surge em outros sistemas quando a customização e a funcionalidade da plataforma não estão separadas.



A palestra do Kafka Summit da Thought Machine de 2021 explora como o sistema bancário principal da Thought Machine, 'Vault', foi construído em uma nuvem primeiro com o Apache Kafka em seu coração. Ele aproveita o streaming de eventos para permitir o processamento assíncrono e paralelo em escala , focando especificamente nos padrões de arquitetura para garantir a 'correção' em tal ambiente.


10x Banking – Canalize transações agnósticas em tempo real


O 10X Banking fornece uma plataforma de core banking nativa da nuvem . Em sua palestra no Kafka Summit , eles falaram sobre a história do core banking e como eles aproveitam o Apache Kafka em conjunto com outras tecnologias de código aberto em sua plataforma comercial .



A abordagem 10x nativa da nuvem fornece ciclos de vida de produtos flexíveis . O tempo de colocação no mercado é um benefício importante . As organizações não precisam começar do zero. Um modelo de dados e ferramentas unificados permitiram focar nos problemas de negócios.

A plataforma 10x é uma plataforma SaaS segura, confiável, escalável e em conformidade com as regulamentações que minimiza a carga e os custos regulamentares. Ele é construído em um design orientado por domínio com desacoplamento real entre cargas de trabalho transacionais e análises/relatórios.

Kafka é um hub de dados dentro da plataforma abrangente para análises, transações e segurança cibernética em tempo real. O Apache Kafka não é a bala de prata para todos os problemas . Portanto, a 10x escolheu uma abordagem de ponta para combinar diferentes estruturas de código aberto, produtos comerciais e ofertas de SaaS para criar a estrutura bancária nativa da nuvem.

Veja como o 10X Banking construiu uma plataforma de core banking nativa da nuvem para permitir análises em tempo real e em lote com um único pipeline de streaming de dados aproveitando a arquitetura Kappa :



Os principais componentes incluem Apache Kafka para streaming de dados, além de Apache Pinot e Trino para análise .


Custodigit – investimentos criptográficos seguros com streaming e orquestração de dados com estado


Custodigit é uma plataforma bancária moderna para ativos digitais e criptomoedas . Ele fornece recursos e garantias cruciais para investimentos criptográficos seriamente regulamentados:

  • Armazenamento seguro de carteiras

  • Enviando e recebendo no blockchain

  • Negociação através de corretoras e bolsas

  • Ambiente regulamentado (um aspecto fundamental e nenhuma surpresa, pois este produto vem da Suíça - um mercado muito regulamentado)

Kafka é o sistema nervoso do banco central da arquitetura de microsserviços da Custodigit . Os aplicativos Stateful Kafka Streams fornecem orquestração de fluxo de trabalho com o padrão de design “ distribuído saga” para a coreografia entre microsserviços . Kafka Streams foi selecionado por causa de:

  • microsserviços enxutos e desacoplados

  • gerenciamento de metadados no Kafka

  • estrutura de dados unificada em microsserviços

  • API de transação (também conhecida como semântica exatamente uma vez)

  • escalabilidade e confiabilidade

  • processamento em tempo real em escala

  • uma linguagem específica de domínio de nível superior para processamento de fluxo

  • processos com estado de execução longa

Cobri Custodigit e outras plataformas blockchain/cripto em uma postagem de blog separada: Apache Kafka como Data Hub for Crypto, DeFi, NFT, Metaverse – Beyond the Buzz .


Core banking nativo em nuvem fornece escala elástica para cargas de trabalho transacionais


O software de core banking moderno precisa ser elástico, escalável e em tempo real . Isso é verdade para cargas de trabalho transacionais como KYC ou pontuação de crédito e cargas de trabalho analíticas, como relatórios regulatórios. O Apache Kafka permite o processamento de cargas de trabalho transacionais e analíticas em muitas soluções bancárias modernas.

Thought Machine, 10X Banking e Custodigit são três exemplos nativos de nuvem desenvolvidos pelo ecossistema Apache Kafka para habilitar a próxima geração de software bancário em tempo real. O Open Banking é obtido com APIs abertas para integração com outros serviços de terceiros.

A integração, descarregamento e substituição posterior de tecnologias legadas, como mainframe, por tecnologias modernas de streaming de dados comprovam o valor comercial em muitas organizações. Kafka não é uma bala de prata, mas o hub de dados central e de missão crítica para integração e processamento de dados em tempo real.


Como você aproveita o streaming de dados para cargas de trabalho analíticas ou transacionais? Conecte comigo e com o Kai no LinkedIn e vamos discutir isso! Mantenha-se informado sobre as novas postagens do blog assinando a newsletter.

161 visualizações0 comentário

Pedro Busko's blog

©2022 by Pedro Busko's blog. Proudly created with Wix.com

bottom of page