RIVOLUZIONE CLOUD

RIVOLUZIONE CLOUD

Il “cloud” ha rappresentato una rivoluzione – tuttora in corso – nel mondo di Internet, sia per le persone che per le aziende. Perchè? Semplice: grazie al cloud, le persone e le aziende possono ora accedere a programmi e servizi tramite Internet che altrimenti richiederebbero ingenti risorse per funzionare. Questo è il cosiddetto “cloud computing”: l’offerta/fruizione di applicazioni e servizi tramite internet. Queste applicazioni sono installate in potenti servers ospitati in grandi data centers e sfruttano la potenza dei servers (e reti di servers) per operazioni che non sarebbero facilmente realizzabili se non a grandi spese. E’ il “cloud computing” a permettere alle persone ed alle aziende – anche alle aziende di piccolissime dimensioni – di accedere gratuitamente e bassissimi costi a programmi e servizi in passato accessibili soltanto a grandi aziende che avevano risorse per investire in un parco hardware e software e nel personale necessario. Un’azienda che vende prodotti potrebbe ad esempio aver bisogno di un programma di gestione delle vendite (come SalesForce) o di CRM (come Sage). Prima del cloud un’azienda avrebbe dovuto acquistare la costosa licenza per l’utilizzo del software, e poi mettere in piedi un team di esperti hardware e software per installare, configurare, testare, eseguire, proteggere, aggiornare il programma una volta acquistato. Ovviamente, piccole e medie aziende non avevano le risorse per poterlo fare o per farlo per tutti i programmi di cui avevano bisogno. Oggi invece, grazie al “cloud computing”, le aziende interessate a specifici servizi semplicemente affittano il servizio via cloud o pagano a consumo, sempre comunque accedendo tramite il cloud al servizio. Il programma che permette la fruizione del servizio ed i dati contenuti in esso sono accessibili via Internet all’azienda, ed eventualmente ai suoi utenti o clienti. I vantaggi del cloud per le aziende sono numerosi. Il fornitore del servizio cloud, chiamato “hosting service provider“, gestisce tutto ciò che riguarda hardware e software al posto dell’azienda. L’azienda accede al servizio e ai suoi dati via Internet, e si può così focalizzare soltanto sul proprio business, dimenticandosi di tutto il lato tecnico. Non si deve preoccupare più ad esempio di installare o aggiornare il programma. Inoltre, l’azienda può pagare solo le funzionalità necessarie: se non serve avere una specifica funzionalità, il costo del servizio è più basso. Gli aggiornamenti sono automatici, la scalabilità verso l’alto o verso il basso è semplice, e i dati sono duplicati in più data centers. Anche in caso di guasti tecnici o attacchi di hackers ai servers di un data center, l’hosting provider può recuperare e duplicare nuovamente i tuoi dati dai servers negli altri data centers. Ovviamente, questi vantaggi valgono anche per gli utenti privati. Quando ti affidi ad esempio ad un servizio cloud per archiviare i tuoi dati, non ti devi preoccupare della possibile perdita dei dati: sai che vengono duplicati più volte in più sedi geografiche diverse. E per molte delle tue attività quotidiane che svolgi tramite computer, ad oggi non sei obbligato a comprare un programma, ad installarlo, ad aggiornarlo, ad avere un computer potente per poterlo usare o un computer capiente per conservare tutti i dati che man mano accumuli nel tempo. E’ per questo che numerosissime attività oggi sono possibili per tutti, mentre in passato erano possibili solo a fronte di grandi spese e del possesso di computer potenti. E la tendenza è questa: sempre più il tuo computer si svuoterà di programmi e funzionerà invece solo come interfaccia per l’accesso a servizi cloud. E sempre più i tuoi dati, la tua musica, i tuoi video, i tuoi documenti saranno depositati in servers accessibili via cloud invece che nel computer di casa o in chiavette usb o in hard disk esterni. E non pensare che il cloud sia utile solo per dati di questo tipo. Ci sono infinite possibili utili applicazioni del cloud in situazioni di vita reali. Pensa invece ad esempio alla possibilità per un dottore, in caso di emergenza medica, di accedere alla tua cartella sanitaria via cloud per capire se sei allergico o meno a certi farmaci o effettuare una diagnosi migliore (sistemi nazionali di Electronic Health Records sono già disponibili in numerosi stati). Le grandi aziende di Internet sono state tra le prime a cavalcare la rivoluzione del cloud. Google si è lanciato nel cloud computing con numerosi servizi come Gmail e Google Docs. Anche lo sviluppo di Android è fortemente orientato al cloud, permettendoti di accedere alla posta elettronica, ai tuoi documenti direttamente dal dispositivo (smartphone o Tablet) su cui è installato. Google ha anche investito pesantemente in computers come Chromebook, che si appoggiano al cloud per quasi ogni possibile attività che tu voglia fare o di cui il computer ha bisogno per la manutenzione, l’aggiornamento e la sicurezza. Microsoft ha sviluppato la piattaforma Azure, puntando principalmente sui servizi per le piccole e medie imprese, e sta anche modificando la propria offerta software spingendo verso il cloud. L’ultima versione di Office 365 si appoggia al cloud per salvare i tuoi file direttamente nel cloud e renderli sempre disponibili dovunque, tramite connessione Internet. Anche Apple è stata tra i pionieri del cloud: non a caso iTunes, che sfrutta il cloud per salvare i tuoi file e gusti musicali, è la piattaforma leader nel mercato della musica digitale. Il cloud può essere usato per il backup dei tuoi dati, per l’archiviazione (il cosiddetto cloud storage), per la condivisione dei tuoi file con i tuoi contatti, per la collaborazione online su documenti, e per la gestione delle tue foto e dei tuoi file audio e video.

