Settore

Come effettuare la migrazione al cloud senza problemi

Di Barry Collins
| | 11 minuti di lettura

Questo post è disponibile anche per: United States (English), Germany (Deutsch), Spain (Español) & France (Français).

Riepilogo

Mike Hicks, Principal Solution Analyst di ThousandEyes, spiega come prendere decisioni più efficaci per passare al cloud evitando di commettere errori che possono costare cari.


L'autore di questo post è Barry Collins, scrittore ed editor di testi di argomento tecnologico con esperienza ventennale e numerose collaborazioni con varie testate e siti Web.


Poiché in genere i servizi del cloud pubblico offrono prestazioni elevate, si tende a dare per scontato che qualsiasi migrazione al cloud migliori l'esperienza utente. Purtroppo non è così.

Capire come i diversi componenti dell'infrastruttura cloud influiscono sulle prestazioni delle applicazioni è fondamentale. Tralasciando questo aspetto, possiamo compromettere seriamente la qualità dell'esperienza, con il rischio che gli utenti smettano di usare la nostra applicazione e passino ai servizi della concorrenza.

Il nuovo report di ThousandEyes sulle prestazioni del cloud evidenzia i fattori a cui prestare attenzione quando si sviluppano applicazioni per il cloud. In attesa che il report venga pubblicato abbiamo chiesto a Mike Hicks, Principal Solutions Analyst di ThousandEyes, di condividere la sua esperienza e di spiegarci come procedere per passare al cloud senza commettere errori che possono costare cari.

L'utente al primo posto

Secondo Mike Hicks, spesso le applicazioni vengono progettate senza dare la giusta importanza alle esigenze degli utenti. Gli sviluppatori tendono a creare applicazioni che siano il più solide possibile in base al budget a disposizione, spesso senza considerare qual è il livello di prestazioni accettabile per gli utenti finali.

L'infrastruttura cloud viene scelta prima ancora di valutare l'impatto sull'esperienza utente; questo, per Mike, significa mettere il carro davanti ai buoi. “Le tecniche di progettazione costruite intorno all'utente finale aiutano a prendere decisioni in linea con le sue esigenze, evitando complessità inutili che finiscono per sovradimensionare le applicazioni e l'infrastruttura cloud,” sostiene Mike. 

“Conoscere meglio gli utenti e le prestazioni che si aspettano ottimizza i processi decisionali relativi all'infrastruttura, anche quando gli ecosistemi cambiano ed emergono nuove opportunità.”

Osservare il servizio nel suo complesso

Le applicazioni di oggi sono molto complesse; per questo, una pianificazione accurata è fondamentale. Ormai, per monitorare le prestazioni delle applicazioni cloud, un unico percorso da e verso un server remoto non basta più. Oggi i vari componenti, come l'autenticazione degli utenti o i sistemi di pagamento, sono distribuiti in diversi cloud, data center, aree geografiche e zone di disponibilità.

Proprio come un urbanista non penserebbe di dirottare il trasporto su gomma attraverso il traffico congestionato di un centro cittadino, gli sviluppatori di app devono tenere presenti i potenziali colli di bottiglia che dipendono dall'infrastruttura cloud. A tale scopo, servono una visibilità ottimale sull'intera catena di erogazione del servizio e un approccio orientato a definire le aspettative degli utenti.

“Una delle sfide principali per i team di progettazione è comprendere le prestazioni dei vari componenti dell'infrastruttura cloud, in modo da prendere decisioni informate,” sostiene Mike. “È essenziale sapere quali cloud, aree geografiche e zone di disponibilità ospitano le varie parti e valutarne le prestazioni considerando la base utenti dell'azienda.”

“Per ottimizzare le prestazioni delle applicazioni, bisogna capire come i diversi elementi dell'infrastruttura influiscono sulla loro progettazione e sulle prestazioni dei servizi cloud. Monitorando costantemente le prestazioni dell'infrastruttura cloud possiamo influenzare e controllare meglio l'erogazione dell'esperienza digitale nel cloud.”

Ove possibile, è bene valutare questi fattori prima di decidere dove ospitare l'applicazione. “Oltre all'infrastruttura, la progettazione delle applicazioni coinvolge molti altri aspetti,” continua Mike. “Prima di capire dove e come eseguire il re-hosting, durante la fase di sviluppo occorre definire le caratteristiche dell'applicazione e capire il ruolo dell'utente nel determinarle. Questo approccio potrebbe portare a esigenze infrastrutturali molto diverse per ciascuna applicazione.”

Rischi di una pianificazione inefficace

Mike ha esperienza diretta dei problemi derivanti da una pianificazione che non tiene conto dell'esperienza utente. Ad esempio, ci racconta di un'azienda che aveva scelto una migrazione di tipo "lift-and-shift" dal data center alla piattaforma cloud con un database distribuito.

