<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1214412942025937&amp;ev=PageView&amp;noscript=1">

Red Blog

Il caso KeyBank: application delivery ridotta da 3 mesi a una settimana grazie ai container

Stefano Marfella,

Il caso KeyBank: application delivery ridotta da 3 mesi a una settimana grazie ai container

I tempi di rilascio delle applicazioni possono essere lunghi per qualsiasi azienda e ancor di più per chi, come le banche, ha a che fare con regolamenti rigidi e organigrammi complessi. Ma con l'open source e con metodi DevOps anche una realtà "tradizionale" e regionale come la KeyBank di Cleveland, Ohio, ha potuto ridurre drasticamente i tempi necessari per rilasciare nuove versioni dei propri software: da tre mesi, in media, a una settimana. Una vera e propria rivoluzione, tecnologica ma anche culturale!

 

Scopri come ridurre i tempi di rilascio delle applicazioni grazie ai container!

 

Realizzare e mettere in produzione un'applicazione, mettendo in pratica ciò che è la teoria delicata durante la progettazione non è un'impresa da poco e, soprattutto, non è un'impresa veloce. I codici passano attraverso continue revisioni, ogni nuova versione dev'essere testata e le modifiche proposte dall'IT devono essere approvate da chi in azienda prende le decisioni. A volte i rilasci della nuove versioni devono transitare da fogli Excel zeppi di istruzioni manuali, da lunghe riunioni in cui l'IT si confronta con il management, dall'ansia di avviare una procedura di aggiornamento nel weekend sperando che i sistemi tornino operativi non più tardi del lunedì mattina.

La zavorra di un'application delivery tradizionalmente lunga e macchinosa

Application delivery troppo lunga e macchinosa

Sussidiaria regionale di KeyCorp (gruppo presente in 15 Stati), la banca di Cleveland è sul mercato da ben 160 anni e oggi vanta oltre 6,8 miliardi di dollari di fatturato annuo. Sebbene si tratti di una realtà al passo con i tempi per quanto riguarda l'offerta di servizi digitali rivolti ai clienti, fino a un paio di anni fa il suo approccio allo sviluppo software era fortemente tradizionale. La banca, inoltre, doveva liberarsi da una zavorra tecnologica: un'applicazione Web basata su Java e su WebSphere, e sviluppata attraverso una piattaforma middleware "fatta in casa". Vecchia ormai di quindici anni, era diventata lenta, macchinosa e costosa da manutenere, incapace di garantire gli standard di servizio auspicati. La quintessenza dell'applicazione monolitica, che il team degli sviluppatori riusciva ad aggiornare con cadenza trimestrale e molte difficoltà.

Al suo posto, KeyBank aspirava a dotarsi un'applicazione Web che garantisse un'esperienza utente migliore e più moderna. Inoltre, desiderava realizzare una nuova app mobile per l'accesso ai servizi bancari. Se queste erano le esigenze dei manager, l'IT puntava ad abbandonare i rilasci trimestrali in favore di release settimanali, più rapide e agili. L'ispirazione giungeva da alcuni grandi colossi tecnologici come Google, Amazon, Facebook e Netflix, capaci di eseguire rilasci software rapidi e frequenti a dispetto delle loro dimensioni.

Comprese le necessità, KeyBank ha deciso di prendere in mano la situazione. Ma il progetto è cominciato con alcune false partenze dovute al fatto che il team degli sviluppatori e quello delle operations non riuscivano a spiegare le rispettive ragioni, l'uno orientato verso il cambiamento e l'altro più conservatore, entrambi costretti a comunicare tra loro con una molteplicità di strumenti. Risultato: passi falsi, complicazioni, lentezze. Punto e accapo.

L'idea di conciliare open source ed esigenze aziendali

Conciliare open source e esigenze aziendali per ottimizzare l'application delivery

Poi la svolta: la decisione di adottare una piattaforma basata sui container, in cui le applicazioni potessero prendere forma senza troppe complicazioni. Una caratteristica dei container è quella di poter isolare le applicazioni dall'infrastruttura circostante, riducendo così le operazioni di configurazione e di gestione necessarie. La piattaforma di container della banca, nelle intenzioni dei team IT, avrebbe dovuto poggiare su un cloud privato e dunque Kubernets è apparso agli occhi di tutti come lo strumento di orchestrazione migliore tra quelli disponibili sul mercato.

C'era però un anello mancante: bisognava poter conciliare i container e l'ambiente Linux con le esigenze di una realtà aziendale, e per di più di una tanto regolamentata come lo sono le banche. KeyBank aveva bisogno di un partner esperto del mondo open source e che lo aiutasse a portare in produzione le applicazioni nate dentro ai container. Naturale pensare a Red Hat: la sua OpenShift Container Platform permette di sviluppare, distribuire e scalare applicazioni containerizzate nel cloud, sfruttando Docker, Kubernetes e altre tecnologie open source. Con OpenShift le applicazioni cloud native possono coesistere con quelle tradizionali, e dunque i container si combinano con le tecnologie e le infrastrutture già in uso.

Dal coinvolgimento di Red Hat, in soli quattro mesi si è giunti al rilascio di una versione beta già operativa (in produzione) delle due applicazioni, per arrivare tre mesi dopo al rilascio ufficiale per i clienti della banca.

La soluzione sta nell'avere applicazioni in continua trasformazione

Application Delivery più rapida grazie ad automazione e Continuous Integration

Attraverso Jenkins, strumento DevOps open source per la Continuous Integration, è stato possibile automatizzare una serie di azioni per creare le immagini docker, eseguire test sulle diverse build e test di integrazione. Jenkins ha anche permesso a KeyBank di distribuire con cadenza settimanale delle anteprime di produzione, in grado di evolvere l'app in modo continuo. E così i vecchi rilasci trimestrali sono diventati nient'altro che un ricordo.

Oggi il giovedì mattina segna l'appuntamento settimanale di KeyBank con la release di una nuova versione. I tempi di inattività tra un aggiornamento e l'altro erano una vecchia spina nel fianco dell'IT di KeyBank, ma non lo sono più: uno strumento di OpenShift chiamato Rolling Deployment permette di eseguire in contemporanea il codice della precedente e della successiva versione, azzerando in tal modo il downtime. Altro vantaggio ottenuto è l'autoscaling, ovvero il fatto che al crescere o decrescere delle richieste l'applicazione scali orizzontalmente, in automatico, fino al numero di istanze necessarie a gestire adeguatamente il carico.

La storia di KeyBank è l'esempio perfetto di come attraverso i container e Red Hat OpenShift Platform un'azienda possa trasformarsi. In poco tempo KeyBank ha ribaltato l'approccio allo sviluppo software, ha ridotto da mesi a giorni la frequenza dei rilasci, ha azzerato il downtime, ha assicurato una migliore user experience ai propri clienti e ha introdotto nuovi servizi. Il suo non è un esempio isolato: se anche tu vuoi trasformare il tuo business, ti spieghiamo come farlo nell'eBook gratuito "Modernizzare il rilascio delle applicazioni con i container".

Extra Red | Modernizzare il rilascio delle applicazioni con i container

Condividi l'articolo!

   

Commenti

Prova Red Cloud Gratis per 30 Giorni

Iscriviti alla newsletter

Condividi questo blog

   

Post correlati