Best of (Confidential) Sircle in 2023
[Versione italiana di seguito]
Disclaimer: Many of our customers have confidentiality agreements safeguarding their brand names from commercial purposes. Hence, you may encounter references such as “Client name confidential”, or the customer’s industry instead of the customer’s brand name.
The world of technology is constantly evolving, and the banking and insurance applications sector is no exception, although in this case a virtue of necessity had to be made and unfortunately not in the best way either, but I won't spoil anything for you.
Over the past year, a migration project has faced challenges and opportunities, marking an important chapter in the history of our involvement with the client. For us, the first major project for the middleware part of the set of applications that make up the skeleton for our work with the client’; in a nutshell, whatever policy you open in one of the client’s group entities whether it is car, motorcycle, life there is the sweat and commitment of one of our and your colleagues. One nice day in September 2022, the contact person from the client’s side comes up to me and says - get ready we have to migrate SIGMA. I had a half-collapse, SIGMA is a deformed object, a monolith, a wild beast, a creature with 4 heads, 9 tails, the legs of a goat with the claws of a bear, covered in crocodile scales; over the years those who have dealt with it have come, done their thing, and left without explaining anything to anyone, zero documentation, the story goes that there is only one wise old man at the top of a hermitage near Turin to whom you can ask 3 questions about SIGMA, then he doesn't answer you anymore but going to see him is a risky venture, perhaps even riskier than reverse engineering the code.
We would have to think about how to migrate the infrastructure to the new version of JBOSS (with new JDK) calculating that: A, initially, and remember this word, we could not, and should not, have migrated all the applications from the old to the new cluster all at once but in various waves. B, the version of JBoss would have changed but not the operating system. Which unfortunately was windows server. C, deployments would have to continue on the old infrastructure and on the new one too. D, for the "counterparts" connecting from outside, the change had to be transparent. The idea of doing it in waves came to the company that, kicking and hammering for the above reasons, maintains the code of SIGMA, a good hundred(s) of applications. Too bad that not even a month after the project began, they realized that the SIGMA world is worse than they had imagined, that front-end back-end and data layers of the various applications are so interconnected that it would not take 100 years to unravel the skein of the various characters who gradually, probably with the intention of unraveling the skein, knotted it even more. The only possible approach was to BIG BANG, fortunately we had smelled it from far, and had already structured ourselves for such an eventuality. One difficulty after another led us with not a few headaches to migrate Development, Testing and, in a few days, if we arrive safely, Production. Keep your fingers crossed for us as well.
Lessons learned:
- Contingency is never enough
- Murphy's first law is an axiom
- Think simple
- Act fast
- If you think they didn't get it, they probably did.
Special thanks to those of other Sircle's who have made themselves available and have always been there. An even more special thanks to those who have endured my complaints, my flights of fancy, and my 10000 little drawings.
Written by the sircle's reporter: Roberto Barbarito
Avviso: Molti dei nostri clienti hanno stipulato accordi di riservatezza che tutelano i loro marchi da scopi commerciali. Pertanto potresti incontrare diciture come “Nome cliente riservato” oppure vedrai riportato il settore del cliente invece del suo nome.
Il mondo della tecnologia è in costante evoluzione e il settore delle applicazioni bancarie e assicurative non fa eccezione, seppur in questo caso si è dovuto fare di necessità virtù e purtroppo nemmeno nel migliore dei modi, ma non vi voglio spoilerare nulla.
Nel corso dell'ultimo anno, un progetto di migrazione ha affrontato sfide e opportunità, segnando un capitolo importante nella storia del nostro coinvolgimento con un importante cliente del polo assicurativo. Per noi il primo progetto di ampio respiro per la parte middleware dell’insieme di applicazioni che compongono lo scheletro del mondo assicurativo del cliente; in soldoni, qualsiasi polizza voi aprirete in una delle realtà del gruppo (Nome Cliente Riservato) che sia macchina, moto, vita c’è il sudore e l’impegno di uno dei nostri e vostri colleghi.
Un bel giorno di settembre 2022, il referente lato cliente si avvicina e mi dice - preparati che dobbiamo migrare SIGMA - mi è venuto un mezzo collasso, SIGMA è un oggetto deforme, un monolite, una bestia selvaggia, una creatura con 4 teste, 9 code, le zampe di una capra con gli artigli di un orso, ricoperte da squame di coccodrillo; negli anni chi ci ha avuto a che fare è arrivato, ha fatto il suo ed è andato via senza spiegare niente a nessuno, documentazione pari allo zero, si narra che c’è solo un vecchio saggio in cima ad un eremo nei pressi di Torino a cui si possano fare 3 domande su SIGMA, poi non ti risponde più ma andarlo a trovare è un’impresa rischiosa, forse anche più rischiosa di fare reverse engineering del codice.
Noi avremmo dovuto pensare a come migrare l’infrastruttura alla nuova versione di JBOSS (con nuova JDK) calcolando che: a) inizialmente, e ricordatevi questa parola, non avremmo potuto e dovuto migrare tutte le applicazioni dal vecchio al nuovo cluster tutte insieme ma in varie wave; b) sarebbe cambiata la versione di Jboss ma non del sistema operativo che purtroppo era windows server; C) i deploy sarebbero dovuti continuare sulla vecchia infrastruttura e su quella nuova; D) per le “controparti” che si collegano dall’esterno, il cambio doveva essere trasparente. L’idea di farlo a wave è venuta all’azienda che, a calci e martellate per i motivi di cui sopra, manutiene il codice di SIGMA, un centinaio abbondante di applicazioni. Peccato che nemmeno un mese dopo l’inizio del progetto si sono resi conto che il mondo SIGMA è peggio di come lo avevano immaginato, che front-end back-end e data layer delle varie applicazioni sono così interconnesse che non basterebbero 100 anni per sbrogliare la matassa dei vari personaggi che via via, probabilmente con l’intenzione di sbrogliare la matassa, l’hanno annodata ancora di più. L’unico approccio possibile era quello a BIG BANG, fortunatamente noi avevamo sentito la puzza da lontano e ci eravamo strutturati già per un’eventualità del genere. Una difficoltà dopo l’altra ci ha portato non con pochi mal di testa ad arrivare a migrare Sviluppo, Collaudo e, tra pochi giorni, se arriveremo sani e salvi, Produzione. Incrociate le dita anche per noi.
Lezioni apprese:
-
La contingency non è mai abbastanza
-
La prima legge di Murphy è un assioma
-
Pensa semplice
-
Agisci velocemente
-
Se pensi che non abbiano capito, probabilmente è così.
Un grazie speciale a chi di altri Sircle si è messo a disposizione e c’è sempre stato. Un grazie ancora più speciale a chi si è subìto le mie lamentele, i miei voli pindarici e i miei 10000 disegnetti .
Scritto dal reporter del sircle: Roberto Barbarito