Pubblicato il 26 feb 2016

Tags

Nessun tag associato

Potrebbero interessarti

Come la tecnologia e l’uso del software supportano la progettazione in Architettura

Come la tecnologia e l’uso del software supportano la progettazione in Architettura

La tecnologia si evolve velocemente, cambiando le metodologie e le tecniche di lavoro in tutte le aree produttive, dai processi semplici ai più complessi, trovando così diversi ambiti d’applicazione che aprono nuove possibilità a qualsiasi settore. L'architettura non è estranea a questo cambiamento, oggi esistono diverse applicazioni per lo sviluppo e il design architettonico e queste consolidano il ruolo della tecnologia anche in questo campo, svolgendo un ruolo molto importante nel settore. Per questo motivo sono state sviluppate diverse tipologie di applicazioni, che oggi vengono utilizzate costantemente da architetti e ingegneri, diventando strumenti fondamentali nei loro lavori, semplificandone la progettazione, ottimizzando i processi e migliorandone la qualità. L'industria del software sviluppa programmi che permettono di figurare strutture spaziali tridimensionali, quindi non è più necessario immaginare come sarebbe un elemento nella vita reale… questo può essere visto sul monitor di qualsiasi studio d’architettura. La maggior parte dei programmi utilizzati attualmente contengono una API (Application Programming Interface) o un'interfaccia di programmazione delle applicazioni che consentono l'accesso ai meccanismi interni del software e vengono utilizzate per automatizzare il programma o per aggiungere nuove funzionalità. La maggior parte dei software, come CAD e BIM, opera su base API. L’utilizzo di API non è esclusivo di questo settore, infatti, anche tutti i prodotti Microsoft Office hanno un'API integrata per l’automazione del software. Inoltre anche siti web come Facebook e Google hanno APIs che possono essere utilizzati per creare nuove caratteristiche e funzionalità. Visto che l’era digital in architettura e design si sviluppa rapidamente, imparare a programmare diventa sempre più un'abilità essenziale per un architetto e si può dire che, il suo lavoro, è si frutto della propria creatività ma vede la luce attraverso il supporto di un computer.

La scelta della tecnologia nei progetti software

La scelta della tecnologia nei progetti software

