Per un’azienda o anche un singolo sviluppatore che vogliano effettuare una migrazione al cloud, Amazon Web Services sembra la scelta più indicata.
Di sicuro è la più ovvia: AWS è per tutti gli analisti di mercato il player più importante del settore, offre una gamma di servizi talmente ampia che è difficile anche seguirla tutta, tra servizi di computing, storage e altri più esoterici come quelli serverless o collegati all’IoT.
Ma non c’è solo AWS. I cloud provider sono molti di più e diversi di essi si stanno specializzando in qualche campo specifico che permetta loro di colmare il gap con AWS almeno per determinate applicazioni. Oppure hanno altre specificità che li rendono un’alternativa possibile in alcuni scenari. Cerchiamo di capire quali.
Quando serve molta potenza. Oppure poca
Di solito ci si rivolge al cloud per avere il massimo dell’elasticità nella gestione delle risorse IT della “nuvola”. Non è detto che questa elasticità sia sempre sinonimo di potenza elaborativa, almeno se ci basiamo sui classici servizi che prevedono l’uso di macchine virtuali come AWS EC2.
Una strada alternativa è andare più “bare metal” e usare servizi che prevedono la virtualizzazione via container. AWS ovviamente lo prevede, ci sono altri provider che promettono un rapporto prezzo/prestazioni migliore.
In alcuni casi un’azienda si sente più tranquilla se abbandona la virtualizzazione e utilizza una macchina dedicata. Molti cloud provider arrivano al massimo alla definizione di un server privato virtuale, che è una “presenza” su un server condiviso. Altri, come IBM, propongono effettivamente la creazione di un server proprio in base a specifiche precise. È una strada potenziale per chi vuole una macchina indipendente, ovviamente a prezzi più elevati dei servizi di virtualizzazione.
C’è poi chi ha il problema opposto: non va alla ricerca della massima potenza ma di una configurazione base, per gestire pochi dati e qualche applicazione web elementare. In questi casi i servizi di AWS possono essere sin troppo complessi da gestire – anche se familiarizzare con il mondo Amazon non è mai male – ed è magari meglio rivolgersi a provider più piccoli con servizi più tradizionali. Con un limite prevedibile: è assai difficile che questi servizi abbiano un tasso rilevante di scalabilità.
Quando non serve una piattaforma
La forza di AWS sta nei suoi servizi infrastrutturali IaaS e di piattaforma PaaS. Per chi cerca qualcosa di meno “semilavorato” che assomigli di più a una soluzione completa vera e propria non è ovviamente questa la strada giusta. Amazon ha un suo marketplace attraverso cui dotare gli ambienti IaaS di soluzioni software più ad alto livello – si può creare in pochi minuti un server virtuale con un CMS o uno stack LAMP, ad esempio – ma bisogna pur sempre metterci le mani “dentro”.
Un ragionamento in parte simile vale per chi cerca servizi applicativi mirati. Vi interessa ad esempio solo scrivere codice senza occuparvi di tutto quello che ci deve stare dietro in termini infrastrutturali? Allora forse l’App Engine di Google è più pratico dei servizi AWS. Analogamente, per chi si occupa di analisi dei dati dal punto di vista non dello sviluppatore ma del data scientist l’approccio infrastrutturale di Amazon può sembrare un po’ ostico.
In confronto altri cloud provider, come Microsoft, hanno seguito una strada più applicativa e più semplice da seguire, pur non mancando di funzioni. Chi fa data analytics deve esaminare i vari servizi cloud in base anche alle sorgenti dati che mettono più facilmente a disposizione. È un tema molto specifico, ma che poi nella pratica ha la sua importanza.
Quando al cloud servono elementi specifici
Amazon AWS naturalmente è… Amazon. Se cerchiamo qualche funzione o componente che sia strettamente legata alle attività di sviluppo di qualche altro grande nome dell’IT, AWS ovviamente non ci potrà aiutare. Gli esempi più ovvi di questo inevitabile limite sono legati ad alcune tecnologie e piattaforme di Google, Microsoft e IBM.
Molte applicazioni usando le API dei servizi Google per funzioni come le traduzioni online o i servizi di mapping. Non è obbligatorio usare i servizi PaaS di Google per adottare le sue API, spesso però conviene farlo per avere il massimo delle prestazioni e della fluidità nel passaggio delle informazioni. Lo stesso vale per Windows: AWS e gli altri cloud provider offrono inevitabilmente sistemi basati sul sistema operativo di Microsoft, la gestione delle licenze però diventa molto più semplice usando Azure.
Il mondo IBM è legato in particolare a due tecnologie su cui Big Blue ha investito e continua a investire: Watson e blockchain. I servizi cloud collegati alla piattaforma di machine learning possono essere molto utili per chi sta approcciando le applicazioni dell’intelligenza artificiale, dai chatbot all’analisi video passando per l’interpretazione del parlato. Ci sono certo anche quelli di altri provider ma in alcuni campi IBM è in vantaggio.
Lo stesso vale lato blockchain. Sono in corso molti progetti per l’applicazione dell’approccio a ledger distribuiti, al momento però solo IBM ha proposto un servizio cloud in stile “blockchain as-a-Service” che permette di costruire una infrastruttura blockchain per la gestione delle transazioni.