Quan les organitzacions assoleixen un cert nivell de maduresa al núvol, la infraestructura com a codi deixa de ser un luxe i es converteix en una necessitat. AWS CloudFormation és l’eina central per a centenars de milers d’equips que gestionen recursos d’AWS de forma declarativa. Tanmateix, els recursos personalitzats (custom resources) representen tant una benedicció com un repte: permeten estendre CloudFormation per integrar APIs de tercers, executar lògica d’inicialització complexa o fer comprovacions de compliment normatiu, però no tenen suport natiu per a desplegaments multiregió. En aquest article, explorarem per què aquesta mancança és crítica i com una arquitectura actiu-actiu amb bloqueig distribuït pot resoldre-la, aprofitant serveis com DynamoDB Global Tables i Application Recovery Controller.
Els recursos personalitzats de CloudFormation funcionen enviant esdeveniments de cicle de vida (creació, actualització o eliminació) a una funció Lambda, generalment mitjançant un tòpic de SNS. CloudFormation espera una resposta amb una URL prefirmada per decidir si continuar o revertir la pila. Aquest mecanisme és potent, però quan s’intenta executar en múltiples regions simultàniament, sorgeixen problemes greus: no hi ha un mecanisme de distribució natiu, hi ha risc d’execució duplicada, no hi ha bloqueig distribuït ni conmutació per error automàtica. La responsabilitat de garantir la idempotència recau únicament en el desenvolupador. Fins ara, els equips es veien forçats a acceptar el risc d’una sola regió o a construir solucions artesanals complexes.
A Q2BSTUDIO, com a empresa especialitzada en desenvolupament de programari i tecnologia al núvol, hem vist com aquesta bretxa afecta projectes de missió crítica. Per això proposem una arquitectura actiu-actiu basada en quatre principis: processament simultani a ambdues regions, prevenció d’execució duplicada mitjançant bloqueig distribuït amb DynamoDB Global Tables, idempotència mitjançant seguiment d’estat, i conmutació per error totalment automatitzada amb Amazon Application Recovery Controller. Aquesta solució elimina els punts únics de fallada sense caure en els problemes de duplicitat dels enfocaments ingenus.
El flux comença quan una pila de CloudFormation en una regió de client inicia un esdeveniment de cicle de vida. Aquest esdeveniment es publica en un tòpic de SNS local, que té subscripcions entre regions cap a dues cues SQS a les regions d’infraestructura primària i secundària (per exemple, us-east-1 i us-west-2). Ambdues cues reben l’esdeveniment al mateix temps, establint el model actiu-actiu. La funció Lambda primària processa immediatament: comprova la taula global de DynamoDB per veure si existeix un bloqueig, l’adquireix mitjançant una escriptura condicional, executa la lògica de negoci i envia la resposta. Mentrestant, la cua secundària té un retard configurat (per exemple, mitjançant un Delay Queue o Visibility Timeout) que dona temps a la primària per completar-se. Si la primària falla, la secundària pren el relleu quan expira el retard.
DynamoDB Global Tables actua com el cervell de la coordinació: manté l’estat del bloqueig (quina regió té el lock), registres d’idempotència i l’estat complet de cada esdeveniment. La replicació bidireccional assegura que ambdues regions tinguin l’última vista, suportant particions de xarxa o degradacions regionals. Amazon CloudWatch monitoritza la profunditat de les cues i la salut de les funcions Lambda, disparant alarmes que activen ARC per commutar automàticament a la regió secundària sense intervenció manual.
Per a empreses que necessiten complir amb objectius de recuperació davant desastres (RTO/RPO estrictes), mandats de residència de dades o latència baixa en múltiples geografies, aquesta arquitectura és una base sòlida. A més, integra de forma natural serveis com SNS, SQS, Lambda i DynamoDB, tots ells pilars del núvol AWS. A Q2BSTUDIO, combinem aquesta robustesa tècnica amb la nostra experiència en Intel·ligència Artificial, ciberseguretat i Business Intelligence per oferir solucions completes. Per exemple, els agents d’IA poden analitzar els logs de CloudWatch per predir fallades abans que ocorrin, mentre que les polítiques de seguretat s’apliquen mitjançant comprovacions personalitzades als recursos de CloudFormation. Així mateix, l’ús de Power BI per visualitzar l’estat de les piles multiregió permet als equips prendre decisions informades.
Construir resiliència multiregió per a recursos personalitzats de CloudFormation no és un extra opcional: és un requisit per a càrregues de treball que no es poden permetre temps d’inactivitat. Amb l’arquitectura descrita, les organitzacions poden escalar les seves operacions globals sense sacrificar la correcció ni l’automatització. Si la vostra empresa està a punt per portar la seva infraestructura al següent nivell, a Q2BSTUDIO us ajudem a dissenyar i implementar aquestes solucions a mida, integrant cloud AWS/Azure, IA, ciberseguretat i BI de forma coherent i eficient.