Quando si inizia un nuovo progetto software la valutazione delle tecnologie da utilizzare, ed in particolare, la scelta del framework, è una fase fondamentale e particolarmente critica che richiede grande attenzione e uno studio preliminare approfondito. Al giorno d'oggi gli strumenti che supportano lo sviluppo software sono numerosi, con caratteristiche, vantaggi, svantaggi e costi differenti. La fase precedente a questa scelta, dovrebbe prevedere un'accurata raccolta di requisiti funzionali, non funzionali e relativi all'aspetto grafico che il prodotto finale dovrà avere. Una volta completata questa prima analisi, si procede con quella delle tecnologie disponibili. Trovare la tecnologia che supporti completamente ed esaustivamente lo sviluppo delle funzionalità richieste è impossibile, ma si può restringere il campo selezionando quella che facilita maggiormente il lavoro. Lo sviluppo delle funzionalità non è però l'unico fattore da considerare. Altri, altrettanto importanti, sono: - Il supporto da parte degli sviluppatori della tecnologia, ma anche quello di una community che attraverso forum e blog proponga soluzioni a problemi più o meno comuni che si possono presentare; - La stabilità degli aggiornamenti nel tempo: utilizzando componenti che non vengono aggiornati da molto tempo, si rischiano problemi di compatibilità che in futuro potrebbero costringere a dover rimuovere quel componente o addirittura a dover riprogettare tutto utilizzando tecnologie diverse; - La compatibilità tra le tecnologie e la facilità con cui interagiscono dovrà essere comprovata, se si dovesse aver bisogno di utilizzarne più di una; - La scelta tra linguaggi nativi e ibridi: si tratta di un problema molto comune quando si parla di sviluppo di App. Utilizzare linguaggi nativi, ovvero linguaggi scritti appositamente per un determinato sistema (ad esempio iOS o android), permette di sfruttare al massimo le potenzialità del dispositivo migliorando nettamente le prestazioni. Lo svantaggio che ne consegue è che la stessa App dovrà essere sviluppata più volte nei vari linguaggi. D’altro canto, l’utilizzo di linguaggi ibridi permette di sviluppare una singola App che funziona su vari sistemi, a discapito però delle prestazioni; - L’esperienza nelle tecnologie, fattore va valutato insieme al tempo a disposizione. Se il tempo per la realizzazione del prodotto finale è limitato, probabilmente è meglio optare per tecnologie che già si padroneggiamo in modo da poter entrare subito nel vivo dello sviluppo. In caso contrario si possono anche scegliere tecnologie che prevedano una prima fase di formazione. Per lo sviluppatore, quindi, la valutazione della giusta tecnologia da utilizzare è un passo fondamentale. Se questo aspetto viene affrontato con la giusta attenzione, porta indubbi vantaggi al progetto che si intende realizzare.

CMS headless: gestori di contenuto per le moderne esigenze

CMS headless: gestori di contenuto per le moderne esigenze

Lo sviluppo tecnologico ha portato a dover trasferire contenuti e dati attraverso piattaforme e canali di comunicazione differenti. Anche la gestione del flusso dei dati sul web si è evoluta. I CMS tradizionali non riescono a soddisfare le esigenze moderne per la loro struttura monolitica che prevede la gestione e la visualizzazione dei dati in un unico software. Per questo motivo sono nati i CMS headless, ovvero “senza testa”, poiché la parte di presentazione dei dati (Content Delivery Application) non è presente nel sistema che, è composta dalla sola parte di gestione dei contenuti (Content Management Application).  Il contenuto di questo tipo di CMS si può considerare puro e permette in una sola istanza di essere visualizzato su diverse piattaforme quali siti web, smartphone, tablet e device IoT. I servizi sono offerti mediante delle API di tipo REST basate sul protocollo HTTP. Le diverse operazioni di CRUD sui dati vengono effettuate chiamando il giusto URL che farà da endpoint e utilizzando uno specifico verbo HTTP quali GET, POST, PUT e DELETE. Focalizzandosi solo sulla parte di gestione dei contenuti, il CMS headless è un sistema più semplice di uno tradizionale riuscendo quindi ad offrire i suoi servizi mediante un numero più basso di operazioni. I contenuti possono essere offerti dividendo il carico di gestione e flusso dei dati utilizzando un CDN (Content Delivery Network), il quale permette di ridurre gli attacchi di tipo DDOS. La sua flessibilità permette di sviluppare dei frontend con qualsiasi tecnologia e di facilitarne un loro possibile aggiornamento, senza aver bisogno di dover aggiornare anche il backend. In conclusione possiamo affermare che la tendenza è sempre più quella di sviluppare sistemi di questo tipo o talvolta di tipo ibrido. Non è un caso che alcuni tra i CMS di maggior rilievo come WordPress e Drupal si stiano spostando anch’essi verso questa direzione.