[{"data":1,"prerenderedAt":152},["ShallowReactive",2],{"project-en-\u002Fprojects\u002Fbanking-modernization":3},{"id":4,"title":5,"architecture":6,"body":7,"category":126,"challenge":127,"company":128,"description":129,"extension":130,"featured":131,"meta":132,"metrics":133,"navigation":131,"order":121,"path":138,"period":139,"results":140,"role":141,"seo":142,"stack":143,"status":149,"stem":150,"__hash__":151},"projects_en\u002Fen\u002Fprojects\u002Fbanking-modernization.md","Banking Platform Modernization","Decomposed the monolith into 40+ Spring Boot microservices using Banco Nacional's YAPE framework. Each service owned its database (polyglot persistence: PostgreSQL for transactions, Redis for sessions, MongoDB for audit logs). Inter-service communication via REST for synchronous flows and Apache Kafka for event-driven operations. Deployed on Kubernetes with blue-green deployments via GitHub Actions CI\u002FCD.",{"type":8,"value":9,"toc":119},"minimark",[10,15,19,22,35,39,46,52,63,69,77,83,87],[11,12,14],"h2",{"id":13},"challenge","Challenge",[16,17,18],"p",{},"Banco Nacional del Perú's online banking platform was a monolith that buckled under load. Peak-hour traffic (payroll processing, bill payments) caused transaction timeouts. Deployments required coordinated downtime — the team shipped once every 3 weeks.",[16,20,21],{},"The business needed:",[23,24,25,29,32],"ul",{},[26,27,28],"li",{},"Real-time transaction processing at scale",[26,30,31],{},"Independent deployment of banking features",[26,33,34],{},"Zero-downtime releases",[11,36,38],{"id":37},"architecture","Architecture",[16,40,41,45],{},[42,43,44],"strong",{},"Decomposition strategy",": Identified bounded contexts (accounts, transfers, payments, auth, notifications) and extracted each as a Spring Boot microservice using the YAPE framework — Banco Nacional's internal microservice standard.",[16,47,48,51],{},[42,49,50],{},"Data architecture",": Each service owned its database:",[23,53,54,57,60],{},[26,55,56],{},"PostgreSQL for transactional services (ACID required)",[26,58,59],{},"Redis for session management and rate limiting",[26,61,62],{},"MongoDB for audit logs (write-heavy, schema-flexible)",[16,64,65,68],{},[42,66,67],{},"Communication",":",[23,70,71,74],{},[26,72,73],{},"Synchronous: REST for request\u002Fresponse flows (balance check, transfer initiation)",[26,75,76],{},"Asynchronous: Apache Kafka for event-driven flows (transaction completed → notification → audit)",[16,78,79,82],{},[42,80,81],{},"Deployment",": Kubernetes with blue-green strategy. GitHub Actions CI\u002FCD pipeline ran integration tests, built containers, and promoted to production with a single approval gate.",[11,84,86],{"id":85},"results","Results",[23,88,89,95,101,107,113],{},[26,90,91,94],{},[42,92,93],{},"Latency",": Critical path (transfer confirmation) dropped from 2.4s to 0.65s — a 73% reduction",[26,96,97,100],{},[42,98,99],{},"Throughput",": Platform sustains 12M requests\u002Fday, up from 4M",[26,102,103,106],{},[42,104,105],{},"Uptime",": 99.97% — up from 99.2% (the 0.77% delta was mostly planned downtime eliminated)",[26,108,109,112],{},[42,110,111],{},"Deployment frequency",": From every 3 weeks to multiple times per day",[26,114,115,118],{},[42,116,117],{},"MTTR",": From 4 hours to 12 minutes (Kubernetes health checks + auto-restart)",{"title":120,"searchDepth":121,"depth":121,"links":122},"",2,[123,124,125],{"id":13,"depth":121,"text":14},{"id":37,"depth":121,"text":38},{"id":85,"depth":121,"text":86},"banking","Legacy monolithic banking platform couldn't handle peak-hour traffic. Transactions timed out. Deployment cycles took weeks.","Globant","Modernized online banking with microservices using the YAPE framework","md",true,{},[134,136],{"label":93,"value":135},"-73%",{"label":99,"value":137},"12M req\u002Fday","\u002Fen\u002Fprojects\u002Fbanking-modernization","2021-2023","Latency dropped 73% on critical paths. Platform handles 12M requests\u002Fday with 99.97% uptime. Deployment cycle reduced from 3 weeks to 2 hours.","Java Microservices Developer",{"title":5,"description":129},[144,145,146,147,148],"Java","Spring Boot","Microservices","YAPE Framework","Kubernetes","shipped","en\u002Fprojects\u002Fbanking-modernization","QPi1zVM5onPb9u14KJUqjpVErZpcgZuJLrtYTd51zes",1791215861018]