Una strategia di migrazione al cloud richiede di investire prima di iniziare a risparmiare. Si tratta di un processo incredibilmente complicato, spesso facilitato dalla consulenza IT, e che richiede di prendere molte decisioni difficili lungo la strada.
Alcune di queste decisioni saranno sempre completamente fuori dal vostro controllo, come le leggi sulla protezione dei dati di cui dovete essere sempre consapevoli, ma che non potete influenzare in alcun modo. Mentre altre sono ben all’interno del vostro potere e dovrebbero essere prese in considerazione il più possibile.
La seguente guida fornisce i cinque passi più essenziali per la migrazione al cloud per prendere il controllo del tuo progetto di migrazione al cloud.
1. Definire la quantità di capacità del cloud di cui avete bisogno
I fornitori tradizionali di infrastrutture internet non vendono potenza di calcolo. Invece vendono risorse, o, per essere più specifici, server che funzionano 24 ore su 24, 7 giorni su 7, facendoti pagare a ore anche quando non stai usando queste risorse. Nella maggior parte dei casi, la vostra applicazione o sistema basato sul cloud non è completamente carico durante il tempo prepagato, il che significa che state sprecando il vostro budget usando il tempo di inattività del server.
Ora, i numeri varieranno a seconda della vostra scala di operazioni. Se un’azienda locale non effettua operazioni notturne come il reporting o la manutenzione, allora dovrà affrontare 12 ore di inattività. Questo significa che il 50% del loro budget per le infrastrutture andrà giù per lo scarico. Un’azienda con uffici geograficamente distribuiti avrà a che fare con meno tempi morti, ma gli sprechi rimarranno un ostacolo costante in entrambi i casi. Anche i social media più popolari hanno almeno due o tre ore di traffico lento, e quindi potrebbero beneficiare del bilanciamento del loro carico utile in modo più efficiente.
La scalabilità è una questione delicata
Acquistare semplicemente un grande server basandosi solo sulle previsioni astratte del traffico potrebbe essere troppo ottimistico, mentre l’acquisto di un piccolo server potrebbe ritorcersi contro di te se finisci per diventare virale e il tuo sistema si blocca sotto l’immensa pressione.
Quindi il giusto approccio alla vostra strategia di migrazione al cloud sarebbe quello di andare per il cloud che è in grado di auto-scalare, o di utilizzare sistemi di backend senza server basati su AWS Lambda, Azure Functions, o servizi specializzati simili. Servizi come questi permettono lo scaling automatico del backend, il che significa che si può beneficiare sia del modello pay-as-you-go che di quello pay-as-you-use.
Tuttavia, ci sono alcuni casi in cui fare uso del cloud non è una buona idea. Quando si ospita nel cloud, non si sa su quali server fisici saranno distribuiti i componenti. E nel caso specifico di sistemi ad alto carico in cui il tempo di risposta è un fattore critico, il cloud potrebbe non essere affatto l’opzione migliore.
Se invece distribuite i componenti del vostro sistema in tutto il centro dati e li collegate tramite nodi di commutazione extra, allora dovrete fare i conti con la latenza della rete. Gli archivi collegati alla rete sono sempre meno efficienti delle unità locali. Questo significa che mentre saranno ancora aperti allo scaling, sarete limitati nel raggiungere il tempo minimo di risposta per richiesta. Quindi, se questo è cruciale per il vostro business, allora potrebbe valere la pena considerare di rimanere con il vostro data center locale.
2. Adattare la vostra architettura
Se migri il tuo sistema così com’è, il cloud sarà sempre più costoso dello storage locale. Per ottimizzare i tuoi costi, dovrai adattare la tua architettura prima della migrazione e scegliere i servizi giusti per facilitare questo complesso processo.
Mentre il risparmio sui costi è in cima alle motivazioni più forti dietro la migrazione al cloud, è quasi sempre l’opzione più costosa. Questo accade perché le migrazioni sono spesso percepite inizialmente come la clonazione di un’infrastruttura attuale, insieme alla sua intera capacità, nel cloud. Tuttavia, è necessario aggiungere anche i costi di gestione del fornitore di cloud e le spese generali di scalabilità, poiché i fornitori di cloud offrono servizi completamente gestiti. Di fatto, la gestione della spesa per il cloud è rimasta la sfida numero uno tra le imprese per quanto riguarda il cloud negli ultimi due anni.
Tenendo conto di tutti questi fattori, l’unico approccio corretto alla migrazione del cloud consiste nel decidere quali componenti del sistema devono essere lasciati in sede e quali devono essere migrati nel cloud.
Bilanciare l’utilizzo del servizio
Prima di prendere grandi decisioni, analizzare i servizi che sono completamente carichi e quelli che sono sottoutilizzati. È possibile ridurre al minimo il sottoutilizzo separando lo storage nel cloud dei servizi che sono pesantemente caricati da quelli che lo sono solo parzialmente. Poi, si può decidere quali componenti del sistema potrebbero essere realizzati sulla base delle piattaforme di servizi esistenti, poiché ci sono così tanti servizi out-the-box che sono perfettamente adatti a soluzioni standard.
La linea di fondo è che se si ottimizza prima l’architettura, allora il cloud si rivelerà più economico di un server dedicato. Per aiutarvi in questo, ecco una lista dei più tipici passi out-of-the-box che potete fare:
Spostare tutte le vostre risorse statiche su CDN: questo dovrebbe togliere un po’ di carico dai vostri server applicativi.
Usare i componenti dell’infrastruttura della piattaforma come i bilanciatori di carico, le code di messaggi e i servizi di caching invece di distribuire semplicemente istanze di server extra per loro.
Sostituite routine e servizi usati raramente con gestori serverless (da AWS Lambda o Azure Functions): in questo modo pagherete solo per le risorse computazionali che consumano piuttosto che per il loro tempo inattivo. Questi includono le operazioni di elaborazione dei dati in batch e le routine programmate o in background (invio di messaggi, ecc.).
La stessa sostituzione può essere fatta per semplici servizi di backend con un carico sporadico e/o quelli che sono tolleranti al tempo di risposta.
Per scoprire altri servizi che possono essere sostituiti, si possono consultare i fornitori di cloud computing come AWS e Azure, che sono attualmente i due più popolari.
3. Calcolare i costi
Rispondere alla famigerata domanda sui prezzi è incredibilmente difficile, in quanto i calcoli possono facilmente oscillare da una parte o dall’altra a seconda di ciò che si pensa sia l’opzione migliore – in sede o nel cloud.
I costi dell’infrastruttura includono tipicamente i costi dei server, delle risorse, dell’usura delle attrezzature, dei guasti e dello smaltimento, tra le tante cose. Per stimare i tuoi costi, puoi usare uno strumento come AWS Simple Monthly Calculator. Ma non siate sorpresi se i vostri calcoli tornano con un calo dei costi di tre volte. Se seguite le raccomandazioni esposte nel passo precedente, questo è esattamente ciò che dovreste ottenere.
Illustriamo questo con un esempio semplice. Immaginate di avere un sistema che è stato inizialmente progettato per funzionare on-premises. E supponiamo che sia un sistema molto trafficato con più di 10 TB di dati, un tasso di aggiornamento di oltre 8.000.000 di eventi al giorno e un throughput di 30.000 eventi al minuto. Avrete bisogno di una strategia di migrazione al cloud per questo sistema.
Per questo particolare esempio, la migrazione avverrà in due fasi: in primo luogo, riscriverete i componenti dell’infrastruttura per beneficiare dei servizi serverless; e in secondo luogo, sceglierete i migliori servizi cloud out-of-the-box. Ottimizzando e reingegnerizzando la vostra infrastruttura, sarete in grado di migrare richiedendo meno linguaggi. E, utilizzando i servizi serverless, vedrete un drastico taglio dei costi complessivi.
Solo alcuni dei molti vantaggi di migrare in questo modo saranno lo scaling automatizzato, lo sviluppo e il supporto semplificati, così come l’ottimizzazione delle risorse.
4. Proteggete i vostri dati
Per ragioni di sicurezza, ci sono alcuni settori che semplicemente non possono considerare completamente la migrazione al cloud: per esempio, il settore bancario e finanziario, il settore pubblico, le assicurazioni e l’assistenza sanitaria. Tuttavia, molte startup che lavorano con diversi tipi di dati sensibili hanno trovato un modo per ospitare i loro sistemi sul cloud. Poiché i loro budget non consentono loro di assumere esperti di sicurezza di alto livello in casa, invece fanno accordi con i fornitori di cloud per un certo livello di servizi incentrati sulla sicurezza.
Eppure le aziende stanno favorendo il cloud per qualcosa di più della semplice garanzia di riduzione dei costi. Anche i giocatori con grandi budget stanno migrando, ma non senza prima prendere alcune precauzioni. Sempre più organizzazioni altamente regolamentate, comprese le agenzie governative, stanno iniziando a vedere i benefici del cloud. Stanno optando per un modello ibrido in cui devono memorizzare solo segmenti dei loro dati nel cloud, salvaguardandosi così dagli attacchi mantenendo severi limiti di accesso degli utenti e utilizzando potenti firewall governativi.
Anche se avete molteplici preoccupazioni per la sicurezza, passare al cloud è ancora una possibilità se voi ed il vostro fornitore di cloud potete condividere le seguenti responsabilità in questo complicato processo:
Le tua responsabilità
Scegliete il vostro fornitore di cloud sulla base della loro knowledge in sicurezza.
Creare uno SLA efficace che copra non solo le relazioni fornitore-cliente, ma anche le terze parti e i broker del cloud.
Scegliete modelli ibridi in cui potete mantenere il vostro ERP, CRM e altre soluzioni mission-critical con informazioni di identificazione personale protette in loco.
Mantenere un modello di sicurezza flessibile che continui ad evolversi in risposta alle minacce man mano che emergono.
Responsabilità del fornitore di cloud
Analizzare i rischi per la sicurezza e scansionare la propria architettura alla ricerca di falle.
Creare un piano di gestione delle minacce specifico per ogni caso con una chiara roadmap di risoluzione degli incidenti.
Contrastare i rischi per la sicurezza posti dal BYOD e dall’IoT con l’aiuto di macchine virtuali, hypervisor o container per la gestione dei dati e degli accessi che sono separati dalla rete aziendale.
5. Scegliere l’open source
Molte aziende che stanno cercando di adottare il cloud temono il cosiddetto vendor lock-in, cioè l’impossibilità di lasciare il cloud o di cambiare il loro fornitore di cloud dopo essersi impegnati con uno. Tra le maggiori preoccupazioni ci sono anche l’interoperabilità e la portabilità delle applicazioni quando si cambia fornitore, così come la paura di dover pagare ancora di più per cambiare l’infrastruttura.
Nel nostro storico di fornitura di servizi di cloud computing, i clienti non hanno mai cambiato fornitore di cloud. Anche se questo tiene conto del fatto che tutte queste migrazioni sono state accuratamente organizzate e pianificate ben prima di prendere qualsiasi decisione importante. Se sei ancora preoccupato, scegli i servizi gestiti dal cloud che sono costruiti su componenti open-source ben noti. In questo modo, sarete in grado di portare facilmente il vostro database su un’altra piattaforma cloud o su una soluzione on-premises, se necessario.
Per affrontare le preoccupazioni di lock-in, dovreste scoprire cosa c’è esattamente dietro il nome del marchio del provider facendo ricerche sulla loro documentazione o chiedendo a un esperto. Per esempio, ecco alcuni servizi dello stack AWS che sono open-source e/o interoperabili:
AWS ElastiCache: un servizio di caching che utilizza Redis o Memcached sul backend
Amazon Aurora: un servizio di database che è compatibile con MySQL
Amazon Redshift: un servizio di data warehouse inizialmente costruito sopra PostgreSQL che è ancora compatibile con la maggior parte delle funzionalità SQL
Puoi anche scegliere servizi cloud che utilizzano protocolli standard o aperti, permettendoti così di cambiare provider quando necessario. I protocolli aperti fanno spazio all’interoperabilità delle apparecchiature senza dover usare gateway o interfacce proprietarie.
Ora, se i servizi cloud offrono i loro protocolli proprietari accanto ai protocolli aperti, allora il consiglio è sempre quello di optare per i protocolli aperti. Per esempio, Azure Service Bus fornisce la propria API e un supporto AMQP, un protocollo di messaggistica aperto. Scegliendo uno standard aperto, si ottiene di rimanere flessibili. Questo significa che potete cambiare il vostro provider o anche implementare la vostra istanza di servizio che supporta lo stesso protocollo senza fare alcun cambiamento significativo nei componenti client.
Se siete ancora in dubbio sulla scelta di un servizio per il vostro sistema, non esitate a ricontrollare con il fornitore.
La tua strategia di migrazione al cloud: la checklist
La migrazione al cloud è un processo complesso e a più livelli che richiede una solida pianificazione anticipata. Questa guida ha fornito uno schema dei passaggi critici della migrazione al cloud che possono aiutare a ridurre al minimo i costi dell’infrastruttura, evitare il vendor lock-in e affrontare le paure comuni che accompagnano l’adozione del cloud.
Per riassumere i punti precedenti, ecco la checklist finale per creare una strategia di migrazione al cloud sicura, efficiente ed economica:
Ottimizzare l’utilizzo delle risorse
Regolare l’architettura prima della migrazione
Scegliere i servizi cloud giusti
Calcolare attentamente i costi dell’infrastruttura
Segui le tue responsabilità in materia di sicurezza
Optare per servizi costruiti su protocolli aperti
