Modernização de Legado na CCEE: Arquitetura, Decisões e Lições
Convidados
Danilo Bonamini
Gestor de TI @ VMBears
Felipe Consentino
Gerente de Tecnologia @ CCEE
Fernando Tavares de Campos Filho
Head de Arquitetura @ CCEE
Explore o episódio
Modernizar uma aplicação de missão crítica que movimenta bilhões de reais por mês, funciona impecavelmente há mais de uma década e sustenta o mercado de energia elétrica do Brasil inteiro — sem parar nada, sem derrubar nada — é o tipo de desafio que a maioria das equipes de tecnologia prefere não tocar. Mas é exatamente esse o case que o episódio de hoje desvenda: a modernização do motor de cálculo da CCEE, a Câmara de Comercialização de Energia Elétrica, uma plataforma construída em PL/SQL que processa o encontro de contas entre geradores, distribuidores e consumidores de energia no Brasil. Com uma perspectiva de crescimento de 3.000 agentes em 2012 para virtualmente 80 milhões de brasileiros no Mercado Livre até 2030, os gatilhos de negócio para modernizar eram claros: escala, performance e flexibilidade. E é exatamente aí que a conversa começa a ficar séria. Neste episódio, Wellington Cruz recebe Felipe Consentino, Gerente de Tecnologia da CCEE, Fernando Tavares de Campos Filho, Head de Arquitetura da CCEE, Marcelo Tavares, Arquiteto de Dados da CCEE e Danilo Bonamini, Gestor de TI na VMBears — a parceira responsável pelo assessment e execução da modernização. Juntos, eles desmontam o processo por completo: como identificar os gatilhos certos para justificar o investimento frente a um board executivo quando a aplicação funciona bem; como conduzir um processo de assessment que ouve desenvolvedores, time de infraestrutura e áreas de negócio com o mesmo peso; como estruturar uma prova de conceito em duas fases para validar requisitos não funcionais antes de qualquer linha de código produtivo; e como arquitetar uma solução híbrida com Apache Spark como motor de processamento, Apache Airflow como orquestrador inteligente, contêineres no OpenShift e o padrão Cloud Bursting — que permite rodar on-premises ou em nuvem com total portabilidade. O resultado da POC foi uma redução de 80 a 90% no tempo de processamento, saindo de 3 a 4 horas para 12 a 18 minutos, sem calibração fina do Spark. E sem abrir mão da rastreabilidade histórica que o mercado de energia exige, incluindo a capacidade de recontabilizar meses de anos atrás com a fotografia exata dos dados e das regras daquele momento. Felipe Consentino, Fernando Tavares e Marcelo Tavares carregam décadas de conhecimento do setor elétrico e da operação crítica da CCEE. Danilo Bonamini traz a visão de quem entra de fora, entende o problema de negócio com profundidade e propõe uma arquitetura que resiste ao tempo — e ao hype. Se você trabalha com modernização de legado, arquitetura de soluções, engenharia de dados ou simplesmente quer entender como decisões técnicas de alto nível são tomadas na prática, esse episódio é obrigatório. Deixa o like, segue o PPT não Compila no Spotify e no YouTube, e se quiser apoiar o podcast de forma direta, manda um Pix para [email protected]. Agora vai lá, aperta o play e descobre por que tecnologia sem problema de negócio é brincadeira de nerd.
- Teaser: O que esperar desse episódio
- Apresentação dos convidados: CCEE e VMBERS
- O que é a CCEE? Mercado Livre vs. Mercado Regulado de Energia
- O Motor de Cálculo: o coração da CCEE feito em PL/SQL
- Os Gatilhos para Modernizar: escala, performance e abertura de mercado
- Por que modernizar agora? O argumento de negócio para o board executivo
- Assessment e escolha do parceiro: como estruturar a estratégia antes de codar
- Prova de Conceito em duas fases: AWS EMR, GCP Dataproc e Spark no OpenShift
- Por que o Big Query foi descartado? Lock-in, portabilidade e controle fino
- A Arquitetura Final: Spark + Airflow + Cloud Bursting e o padrão agnóstico
- O Desafio do Reprocessamento Histórico: time machine, vigenciamento e dual run
- Estratégia de Transição: como migrar sem parar o mercado elétrico
- Resultado da POC: 90% de redução no tempo de processamento
- On-premises vs. Nuvem: como fazer a conta certa sem ilusão de gratuidade
- Próximos passos e lições: arquitetura colada ao negócio, sem hype
a energia tá vindo do Nordeste para atender uma empresa no Sudeste, né? E aí essa energia que propaga de forma física também dentro dessa estrutura e dentro desses registros, né? Ela tem per abertura total do setor onde virtualmente qualquer pessoa do Brasil possa estar no Mercado Livre. Então a gente tá falando de 3.000 em 2012 para virtualmente 80 milhões em 2030. Esse assessment de você entender de fato onde você tá colocando a mão e onde você quer chegar é o ponto principal que que todo profissional de Tarr. Hoje a gente entendeu que o Airflow é o grande orquestrador da dessa solução e até a gente adotou um padrão arquitetural no desenho solução chamado Cloud Burster.
Muito bem, muito bem, meus amigos do PPT não compilha, estamos aqui para mais um episódio. E hoje eu vou trazer para vocês aqui um dos maiores casos de modernização de legado que a gente já falou aqui nesse podcast. Então fica aqui pra gente para ouvir esse assunto, porque é uma um caso completo de fato de modernização de arquitetura, de processo de elegibilidade de aplicação que a gente nunca falou antes aqui. Para falar desse assunto hoje, eu tô aqui com Danilo Bonamini que é da VMBERS. Dá um oi pra galera aí, cara.
OK. Boa noite aí, pessoal. É um prazer aí tá aqui participando e poder compartilhar aí com os conhecimentos e experiência do pessoal.
Show de bola. O Felipe Concentino.
Olá, galera, né? Aproveitar aqui, agradecer a oportunidade aqui de a gente poder ter esse tempo aqui para falar a respeito desse nosso caso, né? E e debater um pouquinho, né? Acho que é trazer conteúdo aí pra turma que assiste, né? e a gente poder falar aí de questões técnicas de negócios aí que agregam valor de fato aí levar alguma experiência para que também sirva aí de tomar decisão para quem tá nessa jornada aí de fazer migrações.
Show de bola. Fernando Tavares que é o cara de arquitetura da CCE.
Fala W. Beleza? Primeiro, obrigado pelo convite. Prazer estar de volta aqui. É muito legal estar aqui com vocês. Eh, só aidade de de arquitetura da CESC e vamos falar sobre tema muito legal, sobre arquitetura, sobre negócio, sobre problemas de negócio, sobre tecnologias modernas como, né, Fortran, SVN, Corba, Assembley, não sei. Vamos ver o que que vai vir aqui. Então, fica, fica aí um spoiler, né?
E vamos lá, vamos lá que vai ser legal.
Tem Clipper, Clipper. Vamos ver, cara. Vamos ver. Fi, fiquem aí que vocês vão ver se vai ter cliper ou não, né?
E remotamente aqui o Marcelo Tavares também. Dá um oi pra galera aí. Boa noite aí, pessoal. É um prazer enorme aí fazer parte desse grupo aí. Tô aqui, eu sou o menor da casa aí ou para aprender também e poder compartilhar um pouco de conhecimento aí que a gente vem fazendo, trabalhando aí na modernização do motor aí.
Show de bola. Prazer enorme. Obrigado.
Obrigado vocês por estarem aqui compartilhando isso. E hoje a gente vai falar aqui exatamente qual é o roadmap para você modernizar uma aplicação crítica dentro de uma de uma empresa que depende dessa aplicação, uma aplicação de missão crítica que demanda exatamente essa essa migração. vocês vão entender o que o que que demanda de fato uma uma aplicação ser modernizada, como esse processo precisa ser feito para que ela seja modernizada, todo o processo de escolha da tecnologia, o que que gatilha você de fato eh escolher uma tecnologia ou outra e tomar a decisão de de fato fazer a modernização dessa aplicação, a escolha de um parceiro como a VMBERS, que tá aqui dando seu testemunho hoje para fazer essa modernização. Então acompanha com a gente que você vai de fato entender aqui tanto executivamente quanto tecnicamente como funciona esse processo, né? Então vai com a gente que o Bizar tá muito bom. Mas antes, se você tá começando agora, já deixa o seu like.
Se você tiver alguma dúvida em qualquer momento do episódio, pode deixar seu comentário aqui. Vai lá no Spotify, dá cinco estrelinhas, segue a gente no Instagram, segue a gente no YouTube. E se você pode gostaria de contribuir ainda mais, você pode ser membro do nosso canal lá no YouTube. Vai contribuir com um valorzinho daqui de uma cerveja com a gente por mês para manter essa estrutura. E se você gostaria de contribuir de uma outra forma mais esporádica e sem dar dinheiro para Bigtex, você pode contribuir em [email protected].
Qual que é valor o que você acha que que que a gente merece para tornar esse conteúdo disponível para você gratuitamente. Então a gente conhecimento, né?
É isso aí. fortalecer a nossa comunidade. Se você não pode contribuir dessa forma, já contribui demais jogando no Teams, mandando pro chefe, mandando no grupo do WhatsApp, grupo do WhatsApp, solta a palavra do PPT por aí que fortalece a nossa comunidade. Vamos lá que o Visor tá muito bom. Bora.
Bom, não é a primeira vez que a gente tem a CCE aqui no no nosso podcast. Fico muito feliz de ter vocês aqui de novo e mas como a gente tem muitos ouvintes novos, né, e a gente teve um crescimento muito grande esse ano, queria que vocês fizessem primeiro uma explicação do que que é a CCE, porque muita gente não sabe, eh, principalmente o cara vê só a conta de luz ali, mas não entende como é esse esse ecossistema, né? Então, queria que vocês dessem uma introdução rápida para que os nossos ouvintes se embarquem no contexto do que a gente vai tratar aqui.
Bom, eh, a CC é a entidade que opera o mercado de energia elétrica no Brasil, é a Câmara de Comercialização de Energia.
Eh, para as pessoas que não tm muito conhecimento com o assunto, a gente às vezes tá acostumado a eh ligar o interruptor da da luz, né, de casa e pagar aquela famosa conta de luz de energia. Existe no Brasil o que a gente chama de mercado de energia e é mercado mesmo, é compra e venda de energia, né?
De maneira bem simplificada aqui no Brasil a gente tem dois tipos de mercado que a gente fala, o regulado e o livre.
Quando a gente fala de mercado regulado, é o nosso caso, como consumidor residencial, então aqui em São Paulo, por exemplo, a Enel, tem a Light no Rio de Janeiro e por aí vai, tem empresas que entregam e vendem energia pra gente, só que a gente não tem a opção de escolher o fornecedor, né? Então esse é é o chamado mercado cativo dentro do mercado regulado. Existe uma outra metade desse mercado que a gente chama de mercado de contratação livre, onde alguns consumidores e aqui são empresas com nível de consumo alto, tem a gente falando aqui na casa de R$ 10, R$ 15.000 ali, exemplo aqui por mês, que são elegíveis a poder escolher de quem que ela pode comprar energia.
Aí a gente tá falando de hospitais, etc.
Shopping center, estádio de futebol, supermercado, né? grande consumo de energia.
Eh, então, por exemplo, se eu sou, sei lá, um shopping center, eu posso lá comprar energia. Tô em São Paulo, na, mas eu posso comprar energia da batatinha energia. Eh, a energia continua sendo entregue pela Enel, só que a batatinha energia que me vende energia, né? A gente fala que o elétron não tem CNPJ. Então, como é que a gente sabe que o Fernando da Batatinha Energia que comprou 100 unidades de energia, ele consumiu 100? ele começou no 1120, 130.
Então que entra a CCE. Então a CC ela é uma câmara, então ela tem o registro de todos os contratos de compra e venda de energia celebrados no Brasil entre geradores, distribuidores, consumidores e outros outras empresas. E depois ela também faz a medição do que foi gerado barra consumido. Então quem gera mais do que vendeu menos que vendeu, tem que pegar dinheiro ou pagar dinheiro na caixinha. E quem consumiu também a comprei 100 consumir 120 que botar de na caixinha. A CC faz o encontro de contas mensalmente e distribui a as dívidas.
Então ela faz a contabilização e a liquidição do mercado. De maneira simplificada. É isso que a CCF faz. Dá pra gente dizer então que quem quem produz despeja essa energia num grande balaio ali, porque depois não dá para você saber da onde tá vindo o elétron, como você disse, e aí quem quem consome consome desse balaio e aí alguém precisa fazer a contabilidade de quem colocou e quem retirou, né?
Exato.
E o ponto importante, né, Wellington, eh a gente precisa separar o mundo físico do mundo contábil, né? E a responsabilidade e atribuição da CCE, né, é gerir o mundo contábil, né?
A gente tem as atribuições do setor, né?
Acho que é importante explicar também para que eh o público tenha o conhecimento, né? Assim como funciona a Natel, que faz a gestão do mercado de telecomunicações e telefonia, né? a gente tem a Enel, que é o órgão regulador que faz, né, todo o processo de regulação do setor elétrico. E aí a gente tem a divisão, né, do mundo físico, que é tratado pelo NS, que é exatamente esse balaio que você falou, que é onde os geradores põem energia, né, os consumidores de fato consomem via carga disso, né, sendo transmitido. E a CCE faz esses encontros de contas, né, como o Fernando tava comentando, de acordo com o mundo contábil, né? E aí é o registro de contrato para esses players que operam nesse mercado, que ainda hoje é seleto, né? A gente não tem abertura de mercado completa, né? Tem a oportunidade de fazer a escolha de quem comprar, né? E criar uma melhor negociação.
Muito legal. Eu acho que deu para dar um contexto aqui, porque eh quando a gente fala de onde pode dar uma impressão para quem não conhece, que quando eu falo comprar de uma empresa ou outra, o cara pensa que vai mexer em fiação e tal, pô, como é que eu vou fazer para pegar?
Então, gente, a transmissão ela continua sendo a mesma, é mais um registro contábil de quem colocou e quem retirou.
E isso acaba sendo mais complexo até, né, porque você tem um grande mecanismo que é que é intrínseco, ele é ele é ele é conjunto, né, com tudo. Então isso requer muito mais essas ações que a CCE realiza para ter essas medições, né, isso, né? E aí a gente começa a falar de complexidade, né, se tocando nesse ponto, né, que é questões relacionadas, como o Brasil é dividido contabilmente, né, a gente tem submercados para lidar com questões de diferenciação de preços, né, que muitas vezes o tipo, né, de energia, né, que tá sendo gerada no mercado sudeste é diferente do Nordeste, as fontes de energia são diferentes, né, como é que isso é transmitido, né?
Muitas vezes o contrato que eu firmei, a energia tá vindo do Nordeste para atender uma empresa no Sudeste, né? E aí essa energia que propaga de forma física também dentro dessa estrutura e dentro desses registros, né? Ela tem perda. E eu preciso calcular todas essas questões, né? Tem existem encargos financeiros relacionados com essas transações também. E aí a gente vai entrando em todo esse processo de complexidade, que é como a gente tem que fazer o processo de apuração, né? E aí eu acho que vale comentar, né, que tudo isso é feito, né, de uma forma muito transparente e pública para quem opera nesse mercado, né, gerido, né, e avalizado pela ANE, que são as regras de comercialização, né? Então, o mercado tem oportunidade de contribuir em relação a essas regras. Essas regras são formalizadas e SCE opera essa estrutura de regras por meio de, como o Fernando comentou, na contabilização e liquidação de energia mensal.
Muito bom. Acho que deu para uma uma boa elucidação aqui pro pessoal do que a gente vai tratar. E quem é da área técnica que tá nos ouvindo já entendeu a complexidade tecnológica que a gente tem aqui para tratar isso em volumetria, em em complexidade de cálculo, etc. E aí eu queria que vocês dissessem qual é o case que vocês vão expor aqui pra gente hoje e do ponto de vista de negócio, porque hoje a gente vai expor aqui um um case de transformação que vocês tiveram de modernização. E do ponto de vista de negócio, o que que esse case eh faz e e gira o ponteiro na na CCE? A gente tem na Ccel uma plataforma tecnológica que a gente chama de motor de cálculo. Ele basicamente ele é o coração, é o motor desse mercado de energia, dessa desse encontro de contas que a gente comentou.
Eh, é onde a gente agrega informações de contratos, de medições, de garantias físicas, de encargos. tem uma série de informações que ele recebe mensalmente para fazer essa comparação entre compradores, vendedores, consumidores, né, e chegar nesse neste. É, é um é um é uma grande plataforma tecnológica onde ela implementa tecnicamente todas as regras que o FBI começou comentou do setor. a gente fala regras, são cadernos que são públicos até se quem que tiver tiver curiosidade, CCorgBR tem um conjunto de regra de comercialização, né, como subassunto e você pode consultar lá eh quais são os módulos, né, as questões relacionadas com esse mercado que tem divisões de de apurações, né, como o Fernando comentou, que é o mercado cativo e o Mercado Livre. E lá você pode ver, né, como que é calculado ali todo esse processo.
São álgebras, álgebra mesmo, álgebras, caderno com álgebras, onde cada álgebra representa um cálculo. A gente tem uma série de, não lembro quantas álgebras que a gente tem sequenciais pra gente poder chegar no resultado final da da contabilização.
Tudo isso é feito, foi construído em 2000 e 11 para 12, 14, né, 14. Primeiro processamento Danilo em setembro de 2012.
14 anos atrás foi construído essa plataforma feita em PLSQL. Então, uma plataforma feita em PLSQL.
Eh, [ __ ] Caramba.
Só calma que vem mais história por aí.
É piada interna. É, é, mas foi assim, pra época foi a melhor solução que a tecnologia poderia prover pra gente poder construir.
E é uma solução que ela funciona bem.
Uhum.
A gente não tem, por exemplo, você, a gente não tem problemas de contabilizações por conta dessa plataforma. Então, é uma plataforma que funciona como reloginho, mensalmente contabilizando e liquidando bilhões de reais. É, então eu só queria acrescentar para ficar legal assim, além da parte técnica, ele foi sempre funcionou bem porque ele permitia flexibilidade.
É isso.
Esse acho que é é o X da questão. Não é só a tecnologia, mas ele ele dava muita flexibilidade para o pessoal que construí e que operava as regras. do ponto de vista de negócios, né, e de tecnologia, né, pode falar, pô, pela PLSQL, né, cara, negócio ruso e tal, mas ele trouxe uma flexibilidade de construção e evolução, porque é uma coisa que eu acho que a gente tem que tocar no ponto aqui também, né? A gente tem constantes alterações e a gente precisa ter agilidade para fazer essas coisas serem implementadas. E às vezes, né, essas regulações, né, essas mudanças que acontecem, né, são questões semanas para implementar, né, e são complexas, porque do ponto de vista de uma trilha de regra de comercialização, como o Fernando tava comentando, eh, a gente vai chegar a falar aí de um caderno de regras que tem, por exemplo, 3.000 acrônimos em relação a cálculo e ele é todo encadeado, né? Ele tem todo um formato ali para você começar por ação, por exemplo, de registro de contrato, já tem que ter passado pelo cálculo de, por exemplo, de medições, né? Já tem que ter feito uma trilha, né?
Então ele permitiu essa flexibilidade, né, de a gente conseguir implementar isso rapidamente e entregar, né, a solução ali de valor agregado ao negócio, né, que é de fato operar o mercado com essas mudanças que acontecem. Quando eu falei do meu espanto com o PSQL, eh, não foi quanto a o período, porque a gente naquele moment naquele momento era comum, tem empresa hoje com legado com com aplicações, dependendo de function e proc de branco banco de dados até hoje, com muita regra de negócio direto na SGPD, né? Isso era um padrão arquitetural correto pr pra época, né? E e fazia sentido de fato, né? E e é bom a gente ter essa essa visão de de timeline, porque essa flexibilidade talvez com as plataformas que a gente tem hoje, que tem outros benefícios, talvez não fosse tão grande como você teria numa plataforma com PLSQL que você tem uma habilidade mais fazer em Java na época, né? E aí, eu eu desconfio de quem foi a ideia.
Tem uma leve desconfiança.
A decisão, a decisão ela levou em consideração a questão do negócio, né, que era ter a flexibilidade que o Danilo comentou, né, assim, porque permitia, entre outras coisas, as a simulação das regras.
Isso.
Esse o a plataforma que foi construída, ela permitia simular antes de efetivamente construir as regras.
Uhum. Então, e aí uma vez que simulou, ele deu o resultado que se esperava, eu já tinha uma boa parte do código pronto.
Tinha até um acelerador de construção.
E aí, o você perguntou do desafio de negócio. Então, a gente tá falando de 2012, um mercado que era mais fechado do que é hoje, no ponto de vista do Mercado Livre, que eu dei exemplo aqui, a gente, eu não vou saber exatamente os números, mas a gente tava numa faixa de 1000 agentes. Você lembra, Danilo? Mais ou menos quanto ag gente tinha na época?
2012, em torno de 2200 sargentos. Mais é 3.000, quando a gente fala agente são empresas empresas associadas a CC, são 3.000 empresas, né?
Hoje a gente tá na casa dos 16 para 17.000.
Caraca, com a possibilidade, existe aí uma tendência, um plano eh eh de abertura total do setor, onde virtualmente qualquer pessoa do Brasil possa estar no Mercado Livre. Então a gente tá falando de 3.000 em 2012 para virtualmente 80 milhões em 2030, por exemplo, né? Isso depende de regulação, né? Eh, que tá tá rolando, né?
Tá rolando. Isso tá em discussões no regulador, né? Então, a gente tem o aumento de consumidores. Então, você tem aí o aumento de dados de consumidores, de geração, de contato e medição que vem crescendo exponencialmente ao longo dos anos. Primeiro ponto, esse é o primeiro desafio que a gente percebe. O segundo desafio é a quantidade de regras. Aqui é um ponto importante. A gente brinca que a gente muda o passado no mercado de energia. Quando eu mudo o passado, você imagina o seguinte, né, W? Eh, semanal, mensalmente, a gente tem a contabilização do setor. Funciona aquela belezinha, dados entra, dados sai. Pode acontecer em cenários eh esporádicos, onde por, por exemplo, uma decisão judicial, uma empresa entrou lá com com processo e percebeu-se que por uma questão ou de encargos ou de lei, a gente precisa recontabilizar, sei lá, maio de 2015.
Então, qual que é o desafio da CCE? Ela precisa guardar os dados, tirar uma foto ou vigenciamento dos dados de maio de 2015 e das regras do motor de 2015.
A gente tem essa rastraabilidade para entender o que que foi feito naquele momento, né? Isso a gente volta aos dados, a gente volta ao código da época, recontabiliza o setor com aquela foto de 2015, vai dar uma diferença e essa diferença é transportada para presente.
Então você imagina que ao longo desses anos você tem pilhamento de regras, de cálculos, de acrônimos, de que loucura, velho.
Então você tem processamento e dados aumentando. Então, aquela arquitetura de 2012 que foi feita para um mercado que era mais fechado, mais simples, tá mais complexo.
Quero falar com você agora que ainda não conhece a Clever. Clever é uma empresa que já tem mais de 3 milhões de usuários em 30 países com 30 idiomas diferentes, que tem trazido soluções em blockchain, criptomoedas e ativos digitais. O objetivo da Clever é te dar liberdade financeira para operar nesse mercado de cripto. Então, se você acredita nisso, se você acredita nessa liberdade, você já pensa como a Clever, vai conhecer os caras, é clever.io, estão contratando também pessoal para trabalhar com cripto, com blockchain. Então, se você tem interesse, se você tem conhecimento nessa área, procura a Clever. Se você gosta de criptomoedas, se você opera no mercado, você precisa conhecer a Clever, precisa conhecer as soluções da Clever.
Então o endereço tá aqui embaixo no vídeo. Para quem não tá no YouTube é clever. Vai lá, vai conhecer que realmente é um mercado sensacional.
Então a gente eh posso dizer aqui que a gente já tem de cara um problema de escala, né?
Exato. Exato.
Porque tivemos uma aplicação que era eh desenvolvida para um mercado menor que escalou.
Você falou hoje 16.003. Nós estamos falando de sete vezes o mercado e crescendo, né?
E crescendo, crescendo.
Então, e esse foi um primeiro gatilho para vocês entenderem que de fato era necessário uma modernização, que é a questão de escalabilidade de tecnologia. Então, por exemplo, se a gente tá falando de pelec, eu tenho uma dependência forte de Oracle, ou seja, a escalabilidade dele é horizontal, sim.
Não é vertical, né? Então, o primeiro desafio é esse. A gente trabalha com exadata, baita ferramenta. A gente não conseguiria rodar, por exemplo, o motor num ambiente não Oraco, mas ainda assim eu preciso de uma escalabilidade apenas ali, apenas consigo Uhum.
uma escalabilidade horizontal.
Sim.
Então, primeiro primeiro gargalo nosso foi esse, né?
E teve mais algum gatilho que vocês pensaram em tipo, pô, é hora de modernizar essa parada?
É, o segundo gatilho tá relacionado com isso que o Fernando, né, Danilo também falou um pouquinho, né? questão da flexibilidade, né? Mas o gatilho principal é a questão relacionada com a abertura do mercado que vai acontecer, né? A regulação vem sendo discutida, né?
As questões relacionadas do que a gente chama de diferenciação de alta tensão, que são hoje os participantes, né? A gente já fez essa primeira abertura de mercado. Eh, em suma, né? Eram grandes consumidores que poderiam participar. A gente vem diminuindo isso ao longo dos anos. E a ideia agora ter, né, existe a regulação em trâmite ali para baixa tensão, né, o que traz a questão do que o Fernando comentou, né, da possibilidade de 80 milhões de brasileiros aí fazerem a escolha eh de onde compra a energia, assim como acontece pros outros demais, né? A gente vai falar de uma escala que era três, passou para 16 e pode chegar a 80 milhões. Exato.
Virtualmente é. E aí, eh, existe ainda, né, uma perspectiva do setor elétrico brasileiro de mudar o conceito de apuração hoje, que é mensal, né, que é uma coisa que a gente contabiliza, né, a gente espera rodar o mês. Então, eu apuro os dados relacionados com medição, quando termina o mês, eu entro no próximo mês, a gente faz a efetivação dos contratos, né? Então o mercado faz o registro dos contratos e isso entra para fazer apuração.
O que isso ocasiona no mercado, né? Uma questão de fluxo de caixa, porque o dinheiro demora um pouco para trocar de mão, né? A coisa já aconteceu ali atrás, eu vou de fato fazer a liquidação só mais pra frente.
Então uma janela de tempo de 30 dias.
Exatamente. Até um pouquinho mais, né?
Passa um pouquinho mais aí dessa janela, né? Então, o gatilho principal vem também de uma questão de futuro, que é tornar essa apuração com uma periodicidade menor, né? E aí a gente tá falando de possibilidade de ser semanal e diário, inclusive, né? Fazer isso diariamente, né? a performance que a gente, né, da que o que o motor de cálculo hoje processa, né, ele leva em torno de 3 horas, 4 horas de processamento, né, doadata.
Isso dentro da estrutura do exadata que o Fernando comentou, né, do principal processamento que a gente se tem que a gente chama de mercado de curto prazo, né, que é de fato esse ambiente livre onde acontecem as negociações, né? E aí quando a gente leva isso, né, não só a a apuração, né, que leva esse tempo de processamento de 4 horas, depois a gente tem que levar essas informações para uma estrutura de resultados que leva mais ou menos em torno de 3 a 4 horas também.
Mas a gente tem um processo de validação desses resultados, né, que é o que o motor processou validar, que aqueles resultados estão corretos, né? Então, há uma curadoria das áreas de operação e aí sim, né, a gente avança. O ciclo de apuração, a gente roda isso, né, diariamente, mas a gente tem a janela, né, de publicação ali para fazer a divulgação da informação no fim do mês.
Quando a gente passa por uma janela diária, né, por exemplo, né, esse motor precisa processar isso mais rápido para acontecer a validação e a publicação no mesmo dia. Então você tem isso para aumentar a liquidez do mercado, né? Exato. Exato. Porque você imagina, por exemplo, um processamento de 3 4 horas no processamento diário, se eu tiver, por exemplo, um erro de cálculo, o tempo de resposta meu, cara, você vai acumulando 4 horas.
Sim. Você vai empilhar uma hora, você pode passar na janela de 24 horas.
Então, esse foi um gatilho importante.
Tem outro gatilho aí, a gente até viu comentando isso no caminho para cá, foi um gatilho na parte da tecnologia que acendeu uma luz vermelha pra gente, que foi o seguinte, né?
tinha um processamento específico que demorava cerca de 2 horas e a gente recebeu um desafio de conseguir encurtar porque ele era um pensamento eh importante, né? E até o Tavares que tá aqui, o arquiteto da equipe, ele ele trouxe uma solução na época, foi da gente modernizar parte do código. Foi para Python, né, Tavares que a gente foi, né, folha de PQL para Python para poder reduzir o tempo de processamento daquele daquele processamento específico.
Ou seja, a gente modernizou a plataforma dentro da própria plataforma, ou seja, a plataforma como um toda, ela precisava ter uma revisão. Então, foram esses gatilhos de negócio que começaram a perceber, olha, a gente precisa precisa eh modernizar, precisa avançar.
Avançar. É isso. Eu eu tô batendo muito nessa tecla do dos gatilhos porque eh a nossa audiência é é muito gerencial e e se levvel, né? E muitas pessoas que ouvem, não são desse desse nicho, às vezes tem uma dificuldade de entender como como que uma uma proposta de negócio encara essa questão da modernização, né?
E e eu acho que é importante a gente frisar que uma aplicação que ela é legada, se ela está funcionando e ela não demanda um uma revisão por motivos de negócio, ela não precisa e ela não vai receber investimentos para ser modernizada. Quando a gente tá estritamente no mundo técnico, a gente fala: "Cara, mas pô, esse negócio tá rodando antigo aqui, cara. Se tá rodando e tá funcionando, pois é, ela vai ficar lá, porque eu não vou gastar dinheiro para modernizar e obter o mesmo resultado." E quando a gente passa a entender que a gente tem um gatilho de negócio para que eu consiga investir uma grana para obter um resultado melhor, Uhum. fica muito mais fácil lidar com essa questão de modernização. Então, sempre que a gente falar de modernização, é importante entender qual é o gatilho, porque aquela aplicação antiga não está mais atendendo e porque ela precisa ser modernizada. E o exemplo de vocês deixa muito claro que é uma um problema de escala, de processamento, de de escala de negócio inclusive, né? E que precisa ter uma consistência maior que você não teria com a aplicação legada. Isso justifica o investimento, né? Pensa no desafio. É como é que você consegue convencer um board executivo SE level a modernizar uma aplicação que é o coração da empresa e que tá funcionando.
Ela não dá problema técnico, ela funciona a equipe com uma conhecimento gigantesco. Isso é importante salientar, né? A equipe técnica que cuida do motor de cálculo, desenvolvedores, a célula, com conhecimento técnico, obviamente, mas também conhecimento de negócio muito grande. Ela não dá problema, ela não gera exposição pra empresa. Cara, por que que eu veio investir nisso? Então você ter sinais de negócio é importante você saber trabalhar com métricas indicadores que mostrem isso.
Eh, tem um ponto, vou até me adiantar um pouco aqui na na solução, mas é importante mencionar que isso foi pra gente um dos pontos interessantes aqui foi até uma proposta que o Danilo trouxe lá na na na evolução do projeto que é da métrica do segundo por MB, né?
É megab por segundo processado, né? Porque assim, como é que você cria um indicador, uma métrica que mostre pro executivo qual que é a melhor opção que tem, sem ter que ficar tendo uma nota de rodapé de quatro linhas explicando indicador, né?
Uhum.
Então é você não falar de tecnologia, a PSQL é uma tecnologia antiga, é, mas funciona.
Agora, pro negócio reduzir lá um processamento de 4 horas para virtualmente minutos Uhum. pro mercado que tá se expandindo.
Olha a isso é sensível do ponto de vista de negócio. Isso explica, por exemplo, porque que tem muito banco rodando e cobó até hoje, porque não tem gatilho de negócio para isso.
que eu ia tocar, né, do ponto de vista também de tecnologia, né, uma questão que a gente discutiu e avaliou, né, eh, era tomar a decisão no momento para que isso também, né, não virasse um legado de uma forma que futuramente a gente também tivesse dificuldade com profissionais no mercado, né, com questões de suporte e operação, manter operação de pé, né?
Exato, né? E também foi um gatilho, né?
foi gatilhos, né, tanto do negócio quanto da tecnologia para fazer essas questões acontecer. Interessante aí assim, é atuar antes que vire um problema.
Exato. Consertar o telhado com sol no carba, né?
É, não com chula.
Exato.
Essa visão é incrível, porque muitas empresas elas só se mexem quando estão em crise, né? E aí a decisão é ruim porque ela precisa ser rápida, não chega numa solução otimizada porque vai fazer a que dá, né? Então essa visão é é extremamente acertada, né? Eu prevejo o problema no futuro e me antecipo a ele para para não passar por ele naquele momento, né?
Em que momento vocês entenderam essa necessidade e começaram a olhar para essa solução, né? A gente tem a VMBERS, que é o nosso parceiro aqui, que ajudou vocês nessa nessa modernização. E eu queria entender em que momento você falar: "Cara, vamos ter que fazer, vamos ter que contar com parceiro". Isso também é um traquejo executivo que é importante, né, principalmente do ponto de vista de arquitetura. Como foi isso, cara? Vamos fazer qual que é melhor arquitetura?
Vamos contar com um parceiro para poder fazer isso. Eh, o conhecimento do negócio tá muito interno também. Como é que foi essa discussão?
Eu vou começar, acho que o Felipe depois pode complementar que que ele cuida da parte de gestão de projetos, né? Bom, então do ponto de vista de tecnologia e arquitetura, a gente comentou, tem os sinais de negócio, teve uma necessidade de a modernização dentro da modernização, falou: "Olha, a gente precisa olhar para isso." Só que não é um trabalho só de execução, não é só trazer um exército de desenvolvedores para modernizar o código, precisa, a gente precisa planejar a velha história das nove grávidas, né?
É, exatamente o trabalho, a gente precisa, olha, a gente precisa fazer de um trabalho de arquitetura primeiro, de fazer um trabalho de avaliar ois, avaliar cenário, avaliar impactos, gaps e arquitetur enablers e fazer uma proposta que seja a longo prazo. E não é só também trocar, não é só colocar uma IA que vai moneternizar do código A pro B e executar. Tem uma questão de, por exemplo, eh, como é que a gente fazer a migração? Como é que você vai garantir que o mercado continue funcionando sem você parar? Não vou parar o mercado por um ano e meio para modernizar o motor de cálculo, né? Então é um trabalho que a gente precisa de expertise, a gente precisa de conhecimento e também de oxigenação de ideias, né? Até um caso interessante, a gente tinha uma preocupação aqui os gestores na época fal assim: "Cara, a gente precisa modernizar o motor de cálculo, cara.
Como é que a gente vai chegar pra equipe que cuida falar: "Galera, vai mudar, não é mais percell, vai ser XPTO tecnologia.
Como é que a galera vai receber isso aqui?
A galera que tá habituada com aquela operação, habitução, com aquela manutenção, né?
E a gente falava, cara, a gente tem que mostrar para essa galera que o conhecimento deles de negócio é muito mais importante do que de tecnologia.
A surpresa nossa foi quando a gente bateu na porta da equipe, o Tavares tá aqui para não deixar o mentir sozinho, a galera já tinha várias ideias e já estavam preocupados com isso, né, Tavares? Exatamente.
Dá o seu testemunho aí, Tavares.
Não, cara, isso aí que o Fernando falou foi eh o divisor de águas, eu diria, do ponto de vista técnico, né, da equipe técnica, né? O pessoal quando recebeu a notícia não foi uma novidade total, né? Na verdade, foi algo que a gente já vinha conversando também.
A gestão vinha conversando, mas a equipe técnica também já vinha conversando, né?
Então, foi algo que bateu ali certinho, casou e o pessoal abraçou e a gente vem, cara, assim, vem de mãos dadas aí todo mundo na mesma ideia, no mesmo objetivo aí, cara. Isso aí tem sido fundamental, porque senão cada um para um lado não dá certo, né? E tem sido bem bacana nesse sentido aí, cara.
Esperado, né?
É. E aí quando a gente falou, sabe?
Então a galera tá preparada pra gente ir junto. A gente precisa agora de uma uma galera que venha com método, com conhecimento técnico, que é importante de novas tecnologias, mas também com uma visão de negócio. Então, pessoal que venha, entenda nossos negócios, entenda nosso contexto, entenda o cenário e propõe uma arquitetura, uma solução junto com com a equipe nossa aqui que viabilize o futuro. E é que acho que o pessoal do Danilo e o Valdir entram muito fortes aí, cara, o pessoal se uniu e tá acontecendo. E aí vocês trouxeram a VMBS para poder fazer esse assessment de arquitetura, entende? E e aí eu tô curioso para entender qual foi o Tubi aqui, porque eh é é uma aplicação de de alta performance com alto volume de dados, né? Eu desconfio que tem alguma coisa de Java, cara. Será? Tenho uma dúvida que desconfia. Ué, tem gente que tem tem gente que falava que Java com I não funcionava, agora tá mudando. Então a gente precisa depois ter uma conversa, precisa ter um ter um ter um verdade, mas a gente toca com o Java desde a versão um. Então eu acho que é legal depois até o T falar um pouco do Tubi, né? Mas acho que você falou uma palavra que é importante, o assessment foi um trabalho diferencial que eles fizeram junto com a equipe, foi de avaliar as dores, não só técnicas, mas também técnicas. Quando eu falo técnicas é ouvir a dor do desenvolvedor, que às vezes a gente ignora, do pessoal de infraestrutura, do pessoal de negócio, dos gestores. Então, todo mundo foi considerado na avaliação.
Cara, esse é um ponto muito importante, porque quando a gente fala de do desenvolvimento de uma aplicação ou principalmente de uma modernização de uma aplicação, é comum você pensar só no resultado final dela, não na operação que mantém essa opera essa essa aplicação, que é tão importante quanto, né? Então, quem vai manter? Qual vai ser o processo? Porque, cara, a aplicação pode ser brilhante, maravilhosa, mas se ela é difícil de manter e a operação é complicada, na primeira crise você se perdeu, né?
Então, entender de fato quais são as dores, se se a aplicação vai ser manutenível na linha do tempo, né? Então isso é um um uma disciplina que é muito importante para nós, somos executivos de TI.
Porque só a entrega de negócio eu posso fazer de inúmeras formas, mas de uma forma que ela seja é sustentável e encaixe com a operação de cada empresa, é aí onde tá o segredo de uma aplicação bem bem arquitetada.
E aí a gente fazendo isso, a gente conseguiu chegar, acho que o Dan pode explicar melhor como que foi o processo ali de tecnologia pra gente chegar nesse nessa fórmula onde eu consiga modernizar arquitetura, atender o negócio, atender, por exemplo, as questões financeiras, algumas premissas que nós tínhamos definido também, né, enlers, né, que foi questões importantes, né? Eu acho que um ponto também que precisa ficar claro, né? E aí a experiência, eu acho que, né, do que a gente tá rodando, né, a gente tá de fato caminhando ali, né, com com o projeto, é não entrar, né, num projeto desse porte sem criar uma estratégia, né? E aí quando a gente fala de uma estratégia, é exatamente o que o Fernando tá falando, né? Precisa estudar primeiro, precisa definir a arquitetura, né? A gente precisa entender como a gente mantém a operação rodando e como a gente embarca essas pessoas que estão trabalhando com a estrutura atual para que elas conheçam, dominem, comprem, né, a situação do que a gente vai colocar no ar e como a gente faz a transição das questões, né? Então precisa ter uma estratégia.
Acho que é a parte principal, né? Ainda mais agora no mundo, né gente tá tá tá com um código cada vez mais commodity, né? desenvolvendo cada vez mais rápido a inteligência da estratégia aliada com o negócio, uma boa arquitetura, ela fica cada vez mais relevante, né? Então, acho que esse assessment de você entender de fato onde você tá colocando a mão e onde você quer chegar é o ponto principal que que todo profissional de TI tem que olhar hoje, né, cara?
Exato.
É.
E mas e aí, qual foi o TOB?
Não, antes de falar TB, acho que o processo, né?
Tá bom, vamos lá. Eu tô ansioso, cara.
Eu tô ansioso.
Não, não. Tem que ter um t, cadê o diagrama de arquitetura?
Será que a TV Java? Será interrogação?
Não, eu acho que assim, o lado interessante do de todo o trabalho foi que ele foi dividido de uma maneira que a gente ouviu todo mundo, como eu fui colocado. Oi. Eh, ouviu todo mundo, né?
Então o pessoal trouxe assim, ah, a equipe técnica já tinha algumas opiniões, ah, tinham dores da área de negócio.
Então, a gente chegou olhando o seguinte: vamos entender todo o cenário, quais são as expectativas que o pessoal tem, quais são as dores que eles têm, quais são as ideias que eles têm. Então nós fizemos algumas rodadas de não só pegar dores e compilar as dores, levantar arquitetura exista, mas quando a gente foi começar a pensar em fazer provas de conceito e tal, houveram rodadas com todas as equipes técnicas perguntando assim: "Qual software você sugere?" Uhum.
Qual plataforma você entende que estaria aderente a a colocar isso? Porque eles são as pessoas que estão naquilo dia a dia, né?
Que é o que a gente falou de ter uma operação que encaixe na na empresa, né?
Exatamente. Então, eh, a gente veio compilando isso, fizemos uma um levantamento is, fizemos um levantamento de dores e todo o time técnico da CCE e da VMBES atuam como sendo uma equipe só.
Isso é uma coisa que a gente sempre deixou bem claro, por isso que a opinião de todo mundo é importante.
Aí levantamos alternativas e fomos fazer o seguinte, não existe isso pronto no mercado. Então tínhamos que bolar, estruturar uma nova maneira de implementar o motor sem eh violar problemas de compatibilidade, de compatibilidade de execução, de ter execução híbrida. Então a gente tem que pensar toda essa questão de longo prazo, né? Quando a gente estruturou esse modelo, a gente chegou em alguns fornecedores, pensamos numa numa maneira piloto de de atuar e colocamos algumas premissas, algumas regras de negócio, alguns requisitos. Então a gente falou o seguinte, nós estamos falando em grande volume de dados, então vamos buscar plataformas ou softwares ou arquiteturas que mexam com grande volume de dados, mesmo que ele não seja exatamente igual ao que o motor precisa, mas todo o software, toda essa linha de de produtos e toda essa esse mercado evolui nisso.
Então vão ter recursos de performance, vão ter recursos que vão ajudar a CC no hoje e no longo prazo. E aí a gente estruturou junto com eles eh uma prova de conceito das ferramentas que foram as mais selecionadas pelo grupo.
Ah, sim. Então vocês pegaram tudo aquilo que o o time sugeriu e colocaram a prova, né? É, não é, a gente colocou primeiro isso, a gente escolheu as principais, a gente fez algumas aderências, aí o o Tavares pode ajudar, a gente fez algumas aderências, trouxemos alguns fornecedores para conversar, pensamos em alguns outros modelos que pudessem atender a CCE no longo prazo. Então, questões de uma execução híbrida, né, tanto nuvem como um premises, porque a CCE tem hoje uma solução totalmente um prémis, tem uma parte cultural para atuar nisso. Com base nisso, a gente estruturou em conjunto toda uma parte de prova de conceito, né? A gente chamou de prova de conceito e até mesmo em duas fases de como ele queria atuar.
Não sei se o o Tavares quiser complementar alguma coisa.
Não, tá, tá perfeito, cara. Ah, na verdade, a a maneira como a gente estruturou a prova de conceito, cara, fez toda a diferença também, né? Porque a gente conseguiu fazer uma simulação ali de um de um cenário semelhante ao que a gente tem de regras aqui, né, para depois ir pra segunda fase e realmente simular com os dados que a gente tem mesmo com o processamento real nosso, né? Então a gente conseguiu numa primeira fase já entender ali dos requisitos que cada um desses fornecedores tinham, se atendiam, né, aplicando lá um cenário, vamos dizer, fictício, mas semelhante ao que a gente tinha de regras aqui, né? Eh, e na segunda fase a gente conseguiu aplicar o cenário real já já com os requisitos validados ali na na prova de conceito na na fase um, dizer assim, né? E aí, nessa segunda fase, sim, a gente conseguiu ter a percepção real ali da do caminho que a gente queria seguir já, que que é o que faria sentido, né, que é onde a gente vai chegar aí também no TB, né?
Muito bom. Então, eh, quando vocês fizeram esse levantamento, abriu-se alguns caminhos, né? Isso.
Então, vamos testar aqui para entender o que que faz mais sentido para esse caso de uso, né? Porque aí a gente tem que considerar a parte de infraestrutura, tem que considerar a parte de operação e claro o resultado do produto final, né?
E e aí qual foi o próximo passo?
Não, Dan, só para aumentar. Eh, ah, cara, não aguento mais esse suspense não. Mas olha que legal, né? Como a gente tá demorando para falar, imagina a ansiedade desse pessoal por 4 meses assim, cara, antes de falar de código, vamos falar de negócio, de acesso? Então é um trabalho o arquiteto que ansiedade, cara, quero codar, velho, quero subir, quero subir um S2 aqui. Calma, vamos.
Isso, exatamente.
É o um ponto interessante é que o tempo é curto.
Então, como a gente tinha algumas coisas híbridas, a gente dividiu, como o Talvez colocou, a prova de conceito em duas fases. Uma primeira fase, a gente construiu um código em Python que pudesse rodar em qualquer uma das soluções que estavam sendo colocadas.
Ele representava uma parte do das regras, do que precisava e ele tinha alguns volumes de dados. Então, a gente fez uma primeira rodada com chamamos fornecedores de nuvem, teve até execução interna, a gente fez uma rodada arquitetural. Então, a gente chamava o seguinte: vamos validar arquiteturalmente a plataforma tecnológica, vamos ver se ele vai atender os requisitos que precisam, vamos ver como é que ela escala, se ela escala horizontalmente. Vamos ver tudo isso em cenários fictícios. A gente não se preocupou, por exemplo, com o resultado, a gente se preocupou com o resultado do dado, a gente se preocupou com a solução atendia tudo que a gente precisava, o os requisitos não funcionais ali, né?
Principalmente os não funcionais, porque aí você normaliza a solução para uma para um resultado único, né? E aí você vai medir latência, performance, etc. De acordo com as decisões arquiteturais, né?
Acho que um ponto legal, né? Comentar, né? a gente tem na na maneira simplificada arquitetura, a gente tem a camada online, o LTP, tá? A nossa camada transacional toda em Oracle, grande maioria em Oracle, existe um processo que a gente chama de descida do dado, onde esse dado no na arquitetura atual, ela vem pro pro para ODS, uma camada de ODS ali para ser processada pel ODS pelo Perquado aqui embaixo no motor e depois a gente sobe o resultado de volta para pro online paraas pros transacionar poder consultar. O que a gente, que o Dan tá comentando é que a gente tava olhando apenas aqui embaixo.
Sim. Aham.
Então a gente não queria falar de transacional, nem de de integração, nem de descida, era validar aqui dentro esse pequeno processamento, porque é onde de fato faz o o a diferença, né? Depois você pode ter, independente da solução, esse trânsito de volta pro transacional, você pode eh desacoplar da solução que você vai trabalhando.
Isso aí nós fomos pra fase dois. Então, quando terminou as avaliações, todo o time de projeto participou, foi dando notas, foi tudo cada um é se atendeu, não atendeu. A gente chegou em algumas soluções que a gente falou assim: "Isso aqui pode ir pra fase dois". O que que é a fase dois? É um desafio que a CC colocou. Ela pegou um processamento real que ele era, ele não era tão complicado de codificar, ele tinha só nove equações, mas ele tinha um grande volume de dados.
Uhum. Então, e aí a gente reescreveu isso na já pensando nas soluções. Então, a primeira parte ele tinha um código, vamos assim dizer fictício, um código só pra gente validar. Então, o segundo não, o segundo tinha, mas ele reproduziu o cenário de fato.
Reproduir o cenário, mas não isso. No segundo caso, ele tinha que bater na vírgula.
Então a gente fazia o seguinte, quando rodava a versão da POC feita na solução nova, era conferido. Inclusive o personagem rodava três vezes para cada um dos cenários, eles tinham os resultados, tinha os tempos e ela batia o resultado. Se dava diferença de de centavos ou a gente tinha que olhar, por exemplo, onde que isso foi, cara? Sabe que sabe o que isso me lembra? Eu quando eu fiz meu mestrado, eu tinha que fazer cálculos de física muito com ponto flutuante muito grande, né? eram valores muito pequenos ou muito grandes, né? E primeiro eu fiz tudo em uma linguagem, não vou falar qual porque pode ser que algumas pessoas fiquem chateadas, não quero magoar ninguém. Eh, foi feito em Java, não posso falar, não vou falar sobre o Java nós contamos as camadas. Vamos ver se ele descobre onde tá o Java aí.
Então, mas aí veja, eh, isso tem quase 10 anos, né? Hoje esse problema já, independente da linguagem, já tá resolvido, tá? Eh, e aí eu eu fiz, cara, todo o processo e, cara, era um loop assim, tipo, de uma a milhão, tá ligado, de acumulação de valores, de ponto flutuante e tal. E, cara, dava um resultado muito diferente do Fortran, porque eu tava modernizando uma aplicação do Fortran e o Fortran é muito bom com cálculo científico, né? E e dava um problema de acúmulo de de truncamento, né? Quem não quem não conhece a análise numérica, o truncamento é quando você simplesmente corta o número e não arredonda, né? E aí esse erro de troncamento ia se acumulando e para uma escala muito alta dava uma discrepância muito grande no final. E aí eu tive que trocar de linguagem, reescrever tudo para na época pro Python e aí resolver o problema porque ele lidava melhor com o ponto flutuante do que o Java na época. Agora já tá resolvido de forma porque tem tinha um problema da quantidade de casas decimais.
Isso. Exato. É o o fl a gente enfrentou isso também quando a gente estruturou, né, essa questão do das equações do motor, porque existem dimensões diferentes. Algumas entram, né, e com apuração de alguns determinadas casas decimais e outras entram com uma quantidade maior, né? E aí dentro desse também cálculo que a gente faz dessas equações, a gente tem que fazer essa equalização.
É, dependendo do quanto você acumula de valor, ele pode dar uma uma quantidade significativa no final. Mas eh tô curioso, vocês criaram esse esse cenário, isso que tinha uma uma situação que reproduzia pelo menos arquiteturalmente o que seria feito direto no motor e e avaliaram em algumas situações. Quais foram essas situações de solução? Pode dar nome aos aqui, tá? A gente ordou internamente a uma equipe da CCEP para um ambiente eh colocando a solução spark debaixo do Open Shift, seguindo na linha do Cabernets.
Entendi. Então você tinha um Spark para oferecer os dados ali e aí rodava isso num contêiner.
Isso para para consumir o dado do SP do SP.
Isso. Isso. Aí o código foi feito nesse modelo. Aw, pode dar nome aos bois aqui, sem problema. Então, pode dar. A WS também entrou no no circuito, trouxe eh, por exemplo, alguns algumas propostas tecnológicas na primeira fase que acabou não atendendo os requisitos, mas ficou o EMAR, né? Aí falou assim, ó, o EMAR seria a possibilidade para ser testado. Fizemos teste com EMAR, levamos os dados lá, testamos com mais de um tipo de processador, inclusive para olhar. E a Google também entrou Uhum. né, na para pro teve outras nuvens que acabaram não participando, chegaram a usar big query para isso.
A gente chegou a fazer um um cenário, o início de um cenário do Big Quer, mas ele não ficou validado em resultado, até teve um timing lá e aí o que acabou ficando assim, ó. A gente até tem uma menção no documento dizendo sobre o Big Creer, mas ficou mais o data proc.
Entendi.
Quer falar complementar o? É, esse esse é um gancho muito interessante, né, da do Big Quer aí no GCP, porque eh usando o termo direto, ele foi um canhão perto dos outros. Só que eh em termos de resultado não não foi o tempo hábil que a gente tinha, que a gente precisava, não deu pra gente comprovar ali e ajustar a questão de resultado, não tava batendo, né? E aí assim, pô, por que não usar o Big Quer, insistir no Big Quer, né? E aí o Bquy traz outras questões que eram decisivos aí que até a gestão mesmo orientou pra gente, né? E que questão, por exemplo, de loquin, portabilidade, eh questão de controle ali de processamento, né? Ou no Spark, por exemplo, eu tenho um controle fino, né?
Eu vou no na raiz ali do controle.
Então, todas essas questões aí pra gente, a gente acabou entendendo que big não faria sentido mesmo, né? continuar, por mais que o resultado dele ali na poque em termos de tempo foi absurdamente eh maior, né? Melhor que o que os demais, né?
É um canhão, né? E por isso muita gente se rende a louquin porque é sedutor.
Um ponto importante, né? A gente não tá abrindo mundo big query para a gente avaliou que tem cenários onde ele pode ser pra gente, mas só que era uma das premissas que o Felipe comentou, uma era a gente precisa, pensa assim, a gente tá saindo no loquinho do Periscell, que é do Oracle, então a gente não quer sair no loquinho para querer no outro.
Sim, né?
É. E e tem formas de você não locar no Big Quare, né? Sim, sim, só com um banco colun você consegue. O o problema é que é muito sedutor usar as coisas que são do próprio. Então, qual foi a nossa decisão ali, né, eh, olha, a gente o coração do motor, ele vai ser agnóstico, ele vai ser interoperável. Então, roda um prêmices, roda na Amazon, roda na no Google, roda em qualquer lugar, né? Claro que em volta disso existe uma necessidade de você preparar a camada e tal, cara, preparar um um um ambiente no diferente preparar no Google e um premises, mas o código em si ele é ele é código de negócio, né? O cálculo acrônimo, ele cálculo de negócio, né?
Intercambiava. Claro que a gente identificou que podem haver cenários específicos onde o Big Query vai ser o canhão para matar realmente o que precisa, né? E aí você usa só aquele aquele trecho, aquela feature para processar fora e aí faz todo sentido.
Até porque até o ponto ponto importante, o Fe ele passa muito por isso, né? A gente tem uma característica na CCÉ, onde inclusive a alteração de código de motor, só tem um problema, ela é reportada pra diretoria, pro conselho.
Então o nível de importância de cada linha de código alterada é importante, né? eh eh inclusive, né, um processo eh estabilizado, né, e e determinado em regulação, né, com a própria agência reguladora, né, que é a convenção, o estatuto da Câmara, né, de como ela opera.
E a importância, né, relacionado disso que o Fernando tá comentando, é um cálculo, né, errado, né, uma conta incorreta pode gerar uma diferença de milhões, né, entre credor e devedor, né, quando a gente faz a liquidação, né, e isso acaba gerando problema sensível, né, de fazer o processo de contabilização, tudo aquilo que a gente comentou no início, você que tá aí escutando esse episódio bacana e quer levar toda essa tecnologia, essas novidades pra sua empresa e não sabe como, chama o time da VMBERS. A gente pode ajudar vocês com desenvolvimento de software, com arquitetura de soluções, a entender os problemas que vocês estão vivendo e sair do outro lado com uma solução bem bacana. E se você tá escutando o podcast para aprender coisas novas, faz o seguinte, manda um e-mail pra gente no peoplecare@vems.
E você pode fazer parte também do nosso grupo de talentos. Valeu.
Agora o time do Relações Públicas vai gostar mais de mim.
Beleza, entendemos aqui todo o processo, entendemos os guardios, entendemos o levantamento que vocês fizeram de requisitos funcionais, não funcionais, a avaliação da da das tecnologias que vocês fizeram e a métrica que foi usada, né, que foi processamento por segundo, né? É, a gente acho que o grande ponto aí é que assim existia um um leque de soluções diferentes com eh infraestruturas diferentes que precisavam ser comparadas.
Uhum.
E um ponto importante que que eu acho que vale frisar aqui é que a gente não foi buscar um vitorioso. A gente não foi falar assim: "Olha, o fornecedor tal é vitorioso, a solução tal é a vitoriosa".
a gente dentro do projeto começou a falar assim para atender esses requisitos de diagnóstico e pensando na Cé no longo prazo, pensando no que a gente tinha, o que seria melhor para CC?
Uhum.
E aí a gente trouxe um desenho arquitetural que atende a CCE hoje e no futuro e não saímos naquela de que tem que buscar um vitorioso.
Sim, mas pode ser uma um conjunto, né?
Exatamente. Um conjunto, o melhor de cada uma dessas coisas. E me conta como ficou o você que é o cara da arquitetura, quais caixinhas tem nesse diagrama?
É, a caixinha principal ali ficou o Spark, né? Como como a endine do motor. Então a endine do motor parece ser redundante falar, né? Mas a endine do motor de cálculo é o Spark, né? Então a gente rodando spark ali para poder ter essa portabilidade premis ou prêmices ou em nuvem. Então a gente consegue, né?
É. E e um diferencial legal ali, né? É porque a gente tá trabalhando com SQL, então o Spark muito próximo do SQL ANC, a gente mantém o conhecimento da equipe que conhece do do PLSQL. Então, a a a migração, a transição para eles é um pouquinho mais tranquilo do que, por exemplo, migrar percell para um Python, por exemplo.
Então, o primeiro ponto foi isso. Então, a gente rodando o Spark ali com PSQL ali dentro, né, contêinerizado. Então, a gente trabalhando ali com contêiners, com com Phift pra gente poder fazer a transição.
Eh, e quando a gente rodar, por exemplo, em AWS, você tem lá o IMAR para fazer a a orquestação, a gestão e internamente um um pipeline ali com AP Shift, com Argo CD, que já é o padrão CCe.
Uhum. O outro ponto diferencial aqui é que a gente traz com isso uma modernização inclusive da gestão de geria de software.
Eh, agora para quem ouvir em casa e entender o que eu tô falando, a gente usava, usa, né, SVN para fazer a o versionamento do PS4.
Você vai ter que olhar naquela câmera ali e explicar pra geração Z o que que é SVN.
Vai no vai no cloud, no chat EPT que é mais fácil, senão vou ter que explicar o que que é o que que aconteceu na Copa 2002. É, é muito longe, mas se você é da geração que não que nasceu no Git, você vai ter que dar uma pesquisada no que que é e e aproveita, vai saber como era o SVN e quem criou o Git e porque criou o GR Git. Você vai ter uma informação sobre casa, lição de casa, exatamente sobre o maior gênio da computação vivo, na minha opinião.
E com isso a gente moderniza inclusive a engenheiro de software, né, pra gente poder fazer a gestão diversionamento aí, como como a gente faz hoje com bit.
Então, deixa eu entender, pera aí. Você tinha uma aplicação que era totalmente baseada em PLSQL, aí você migrou pro Spark. Esse Spark ele tá containerizado dentro do Open Shift. Você deve ter ali um volume eh persistente, etc., onde você mantém os contêiners do Spark efêmeros, mas com a persistência direto no Ophift.
E só que aí você tem que ter então um orquestrador ali em código, né? Exato.
Que que aí você não que que o o P fazia, mas que o Spark não faz, né?
Então você tem que ter ali um orquestrador. E quem é esse cara? É Java. Não, não é não, não é Java. Não é Java. A gente pensou no Java, mas no final vocês são demais, não caiam na em mais influências.
É o a gente entendeu que o Airflow é o grande orquestrador da dessa solução e até a gente adotou um padrão arquitetural no desenho de solução chamado Cloud Burston.
Uhum. Então o o orquestrador consegue entender se deveria rodar um premises ou se vai rodar isso, por exemplo, numa nuvem.
Isso baseado em parâmetros, né?
é automático, então ele tem toda a inteligência de rodar a versão antiga do motor. Então a gente tratou também de pensar na questão do processamento híbrido. Ele roda versão antiga, roda versão nova, ele consegue rodar na em com premises ou por exemplo na WS, que é o que tá configurado. Uhum.
E e aí o o Airflow é o nosso carro chefe central dessa inteligência e o Spark é um dos um dos grandes executores, assim como tem o executor do antigo.
Sim. E e como vocês resolveram essa questão do snapshot antigo de você, que que vocês falaram, você tem que fazer um restore do dado para ter um time machine e ter um reprocessamento?
Porque para mim, a primeira flag que me que me dá aqui é que é extremamente sedutor fazer um snapshot de banco de dados na nuvem, se você precisar fazer isso, né? E como é que vocês resolveram esse problema? É, o primeiro ponto é que o snapshot na nuvem eh, a gente tem um volume muito grande de dados que a gente falando de dado, a gente falando de gigabytes de dados por mês, descendo pra camada e voltando pra camada. Então, quando a gente fala da do da do motor atual, da arquitetura atual, a gente mantém o processamento do jeito que é hoje pra gente poder ter a continuidade do negócio.
E a gente a gente tá com o projeto em execução, né? Tem gente é um projeto que vai durar ali alguns meses, alguns anos, né? Mas trabalhar com com processamento em paralelo, com a arquitetura atual e a nova, né?
Na arquitetura nova, a gente vai trabalhar com com o dado descendo e a gente vai fazer uma conversão para parquê.
Uhum.
Para poder fazer uma podenização e reduzir também a volumetria do dado, né?
E a gente vai, por um tempo processar a eh processar alguns processamentos em paralelo com a versão atual e a nova.
Uhum.
Né? pra gente poder até fazer comparação de resultado, porque a gente vai ter que pedir para que quem conhece do negócio avalie o resultado novo e o antigo por um tempo, a gente ter a garantia de que o resultado tá batendo na vírgula que a gente quer.
É, aí é o plano de de transição, né?
ao longo prazo.
Exato. E aí quando a gente fala de para que com eu consigo fazer uma ter uma flexibilidade de rodar um prêmices ou rodar, por exemplo, um processamento de nuvem quando a gente achar que é conveniente, né?
Mantendo o dado transacional onde ele está hoje nas nas aplicações. A gente não tá olhando pro online, né? Porque isso aí já é um outro projeto, já outra outra modernização aqui, né? É, eu acho que o grande ponto é assim, a gente tornou tão agnóstico que a gente tirou toda a parte de processamento do Spark e do banco de dados. Ele tá nos arquivos Parque Iceberg.
Uhum.
E com isso a gente não fica preso nem as as tecnologias, nem os ambientes. Por isso que pode levar pra nuvem e tal. E e é muito rápido do ponto de vista da configuração. É claro que não é tão simples de tem que fazer um um trabalho anterior. E aí, como que você pode reprocessar? Então, existe um processo que é o tal da camada que ele foi feito para desacoplar o online do motor. Isso foi desenhado lá atrás. Por quê? Porque na na CCE o motor ele é muito controlado do ponto de vista regra, auditoria, tal. Então, imagina mexe no online, eu teria que mexer no motor, aí eu tenho que chamar o auditor e tudo mais. Então foi criada uma camada de interface em que ela converte dados, ela converte umas informações para o motor processado de maneira que fique simplificado. Por dar um uma coisa assim bem eh didática, tal. O a gente processa mês, o motor para ele não interessa a hora, não interessa que é hoje, dia 20, dia 18 de junho, às 23 horas, interessa que hoje é a hora 520.
Uhum. Quem converte isso, então na hora que traz o dado do online para trazer pro motor, ele converte a data e hora, dia, mês e ano em hora em hora sequencial de 1 a 720 a 1 74.
E e aí da onde o dado veio, tanto faz, o motor processa e depois devolve. E o que ele comentou que ia levar o dado de volta, converte essa hora 520, 540 numa data e hora específica e devolve pro sistema e o resto funciona.
Entendi.
Nesta camada, você desacopla de fato toda a camada de processamento eh pesada do transacional que recebe o dado processado, né?
Isso. E ainda aproveita dar um facilitador pro motor, que questões, por exemplo, como sucessão de agente e tudo mais, essa camada, a gente chama de camada de integração, ela consegue resolver, né?
pensando nisso, a solução nova, ela se aproveita desse recurso. Então, o grande orquestrador lá do airflow, ele ele entende o que veio depois da camada, entende o dado tá no banco de dados para o legado, né, pra versão antiga ou não.
Senão ele chama um componente que a gente criou que converte, tira o dado, passa para para arquivo parquê o iceberg, segue todo o processamento, depois ele devolve. Com isso a gente mantém a compatibilidade. Então, pensando numa recontabilização, eh, primeiro lugar, a recontabilização tem que funcionar como se naquele tempo estivesse. Naquele tempo era PL, é um de volta para o futuro. É um de volta para Então, acontece, tem que rodar o PL, ele vai ter que rodar o PL. Não pode só voltar o dado, ele tem que rodar como se naquele tempo tivesse.
Mas teoricamente você não tem que ter na nova plataforma o mesmo resultado que tinha no PL.
Eu vou ter a diferença, né? Então o que acontece? A nova plataforma ela o ele roda o atual e o antigo. Então se eu tiver que rodar uma recontabilização, eh esse airflow vai falar assim: "Pô, esse aqui é daquele qual é a data de processamento? É tal. Qual é os códigos tem que rodar? Ele vai rodar o PL.
Rodar lá. Entendi.
Porque ele sabe que é o PL que tá certificado.
É fotografia da época.
Da época.
Ah, entendi.
É possível converter todo lá na frente se a CC quiser converter o passado. Sim, mas dá um trabalho enorme aí de até de auditoria. Eu entendi. É porque você precisa reproduzir exatamente o que foi feito naquele exato.
Naquele momento. Regra diferença é que vem pr pro sistema novo.
Uhum.
Mas você não poderia, eu tô ficando curioso demais aqui, gente, mas você não poderia reproduzir as mesmas condições na plataforma nova?
Você tem que converter o código, né?
É o código é anterior.
Ah, você teria que voltar a versão do código lá na SVN de 2015, pegar aquela versão.
É, o código não é mesmo? Esse é um ponto interessante que o o motor de cálculo ele não funciona, até tá colocando, ele não funciona naquela linha que a última versão é que vale.
Uhum.
São todas as versões são ativas e todas podem só ver manutenção, porque pode acontecer da ANEL, o Ministério de Minas Energia, que criar uma um version regra de negócio, né? Exato. Exato.
Isso aí a gente a gente vigencia todo dado que entra na CCE, ele é vigenciado, que a gente fala que é uma regra de vigenciamento. Então se você registrar um contrato hoje, ele é vigenciado pro dia de hoje, né?
Uhum.
Se lá daqui 5 anos mudou uma regra da regulação e aquele seu contato vai ter que ser utilizado, vou ter que voltar no dado que você colocou hoje, no dia de hoje, e calcular com o dado de hoje.
Sim. Aí para você calcular um cenário anterior na plataforma nova, você teria que pegar a regra de lá e criar na própria plataforma, converter converter, converter. E aí é praticável porque você tem um histórico passivo enorme.
É possível, é, é uma questão agora de investimento. Primeiro a gente modernizar o atual e depois a gente vê se vale a pena fazer essa modernização retroativa dos códigos.
Vou deixar ele morrendo, né? Porque conforme o tempo vai passando, recontabilizações antigas são cada vez melhor.
Essa é a pergunta que eu ia fazer, Danil. Como que vocês imaginam o momento de transição? se vocês têm uma meta, porque vocês estão com essa plataforma em desenvolvimento e e já sendo colocada à prova, né, fazendo a checagem de valores, etc.
E um dos maiores problemas quando a gente faz qualquer tipo de modernização é exatamente o momento de transição, né?
Não dá para você parar um de uma vez e começar o outro de um dia pra noite, não. Parar o mercado inteiro para modernizar, né? Como a gente começou, você não é louco desligar a luz da minha casa?
Não, não, por favor. Como é? Que que vocês estão imaginando?
É, ó, a gente desenhou a arquitetura para ser híbrida e a gente eh desenhou o conceito de dual run. Então, a área de negócio vai dizer assim, ó, para um determinado módulo, eu quero cinco execuções desse desse processamento depois que tiver em produção. E e aí o que vai acontecer? Entrou em produção, vou rodar os dois, compara seu resultado. Deu OK, tem até um módulo de comparador. Deu OK, beleza? primeiro mês, segundo mês, terceiro mês, quarto mês. Aí o o isso vai depender de cada módulo, porque cada um tem uma periodicidade diferente e tal. Quando a área de negócio fal assim, são, por exemplo, cinco execuções, deu OK no paralelo, é desligado o antigo e o novo assume aquele pedaço do processo, porque esse é o grande ponto.
São coisas muito grandes, não dá para você, então ele vai sempre, por isso que ele roda o antigo e o novo, então ele vai falar: "Esse pedaço aqui já foi substituído, então roda do novo. Esse pedaço não foi substituído, vou rodar do velho." Uma curiosidade antes de eu ouvir o Tavares, que eu quero ver a a visão dele sobre tudo isso, vocês têm que alimentar duas fontes, então, né?
Você tem que levar o dado pro Exa e também tem que levar o dado pro Spark.
Nesse nesse cenário, sim. No processamento, sim. Lembrando que o transacional é o mesmo, né? A origem é a mesma. Mas aí você replica para antes você levava isso pro EXA para ser processado, agora você leva pro EXA e pro Spark.
É um ponto importante, né? Quando a gente fala de processamento do Excel, você desce o dado pro motor, processa, volta. E eu não fico armazenando histórico de processamento porque o dado é online, né?
Então a gente não fica lá acumulando o dado de processamento do motor. Mesma coisa vai valer pro processamento do novo. Mas assim, a gente vai ter um período que vai ter que ter a uma, um tem que ter duplo processamento. Você você não mantém isso como histórico ali direto no processamento.
Ex. Não, não é porque é engraçado, né?
Porque em tempos de inteligência artificial a gente tá falando de um projeto extremamente determinístico aqui, né?
Ex. É, exatamente, exatamente.
Tavares, sua visão desse desse rolê todo.
O Fernando começou falando do Spark, né?
Aí no caso o core ali, o centro, né? Na verdade, eu gosto de dar nome pro Spark, que ele é o músculo da solução.
E o e o Airflow é o maestro, né?
no airflow, onde tá toda a diligência mesmo, né? Onde a coisa de fato vai acontecer, se eu quero executar alguma coisa no se eu quero ir pro Spark mesmo, se eu vou executar um premis, se eu vou executar em cloud, então no airflow é que é o grande segredo aí, né? Eh, o Spark ele é um uma solução já ali desde 2008, 2009, se eu não me engano.
Ele foi concebido para isso, para fazer grandes processamentos mesmo em memória, né? Então assim, eh, o Airflow entrega para ele, esse é o grande segredo, entrega para ele, ó, esse aqui é o gráfico que você precisa executar, né?
Que o airflow ele trabalha com grafos, né? E aí o airfow, o Spark faz o seu trabalho. Muito bem feito, por sinal, né? Porque eu aí o Spark ele é escalável, portável, auditável, resiliente, enfim. Eh, são várias característica, eu tenho ali multilinguagem nele, então eu tenho uma potência muito grande ali nele, né, para poder eh diversificar ali a solução, né? Não preciso só trabalhar com Python. Se eu tiver necessidade do Java, eu consigo usar o Java nele. Se eu precisar fazer em escala, inclusive ele é escrito em escala, que é a performance é a máxima, né? Eu consigo fazer em escala também.
Gosto mais.
Então, exatamente. Então, a combinação aí, cara, é que traz um ganho absurdo para nós, uma flexibilidade enorme, uma agilidade enorme e a gente é agnóstico, né? Ficar agnóstico de fato ali de ferramentas proprietárias, né? E a gente consegue aí dessa forma ter a solução híbrida de fato, né? Porque o airflow eu consigo executar qualquer coisa praticamente, né? Ele tem conector para todo lado, né?
Então, e o Spark ele é portável, né? Eu rodo também em qualquer lugar.
Sim, sim. E o fato de tá totalmente contêinerizado, como vocês colocaram, é isso até do ponto de vista da importância da aplicação, se você pensar mais executivamente questões de DR, etc., cara, você subir uma estrutura dessa de novo na nuvem e manter a operação rodando, caso você tenha um problema com data center, etc., é muito mais fácil, né? Então você consegue ter de fato uma uma eficiência de de interoperabilidade de infraestrutura muito boa, né?
É, e que é é extremamente importante para sistemas de missão crítica como esse.
E o ponto importante, né, o que a gente já usa hoje o airflow na solução atual para fazer orquestração. Isso, isso é importante mencionar. E mas a gente tem um um problema onde na atual arquitetura ou falando de PSQL, porque a gente tem alguns processamentos são sequenciais na na no ergonograma, no grafo, como o Tavares comentou ali da da dos do acrônimos, né, das álgebras, mas a gente tem a limitação da da escalabilidade que é apenas vertical, né, do do oracle.
Quando de falar de spaque de contêiner, eu continuo usando o o airflow como orquestrador, mas eu ganho uma capacidade de de escalabilidade horizontalizal muito maior, né, que faz uma diferença gigantesca, né?
Não vai ter que comprar um monte de cor de essa data.
Exato. E da perspectiva de negócios, né?
O ponto que o Danilo tocou, que o Fernando tocou também da questão da recontabilização, né? Eh, se você num premitação, por exemplo, chegou 60 recontabilizações para você processar no mês, né? né? E aí eu tô falando de período de 10 anos que pode acontecer, né? Eu faço a portabilidade para dentro de uma estrutura de nuvem, escalo, sobe os podes, sobe os podes, sobe pau, manda pau.
É isso aí, né? É, acho que um outro ponto interessante dessa arquitetura que a gente fez também foi transformar em arquivos, porque do ponto de vista de desenho arquitetural, se lá na evolução você entender que para ter um músculo ela tem que usar alguma solução diferente que não é o spark, se ela mantiver o padrão de que trocou os arquivos da mesma maneira, faz ela pode tá dando tá tudo em parquia ali.
Exatamente. Um outro ponto também, sim, sem dúvida legal de ser colocado e outras soluções mais eficientes podem surgir. podem surgir, porque a gente tá desenhando negócio para muito tempo, né, que a gente tá falando assim: "Essa aqui vai ser a terceira remodernização do motor".
E aí, para brincar com você, ele começou com Java com Corba, a primeira versão.
Lição de casa número dois. O que é Corba? O que é Corba?
Você, nosso amigo mais mais novo, vai ver o que é Corba. Eh, e eu gostaria de frisar um outro ponto que a gente comentou aqui por cima, mas assim, eh, a gente pensou bastante no desenvolvedor do motor pelo conhecimento que ele tem de regra, ele ele consegue conversar no diálogo de regra com o negócio. Então, a gente entrou no seguinte sentido, o PLSQL ou o dialeto do Oraco é um ponto de atenção, mas o SQL não é um problema porque é universal, é universal ainda vai continuar ativo por muito tempo. Então essa transição do dialeto de um pro outro para a equipe de motor, né, equipe que codifica, vai ser muito mais simples.
Sim.
E a gente tá tá trabalhando nisso, então e saudável para eles também, né? Porque vai ter uma convivência com uma coisa mais universal, etc., né?
Exatamente. Então, por isso que eu gostaria só de frisar que assim, a gente não tá usando o SQL em boa parte da solução atual, justamente para manter o conhecimento, para manter a familiaridade que o pessoal tinha do da solução anterior que foi mostrada. E e assim é uma é uma solução que faz muito sentido utilizar o SQL, né? Porque aí você mantém a a familiaridade e esse tipo de processamento ele encaixa bem com SC. Você poderia usar eh alguma coisa mais moderna como notebook, etc.
Usar um Python, mas aí você quebra um pouco, você vai ter uma disrupção muito grande de cooperação e talvez você não tenha um ganho de performance tão bom, né? Eu acho que isso é é importante a gente frisar. Nem sempre aquilo que você eh arquiteta precisa ser o estado da arte, porque aquilo pode ser uma disrupção com a sua operação e você vai trazer mais problema do que benefício com aquela tecnologia, né? Então, eh, esse ponto ele é muito importante, né?
você não traz uma disrupção muito grande paraa operação, o cara que manja de PSQL, ele vai conseguir trabalhar com SQL e você vai ter uma solução muito mais performática, sem ter uma disrupção na operação. Qual foi o impacto de processamento, Danilo, que no seu, na sua métrica não foi minha eh na POC, né, do no na POC a gente teve uma redução de 80 a 90% no cenário de rodar, então saiu de na faixa de 2 horas a 3 horas e pouco de processamento. A gente rodou cada um três para 18 minutos, 12 minutos, depende da das execuções.
É impressionante.
É impressionante.
É, não é mais rodamos em 10 minutos, né, Danil?
É. E aposto que nem vai falar de custo aqui, mas muito mais barato.
Então esse foi o ponto importante, né?
Porque como o custo de inifra ele já ele é mais barato internamente no premises, a grande eh questão era como demonstrar pra gestão da CCE que valia a pena ser híbrido e valia a pena o cloud burst.
Uhum. sendo que as infras são diferentes. Aí que a gente veio a ideia de criar alguns indicadores que pudessem demonstrar o tempo de processamento.
Então esse aí o o megabyte, né, real por MB processado. Eh, pra gente poder falar o seguinte: "Olha, tirando a diferença de infraestrutura, quanto tempo ou quanto custou processar 1 MB aqui na dentro da CC? Quanto custou rodar na WS rodando, por exemplo, com um processador do tipo tal ou mudando outro processador? Esse foi a métrica que mostrou que o seguinte, primeiro, a as curvas são muito parecidas, elas não são, então a gente é uma curva de crescimento dos dados e a curva de de processamento e a curva de custo, apesar de da nuvem ter ficado mais caro, porque internamente tem uns custos amortizados, ele não é um custo muito alto e aí ele permite para toda a flexibilidade a um custo que é muito acessível quando ela precisa.
Sim. É que aqui a gente tem um problema de divisão executiva, né? Exato.
Porque o exata não é porque ele tá pago, que ele é gratuito.
Não, não. Exatamente.
Você despjou um caminhão de capx lá no passado.
Sim.
Que vai ter um um desprendimento e vai ter uma amortização aqui no no tempo, né? E que você precisa saber fazer esse cálculo para poder comparar com o Opex de uma nuvem, né? Então tem um desafio aqui de você comparar a banana com banana, porque senão é isso, pô. O cara gastou 5 milhões no passado para comprar um um hack gigantesco de exada data e aí um ano depois, ah, bota lá porque é de graça. Não, não é assim, né? É de graça.
É, o desafio foi montar o o quanto custou, porque eu tive que pegar cada configuração, quanto custava por minuto, quanto custava cada um deles para dar os descontos para ser o equivalente no interno, pra gente chegar em em bases mais ou menos equivalentes de custo.
É, e isso é uma coisa que a gente enfrenta muito na na no mundo corporativo, principalmente quando a gente fala de nuvem e ambient premis, seja essa data ou não, né, cara? Acho que ele montou o o data center e ele tem uso ilimitado para sempre, sem custo, não. Você vai ter equipamento com of life, ofort, você vai ter que gerenciar isso, vai ter que fazer troca de garantia, de suporte. Isso tem um custo, cara. Tem que pagar. E são custos ocultos, né? Que você não olha, a gente brinca, né, Tavares? Aí que com esse mundo de nuvem versus premises, o melhor amigo do arquiteto é o Excel.
Exatamente. Que nois, né, que você colocar toda a conta ali e mapear operação, suporte, tecnologia, investimento, né? Você não pode só olhar o custo ali em tempo real.
É, não é fatura versus fatura, né?
Porque aí você vai comparar, pô, beleza, eu tenho um hack lá rodando 4 VMs, beleza, não pago para subir a quinta, mas eu tenho um cara para cuidar da da do hack, tenho tenho que pagar o suporte do data center para poder atender crise caso eu tenha um problema de de hardware, etc. e tive o investimento de comprar a geladeira e etc. A geladeira a gente é o rá e e e assim, né? A gente você tava discutindo até hoje isso, né? Ó, você pode, de repente, ah, vou colocar tudo em nuvem porque eu vou ter custo. Pá, legal, mas cara, você tem um exat disponível para você para rodar aqui.
Será que você precisa ir pra nuvem agora?
Roda aqui, já gastou. Vamos, vamos amortizar. Só que eu posso de repente precisar de um processamento muito mais rápido que o Cloud Burstein vai me dar um resultado de escalabilidade de volume.
Exato.
Vai custar alguns vai. Exato.
Estratégia.
Por já gastei com essa data, já tem um capex aqui amortizado para um pro X tempo. Não vou deixar de usar. Agora preciso de de mais escala, pô. Vou pra nuvem. Agora, estar preparado, como vocês fizeram para rodar em qualquer lugar, vai dar condições pro executivo pensar se ele precisa ter essa data de novo depois quando ele entrar em suporte.
Exato.
Será que eu preciso de fato testar?
Vale renovar, não vale.
Vale renovar. Eu tenho opção.
Eu não tô refém, né? Isso, isso que é importante.
E de repente vale.
De repente vale.
É, é questão de fazer conta, mas o ponto é ter opção, né? não é defender cegamente nuvem ou premise, é ter um um racional que faça sentido pro negócio, porque no fundo o cara é grana, né?
É grana. É.
É. E e o modelo permite uma outra coisa que a gente comentou que assim não é só performance, é capacidade.
Então a gente tá falando assim: "Ah, de repente o exadata hoje consegue atender toda a demanda normal de processamento, mas pode vir uma demanda dael de um estudo pedindo num tempo muito curto para se rodar várias execuções que vai atrapalhar aqui. Então você fala assim, mantém o non premio seu rotina normal e põe na nuvem todo esse estudo que a anel pediu.
É exato.
Não atrapalha sua operação, né? não tem impacto no dia a dia e você consegue fazer um processamento extra. Tav conhece, tem muito tem alguns processos internos de simulação, né? Então, às vezes o ar de negócio precisa simular uma nova regra, eh, precisa ver se aquela regra vai parar de pé, se tem qualquer dependência.
Isso pode de repente ser algo que eu posso eh eh ganhar escala, por exemplo, com processamento em nuvem. É, é, você precisa ter estudos, né? Isso, eu não conheço muito o mercado de energia, mas eu conheço muito o mercado de seguro de saúde.
Sim.
E eu vejo um paralelo muito grande com a área atuarial disso, que tem muita regra de cálculo, risco, etc. E tem motores muito complexos no mercado de saúde, justamente para entender os parâmetros de entrada, gerar valor de apólice, etc.
É outro caso de uso, mas a sensibilidade é muito parecida. Exato.
E o caso de uso do negócio é muito parecido. O cara precisa fazer estudo, precisa fazer teste, pô, vou pegar essa população, ver se tem qual que é o risco e tal. E esse processamento é muito custoso, porque o cara precisa ter o o cara sobe uma planilha com 300 variáveis lá, com não sei quantas linhas, para poder saber exatamente o que calcular para cada valor, porque você tem 41 anos, tem 42, é diferente o valor do seu plano de saúde.
E e aí a curiosidade é essa, vel? Quem tiver curiosidade de pesquisar pela pela pelos procedimentos de comercialização, pelo caderno de regras, são álgebras, como a gente comentou mesmo. Então, eu fiquei curioso, vou dar uma olhada.
É, são álgebras matemáticas. É um trabalho bem legal, assim, é fantástico esse esse mercado, né?
E acontece o mesmo ponto que você comentou, né, da questão, né, relacionada com parte de seguros, né, que você tava falando com as ergas de comercialização. Muitas vezes as simulações que o Danilo tava falando também são várias variáveis, né, de entrada para simular um resultado, né?
E aí tem essa essa possibilidade, essa opção de falar, né? Mantém operação dentro dessa estrutura que eu já paguei, levo para lá para subir pode e processar.
É fantástico, né?
É, mas tem que ser uma cuidado. Você entrar no setor elétrico pode ser mordido pelo eletrococos e aí fica viciado, fica mais de 20 anos lá no fica com a bactéria lá, não sai mais, cara.
Imagina o seguinte, né? Eh, a gente tá falando aqui de um mercado onde tem muitas empresas que só comercializam energia, ah, e é um mercado fortemente regulado, porque é um mercado basilar, que empresa hoje que vive sem energia elétrica, né? Tem empresas que dependem 80% dela, por exemplo, aqui em Alumínio, por exemplo, é uma empresa fortemente elitrificada, né? Elas dependem muito de energia para poder criar seu produto.
Eh, se você, por exemplo, existem compromissos, existem obrigações que eles têm ao longo do mês que, por exemplo, você, um exemplo bem simples, vou simplificar aqui, se você fez contratos, não cumpriu com seus contratos, você pode ser penalizado ou até desligado desse mercado. As empresas ser desligado é é morte, é morte. Então assim, qualquer cálculo mal executado, né, o impacto é muito grande pro mercado, como que é um serviço de infraestrutura, né? Então você depende tudo, tudo depende de energia, né?
Exato.
E aí o cara precisa ter uma garantia, etc. Isso é um então é uma grande responsabilidade.
E do ponto de vista do regulador também, né? Ter essas informações simuladas muitas vezes, que era o que o Dan tava comentando, para fazer tomada de decisão é importante, entende? E aí conseguir prover isso de uma forma, né, escalável e ágil, né, acelera esse processo de resolver problemas de mercado.
Que acontece, cara, que case muito bom. Toda, todo o arco e o processo que vocês fizeram, incrível. Eh, muito pé no chão, muito estratégico, sem ir na loucuragem, né?
Sem no hype, né?
É isso aí. E paraa gente partir já pro pros finalmentos, queria saber do Tavares, como estamos agora nesse momento, como ele tá vendo a evolução desse projeto daqui em diante, perguntou para mim, deu uma cortada aí.
Isso, Tavares, como que você tá vendo o projeto hoje e os próximos passos aí?
Maravilha. Eu só queria voltar num ponto antes aí, ô, ô, a questão dos resultados, né, do experimento que a gente fez, que o Danilo trouxe, que é o seguinte, eh, a gente teve todo esse ganho aí, mas sem fazer calibração, que eu digo calibração do quê, por exemplo, do músculo, que é o Spark, né? O Spark, ele tem mais de 2.000 parâmetros aí que você pode se divertir lá, né? Então, a gente não fez esse tipo de trabalho, né? E ainda assim o ganho foi absurdo, né? na casa de 90% que ele citou, né? Então queria frisar isso também, tá? Eh, a questão da do que eu enxergo aí, a entrada do Spark, mais uma vez com Spark, é que a diferença que ele traz, não só ele, mas como a gente tem Flink aqui também hoje, né? Mas a comunidade é absurdamente diferente.
O tamanho da comunidade é absurdamente diferente da do Spark pro Flink. Se você fizer qualquer pesquisa, você vai ver o que o uso do spark é absurdamente maior até pela questão da curva de aprendizado dele, né? E o ganho, a gente que a gente vem falando aqui da questão de escalabilidade, né? Vertical, horizontal, etc. Quando eu escalo horizontalmente é onde ele faz muita diferença também, né? E aí eu falo do Spark, porque é o que a gente tá trabalhando, né, no momento, mas pegar o as ferramentas de processamento da Pach, o Storm, o próprio Flink, eh esse armazenamento também, o próprio Radup, todos eles têm a característica do quê?
Trabalha do modo distribuído.
E aí quando eu tenho uma escalabilidade horizontal, se você colocar lá 10.000 máquinas, ele vai distribuir. Se você colocar 20.000, ele vai distribuir. E aí ele potencializa muito o processamento com isso, porque ele ele quebra por partes, né? Então se se você tem lá uma máquina que processa 1 tera, na teoria ela vai ficar lenta, né? Agora, se você tem 10 máquinas e cada uma processa 100 GB, é onde tem a diferença aí do Spark, né? Ele é uma das diferenças, né? Então, ah, eu vejo uma expectativa muito grande nesse aspecto nele. Eh, na verdade, eu tô muito seguro sobre isso do da questão do resultado, né? por ele, pela característica que é a ferramenta, ela é para isso. E a nossa necessidade é ter esse tipo de ferramenta mesmo, né? A gente falou do Orac muito, ele atendeu, mas ele não é para isso, né? que na época a gente não tinha como usar ainda, até porque todo esse ferramental de big data aí tava nascendo nos Estados Unidos, aqui nem pensava em chegar ainda. Então, a o momento é agora chegou a hora mesmo da gente fazer a adequação corretamente aí do que que é o motor de cálculo. Motor de cálculo é uma engenharia de dados. em engenharia de dados, o Spark é para isso. Eh, então assim, como próximos passos aí agora que a gente já vem trabalhando, já tá tendo contratação de empresa para ver isso também, é a gente começar a ter o experimento mesmo real ali da questão da performance, de tudo isso que a gente vem elaborando, dos componentes arquiteturais e poder experimentar tudo isso aí de forma integrada e ver os resultados começarem a nascer ali, né, e a gente começar a calibrar, etc., né? Essa é a grande expectativa e são os passos que a gente tá avançando aí para trabalhar.
Excelente, cara. Eh, só para complementar, né, o que que a gente tem hoje já rodando, né? A gente tem uma, a CC escolheu um módulo que é o módulo de penalidades.
Então a gente tem esse módulo rodando no por completo. Então ele já tem o airflow com Spark funcionando. A gente hoje tá buscando as diferenças dos centavos na proposta de implementação. A gente tem algumas implementações do código no Spark e a gente fez uma, tem uma proposta que a gente tá testando que é onde tem menor impacto ao desenvolvedor.
Se ele vai atingir as performance que a gente entende, seria o melhor cenário, senão a gente tem que fazer umas adequações. Mas a questão do híbrido de processar a versão anterior do que a gente chama do extrator, de rodar os cálculos e tudo mais, isso já tudo já tá funcionando em ambiente em desenvolvimento. O pessoal da Infra já preparou a nuvem. Uma vez que assim que a gente conseguir zerar as diferenças dos dos entre outro que a gente tem diferença de cálculos, a gente já vai adaptar o airflow para jogar paraa nuvem.
Cara, baita case, parabéns. Eu estou muito admirado de não ter tido Java no meio do caminho.
Então, mas aí que tá o detalhe, viu?
Quando a gente fala de Spark, ele roda sobre uma JVM, né? Então tem Java, cara.
Tô ouvindo uma voz do além. El, eu tô ouvindo aqui um um uma voz de longe. Pera aí.
O Spark roda aonde?
Na Jim JVM.
Ah, não acredito. Roda em Java.
Uma voz do além aqui. Uma outra coisa legal também, né? Que o que o Tavares comentou e eu vim, né? A gente veio junto e eu vim comentando que a questão do grafo, né? O Spark usa o grafo, a inteligência artificial usa grafo.
Exato, né? E é uma coisa que tá preparada também pro futuro. E a gente tem inclusive alguns arranjos aí de gráfico de de bancos de dados orientados a grafos, etc., que tá cada vez entrando muito no hype da inteligência artificial, de bancos vetoriais, etc., então vocês estão no caminho certo, cara. Parabéns, cara.
[ __ ] que case de arquitetura, Fernandão.
Sabia que você você não é presidente do do sindicato?
Cara, eu tô preocupado com o sindicato da arquitetura porque a gente tá tendo uma reunião lá para definir onde vai ser a coluna de férias. É, a resposta sempre depende. Então tô preocupado com isso.
Todo mundo fala depende, a gente nunca sai do lugar, né? Pois é. E aí o cara quer é pejoga, é piruíbe, é arraiado, ajuda, é tudo depende. Nem tentou fazer uma poque ainda.
É, tem umas poques acontecendo aí já.
Cada um, cada um faz sua poque, né?
Falta integração, meus amigos. Muito bom. Parabéns, cara.
Que que que legal ver um case de modernização assim, eh, tão pé no chão, né? Sem loucuragem, sem loucura, pé no chão, trabalho bem feito e com resultado, [ __ ] de 90% de de efetividade, atendendo exatamente os requisitos de negócio que precisavam, né? escala, performance e flexibilidade.
Excelente, cara. Parabéns. Se você quiser conhecer um pouco mais a VMBERS para casos de modernização de legado, etc., Pedraspes não mexem só com Java, não. O link tá aqui embaixo, procura lá que realmente os caras são muito bons nesse processo de modernização, né? Meus amigos, muito obrigado pela presença de vocês. Foi muito legal, muito. Aprendi que te agradece pelo espaço.
Aprendi um caderno aqui com vocês hoje.
Top, muito legal. Obrigado.
Um caderno, mas tem 55, né?
Tem mais 55 caderno de regra.
Se a gente falar de versão de regra também, né? Aumenta um pouquinho quantidade de álgebra para calcular.
Cara, eu gosto dessa [ __ ] Não fala mais, senão eu vou entrar lá no ccec.org/ cc.org.br/ br eu mandei o link aí, hein?
Mandei o link aí já.
É, eu vou vou entrar lá e vou saber como é por tô curioso. Mas eu acho que é importante é o seguinte, né? Mencionas trabalho de arquitetura que é importante. Então, o Danilo fez um trabalho fantástico de primeiro entender o negócio, entender o cenário, a gente botar a bola no chão, fugir do hype, né?
A gente comentou no começo, né? Todo mundo tinha sua tecnologia de preferência, falar: "Legal, agora qual que é a tecnologia que resolve o problema de negócio estratégico?" Aí depois a gente vai pra codificação, pra parte divertida. E isso isso mostra muito o que é a disciplina de arquitetura, né, que é a tecnologia colada com o negócio.
Arquitetura não existe sem negócio. Eu tive um gestor que falava bastante pra gente, né, que como é que é tecnologia sem problema de negócio e brincadeira de nerd.
É isso, né?
Com essa frase encerramos aqui, meus amigos. Muito obrigado, Tavares, obrigado pela presença mesmo remoto, cara. Espero que na próxima você esteja aqui tomando uma cerveja com a gente.
Obrigado.
Você que acompanhou a gente até agora, muito obrigado pela audiência de vocês.
Se você ficou até aqui, ainda não deixou o seu like, não fez nenhum comentário e não segue a gente no Spotify, no YouTube, você é um cara legal e vai seguir a gente agora, vai fazer tudo isso agora no final do episódio e vai contribuir com o PPT no compila. Você já contribui muito compartilhando o episódio, colocando nos grupos, no Teams, etc. E se você quiser contribuir ainda mais com a gente, você pode ser membro do nosso canal lá no YouTube.
Você vai contribuir com valor mensal pra gente. E se você quiser contribuir de uma forma esporádica ou uma forma melhor, sem dar dinheiro para BigTechs, [email protected].
Vai lá fala: "Vou pagar a cerveja do Fernando hoje, o cara merece. Vou pagar a cerveja dele. Vai lá, faz um Pix. Você pode deixar o Pix recorrente e ajudar a gente a manter a nossa estrutura para gerar cada vez mais conteúdo de qualidade gratuito para vocês, meus amigos. Obrigado novamente. Valeu.
Valeu,
Episódios Relacionados
1h 36minEstudo de Caso: Do SOA ao Open Energy
Fernando Tavares, Danilo de Luca, Valdir Scarin
10 de jul. de 2024
1h 20minOpen Energy: Transformação e Inovação no Mercado de Energia Elétrica
Marcelo Molina, Leonardo Cruz
29 de nov. de 2023
1h 13minDo Legado ao Cloud Native: O Case de Modernização da Natura
Felipe Matheus, Márcio Willian Cabreira, Valdir Scarin
5 de fev. de 2025
1h 25minEngenharia de Dados Moderna com Confluent e Databricks
Luiz Carrossoni, Lucas Melo, Rômulo Barbosa
30 de abr. de 2025