"Purtroppo, nessuno aveva considerato l'interazione e la posizione degli utenti", spiega Mike. Nel caso specifico, i tempi di risposta dell'app erano importanti e dovevano essere rapidi. L'azienda aveva dato per scontato che la migrazione al cloud avrebbe migliorato le prestazioni. Tuttavia, per il tipo di servizi richiesti e la loro realizzazione e distribuzione, gli utenti riuscivano a interagire rapidamente con l'interfaccia ma avevano grossi problemi con le transazioni. Il database e i servizi di backend erano troppo distanti dagli utenti finali."

Fu un errore molto costoso, perché "la velocità era l'elemento distintivo per questa azienda; i clienti iniziarono a passare ai servizi della concorrenza, finché l'azienda non fu in grado di identificarne e classificarne le esigenze."

Le perdite economiche di una pianificazione inadeguata non dipendono solo dall'abbandono dei clienti: decisioni infrastrutturali sbagliate possono far lievitare i costi di elaborazione. “La maggior parte dei provider di servizi cloud deve sostenere costi per l'acquisizione e l'elaborazione dei dati,” afferma Mike. “La possibilità di esternalizzare le risorse di elaborazione a volte comporta decisioni di progettazione non ottimali, che non tengono conto di elementi importanti come la posizione delle funzioni in relazione all'utente.”

"Così, la necessità di risorse di calcolo potrebbe aumentare, e si finirebbe per avere un continuo andirivieni di dati tra più aree geografiche, di cui si potrebbe fare a meno. Una soluzione inutilmente complessa può portare a un'infrastruttura cloud sovradimensionata in termini di provisioning e specifiche, con costi maggiori."

Comunicazioni più efficaci tra i vari reparti

A compromettere le prestazioni delle app non è solo la mancanza di visibilità sui provider esterni, ma anche la mancanza di visibilità sulle attività degli altri team aziendali.

Nelle grandi aziende, in genere vari team interni sono responsabili dei servizi per più prodotti o domini; questo può dare origine a compartimenti stagni, dove nessuno ha visibilità completa dell'intera catena di erogazione del servizio. 

Ad esempio, di recente ho collaborato alla migrazione di un cluster di database, prevista in parallelo a un processo programmato che richiedeva di effettuare molte chiamate al database; di conseguenza, la capacità disponibile si è esaurita,” racconta Mike. Questa situazione, del tutto evitabile, ha compromesso le prestazioni dell'app.

“Può sempre verificarsi un evento imprevedibile, una "tempesta perfetta" che causa un'interruzione, ma si tratta di casi eccezionali, non della normalità,” spiega Mike.

“Se si abbattessero i compartimenti stagni e tutti i soggetti coinvolti nella catena di erogazione del servizio fossero al corrente dei processi decisionali e delle attività svolte, si potrebbero evitare molte interruzioni o limitarne la durata e la portata.”

Tagliare i costi, ma con oculatezza

Uno dei principali motivi che spinge le aziende a migrare al cloud è la riduzione dei costi. Per risparmiare, le aziende possono migrare i data center on-premises all'infrastruttura cloud, ma anche passare da un provider all'altro alla ricerca di condizioni economiche più vantaggiose. Se non si considera attentamente l'impatto sulle prestazioni, tuttavia, quello che in prima battuta sembra un buon risparmio potrebbe tradursi in un enorme calo del fatturato.

“Un approccio che mira esclusivamente a ridurre i costi non è efficace,” afferma Mike. “Le aziende devono pensare a come ottimizzare i costi dell'infrastruttura, ma al tempo stesso garantire prestazioni adeguate. Il risparmio sui costi è una diretta conseguenza di una progettazione infrastrutturale più intelligente e costruita intorno all'utente.”

“Non possiamo rischiare di compromettere le prestazioni solo per risparmiare qualche dollaro,” aggiunge Mike. “Gli utenti si aspettano che le applicazioni e i carichi di lavoro Web siano sempre più veloci, e pretenderanno prestazioni sempre migliori.”

Ciò non vuol dire che non sia possibile ridurre i costi. Serve un approccio olistico che consideri l'intera catena di erogazione del servizio, per capire dove si può risparmiare senza pregiudicare l'esperienza utente.

A questo proposito Mike propone alcuni esempi. “Il modo più conveniente e al tempo stesso efficace di soddisfare le aspettative consiste nel memorizzare i contenuti nella cache tramite una rete CDN e ospitare l'infrastruttura ad alta elaborazione il più possibile vicino agli utenti,” spiega Mike. “Una piattaforma di e-commerce che opera su grandi database di backend potrebbe ottenere dei vantaggi sfruttando una struttura del database più distribuita, che acceleri le chiamate nel backend (in modo da rispondere alle richieste degli utenti per il prodotto) e riduca i costi necessari a servire ciascun potenziale acquirente.”

L'ideale è offrire all'utente prestazioni ottimali e al contempo ridurre i costi. Ma questo è possibile solo se si pone pari attenzione all'esperienza utente e ai profitti.


Leggi il report sulle prestazioni del cloud per scoprire come ThousandEyes Assurance può aiutare la tua azienda a trasformare la strategia di migrazione al cloud.

Upgrade your browser to view our website properly.

Please download the latest version of Chrome, Firefox or Microsoft Edge.

More detail