Sono ormai finiti i tempi in cui si poteva programmare con tutta "calma" un applicativo su un server locale, testarlo con qualche dato e poi passarlo in pre-produzione e, infine, in produzione incrociando le dita. Oddio, gli incubi non mancavano di certo, ma oggi si arriva a un vero e proprio delirio, con la fila di business manager che vogliono una app per fare qualsiasi cosa gli venga in mente. Ovviamente subito pronta e disponibile in cloud accessibile da tutti i tipi di smartphone.
Tali pressioni stanno accelerando la migrazione verso nuovi modelli di sviluppo e deployment delle applicazioni. In questo il cloud, in particolare il PaaS (Platform as a Service) è certamente un fondamentale aiuto, grazie alla flessibilità con cui è possibile utilizzare delle risorse, potendo, per esempio, creare un server anche per pochi minuti o eseguire stress test sulla propria applicazione in tempi rapidi.
Chiaramente le problematiche sono diverse per chi deve sviluppare un'applicazione ex novo, magari la nuova idea di una startup, e per chi deve invece creare collegamenti con altre applicazioni esistenti in azienda.
L'evoluzione delle applicazioni e l'impatto delle stesse sul business hanno portato a un cambiamento per cui, oggi, è possibile identificare tre aspetti caratteristici delle nuove esigenze della coding generation:
User-centric design - sempre più le applicazioni devono essere pensate e disegnate su esigenze e modelli di interazione personali per fornire un'user experience che coinvolga l'utente;
Multiple Data Source – sempre più è necessario considerare sorgenti dati non tradizionali, come i social network, che integrano ed estendono i tradizionali dati transazionali e possono abilitare nuovi insight e nuovi modelli di business;
Eco-system Economy – Le soluzioni tecnologiche sono sempre più pensate in termini di composizione di servizio digitali utilizzabili da un ampio ecosistema di partner.
Per venire incontro a queste esigenze e supportare gli sviluppatori nel risolvere le problematiche che ne derivano, IBM ha preparato IBM Bluemix Cloud Platform as a Service, una piattaforma che mette subito a portata di mano tutti gli strumenti necessari alle applicazioni "cloud native", con un catalogo di servizi in costante arricchimento, come ci spiegano i responsabili della società statunitense. Tra i servizi disponibili: database NoSQL di vario tipo oltre a quelli relazionali, servizi di caching e elastic scaling, big data e analytics, servizi per applicazioni mobile native e non, oltre ai servizi di cognitive computing di Watson.
Bluemix si basa su standard aperti, come Cloud Foundry, Docker e OpenStack, che permettono di creare il contesto di run-time più adatto alle proprie applicazioni, includendo Java EE, Node.js, Ruby, Python e molti altri, oltre ai container linux o intere macchine virtuali.
Ulteriori informazioni su IBM Bluemix sono disponibili in un white paper appena pubblicato da IBM e gratuitamente disponibile. Per quelli che non amano leggere e preferiscono "sporcarsi le mani", è semplicemente possibile provare la piattaforma Bluemix.