Come Amazon sta ottenendo la libertà dai database utilizzando AWS

Sentendo dire che Amazon è sul punto di concludere un'iniziativa pluriennale a livello aziendale per trasferire i dati dell'azienda dai database Oracle ad Amazon Web Services (AWS), ci si potrebbe chiedere: perché la massima potenza del retail online, nota per l'uso di tecnologie all'avanguardia, non sta già sfruttando la varietà, la scalabilità, l'affidabilità e l'economicità di AWS, soprattutto considerando che le due fanno parte della stessa azienda?

La risposta si articola in due parti: innanzitutto, Amazon è nata molto prima di AWS, in un'epoca in cui le soluzioni di database monolitiche e on-premise come Oracle erano ancora più adatte per l'archiviazione e la gestione dei dati su scala aziendale. In secondo luogo, anche se quell'epoca è finita, il distacco da Oracle presenta ostacoli imponenti, come sanno fin troppo bene molte aziende che vogliono passare ad AWS.

"Se un'azienda come Amazon è stata in grado di trasferire da Oracle ad AWS così tanti database, utilizzati da così tanti team decentralizzati e distribuiti a livello globale, la migrazione è davvero alla portata di quasi tutte le aziende."

Thomas Park, Senior Manager of Solution Architecture for Consumer Business Data Technologies, Amazon

  • Informazioni su Amazon
  • Amazon si ispira a quattro principi: privilegiare la dedizione al cliente invece di concentrarsi sulla concorrenza, avere passione per l'invenzione e l'innovazione, impegnarsi verso l'eccellenza operativa e avere una visione a lungo termine. Recensioni dei clienti, acquisti con un clic, consigli personalizzati, Prime, Logistica di Amazon, AWS, Kindle Direct Publishing, Kindle, tablet Fire, Fire TV, Amazon Echo e Alexa sono alcuni dei prodotti e servizi con cui Amazon ha fatto scuola.

  • Vantaggi
    • Riduzione dei costi operativi del database del 50%
    • Eliminazione della maggior parte dei costi di amministrazione del database e di gestione dell'hardware
    • Riduzione della latenza del 40% per la maggior parte dei servizi critici
  • Servizi AWS utilizzati

Districarsi da Oracle: più facile a dirsi che a farsi

Nel caso di Amazon, gli ostacoli all'abbandono di Oracle includevano le dimensioni della flotta aziendale: più di 5.000 database collegati a una varietà di sistemi non standardizzati, con proprietà e dipendenze non inventariate a livello centrale. Altri rischi erano legati al personale. Le carriere di molti dipendenti di Amazon si basavano sulle piattaforme di database Oracle. Avrebbero sostenuto appieno la migrazione? Qualcuno di essi avrebbe deciso di lasciare l'azienda?

Molte altre aziende che vogliono passare da Oracle ad AWS si trovano ad affrontare sfide analoghe. Proprio come tali altre aziende, Amazon aveva motivi urgenti per portare a termine l'operazione. Gli ingegneri di Amazon sprecavano troppo tempo nell'amministrazione, nel provisioning e nella pianificazione della capacità dei database, con procedure complicate e soggette a errori. La ripida traiettoria di crescita dell'azienda e il forte aumento della velocità di trasmissione effettiva richiedevano sempre più partizioni di database Oracle, con tutti i costi operativi e di manutenzione aggiuntivi derivanti. Anche l'aspetto dei costi non era trascurabile: continuare a condurre le normali attività su Oracle avrebbe comportato un aumento sbalorditivo del 10% all'anno, oltre ai milioni di dollari che Amazon già pagava per la sua licenza.

"Ci trovavamo nella medesima situazione di tante altre aziende", afferma Thomas Park, Senior Manager of Solution Architecture for Consumer Business Data Technologies presso Amazon.com, che ha contribuito a guidare il progetto di migrazione. "Oracle era allo stesso tempo sia il motivo principale per cui volevamo passare ad AWS, sia il nostro principale ostacolo al passaggio."

Questo è quanto accadeva prima. Oggi, Amazon è sul punto di completare la migrazione di circa 50 petabyte di dati e di chiudere l'ultimo di quei 5.000 database Oracle. Come ha fatto l'azienda a portare a termine questa imponente migrazione?

Gestire il cambiamento culturale e la complessità tecnica

Amazon ha dovuto affrontare due sfide principali durante la migrazione. Una era come affrontare la gestione del programma su larga scala, indispensabile per motivare i suoi diversi team distribuiti a livello globale ad abbracciare il progetto e monitorarne i progressi. L'altra era la complessità tecnica della migrazione. Affinché il progetto avesse successo, era chiaro che le linee di business dell'azienda avrebbero avuto bisogno di coordinamento, formazione e supporto tecnico centralizzati.

Per superare queste sfide, Amazon ha iniziato creando un Program Management Office (PMO) aziendale, che ha stabilito requisiti prestazionali chiari e ha fissato revisioni settimanali, mensili e trimestrali con ogni team di assistenza per monitorare e riferire i progressi e lo stato del programma.

"Nel creare il programma, abbiamo dovuto definire chiaramente cosa stavamo cercando di ottenere e perché, prima di affrontare il come", afferma Dave George, Director of Consumer Business Data Technologies presso Amazon. "Una volta definiti il cosa e il perché, abbiamo stabilito obiettivi chiari con una sponsorizzazione esecutiva attiva. Questa sponsorizzazione ha garantito che i nostri numerosi team tecnologici dislocati avessero un obiettivo chiaro e inequivocabile e si impegnassero a raggiungere gli obiettivi. L'incessante attenzione alla distribuzione ha garantito che l'interruzione delle altre priorità aziendali fosse ridotta al minimo, ottenendo al contempo un aggiornamento significativo dell'architettura dei sistemi principali."

Un altro elemento fondamentale per il successo del progetto è stato il team tecnico di base di AWS, composto da solutions architect e ingegneri di database esperti. Questo team ha formulato suggerimenti su quali servizi AWS sarebbero stati più adatti per ogni categoria di dati Amazon migrati da Oracle, tra cui:

  • Amazon DynamoDB: consigliato per i servizi critici che richiedono elevata disponibilità, schemi variabili e latenza coerentemente inferiore ai 10 millisecondi su larga scala.
  • Amazon Aurora: consigliato per servizi con schemi stabili che richiedono elevata disponibilità e una forte integrità referenziale.
  • Amazon Simple Storage Service (Amazon S3): consigliato per l'archiviazione economica e a lungo termine di dati relazionali e non relazionali.
  • Amazon Relational Database Service (Amazon RDS) per PostgreSQL o MySQL: consigliato per servizi non critici e per la facilità di configurazione, funzionamento e dimensionamento.
  • AWS Database Migration Service (AWS DMS): aiuta a migrare i database ad AWS in modo rapido e sicuro. Il database di origine resta completamente operativo anche durante la migrazione, per ridurre al minimo le interruzioni delle applicazioni che lo utilizzano. DMS consente di eseguire la migrazione dei dati da e verso i database commerciali e open source più utilizzati.
  • AWS Schema Conversion Tool (AWS SCT): rende prevedibili le migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte degli oggetti di codice, incluse visualizzazioni, procedure archiviate e funzioni, in un formato compatibile con il database di destinazione.

Questo team ha inoltre fornito istruzioni formali su servizi AWS specifici, condotto laboratori pratici, offerto consulenze individuali e coordinato l'assistenza diretta da parte dei team di prodotto AWS per le aziende Amazon che affrontano sfide specifiche.

"Per il successo del progetto è stato fondamentale disporre di questo team centrale composto da solutions architect e ingegneri di database esperti", afferma Park. "Il team non solo ha contribuito a formare i team aziendali di Amazon, ma ha fornito feedback e richieste di funzionalità che hanno reso i servizi AWS ancora più efficaci per tutti i clienti."

Inoltre, Amazon ha riflettuto attentamente sul modo migliore per aiutare gli amministratori di database Oracle a passare ai nuovi percorsi di carriera ai quali ora possono accedere. Un'opzione era aiutarli ad acquisire le competenze necessarie per diventare solutions architect di AWS. Un'altra opzione era assegnare loro un ruolo manageriale che valorizzasse l'esperienza con Oracle durante il processo continuo di collegamento tra gli ambienti tradizionali basati su Oracle e gli ambienti cloud AWS.

Libertà dei database su AWS

La migrazione ad AWS ha ridotto i costi operativi annuali dei database di Amazon di oltre la metà, pur fornendo una capacità maggiore dopo il trasferimento. Le spese generali relative all'amministrazione del database e alla gestione dell'hardware sono state notevolmente ridotte e l'allocazione dei costi tra i team è molto più semplice di prima. La maggior parte dei servizi riadattati ad Amazon DynamoDB, perlopiù i servizi più critici, che richiedono un'elevata disponibilità e una latenza inferiore ai 10 millisecondi su larga scala, ha registrato una riduzione della latenza del 40%, nonostante ora venga gestito un volume di transazioni doppio. Durante la migrazione, i team di assistenza hanno anche colto l'occasione per stabilizzare ulteriormente i servizi, eliminare i debiti tecnici e documentare in modo completo tutto il codice e le dipendenze.

Riflettendo sulla portata del progetto, una migrazione che ha interessato 800 servizi, migliaia di microservizi, decine di migliaia di dipendenti e milioni di clienti e che ha portato a un'impronta del database AWS per Amazon superiore al 90% degli altri clienti AWS, Amazon.com trae una lezione per le altre grandi aziende che stanno prendendo in considerazione una mossa simile.

"Nessuna delle parti coinvolte in questo progetto di migrazione avrebbe potuto definirlo semplice, facile o divertente, ma d'altro canto non ha neppure richiesto i superpoteri. Se un'azienda come Amazon è stata in grado di trasferire da Oracle ad AWS così tanti database, utilizzati da così tanti team decentralizzati e distribuiti a livello globale, la migrazione è davvero alla portata di quasi tutte le aziende."


Ulteriori informazioni

Ottieni ulteriori informazioni su Amazon DynamoDB.