Cloud Native su AWS: rendi il tuo database più efficiente con il supporto di Flowing

Quando si parla di cloud native ci si riferisce al modo in cui un’applicazione viene sviluppata e distribuita, sfruttando i benefici del cloud, presupponendo che essa risieda all’interno di una soluzione cloud piuttosto che su un datacenter fisico.

Tradizionalmente, la fase di sviluppo si concentra in primo luogo sulla creazione dell’applicazione in sé, mettendo in secondo piano il luogo in cui l’infrastruttura viene caricata.

Con lo sviluppo cloud native, invece, l’idea è quella di considerare entrambi questi aspetti fin dal principio, prendendo in considerazione il “dove” l’applicazione risiede e quali tipologie di servizi o tecnologie provenienti da quella piattaforma possono essere utilizzate per rendere più efficace lo sviluppo e l’utilizzo della propria applicazione.

L’infrastruttura come servizio (infrastructure as a service, o IaaS) ha rivoluzionato lo sviluppo e la gestione di applicazioni e database e grazie ad Amazon Web Services, al giorno d’oggi abbiamo l’opportunità di prendere in considerazione un tipo di approccio lavorativo che fa della versatilità il suo punto di forza.

Nell’articolo di oggi parleremo di:

Perché i database cloud native sono importanti?

Un database cloud native è una tipologia di servizio usato per sviluppare, distribuire e rilasciare applicazioni attraverso una piattaforma cloud.

I database cloud native sono importanti perché offrono la possibilità di immagazzinare e gestire i dati direttamente all’interno del cloud, in completa autonomia e senza dover ricorrere a piattaforme esterne.

Questo concetto può essere riassunto in cinque punti:

1. Maggior sicurezza

I database cloud native su AWS offrono un alto livello di sicurezza in termini di crittografia dei dati, affidandosi ai protocolli più rigidi in materia a livello globale.

Inoltre, per sicurezza si intende anche la capacità di avere sempre accesso ai dati in qualunque momento sfruttando la rete di infrastrutture Amazon Web Services disponibile a livello globale.

2. Immagazzinare ampie quantità di dati

Il cloud AWS, per sua stessa natura, si basa su tecnologie serverless, ossia piattaforme prive (per l’utente finale) di un datacenter fisico. Questo significa che un database cloud native ha capacità di archiviazione dati virtualmente infinite, perché non si sarà limitati dalla capienza di uno o più server fisici.

3. Migliore interazione tra servizi diversi

I servizi Amazon Web Service sono pensati per coesistere in maniera omogenea all’interno di una piattaforma cloud, offrendo la possibilità di integrare automaticamente e con facilità strumenti diversi all’interno della stessa infrastruttura.

4. Costi ridotti

Rispetto ad altre offerte, le soluzioni di database cloud native di Amazon Web Services sono pensate per abbattere i costi di utilizzo e di manutenzione adottando un modello pay per use.

Ciò si traduce in una maggiore flessibilità per l’utente finale, perché consente di pagare solo per l’effettivo utilizzo dei vari servizi AWS, in questo caso delle dimensioni “fisiche” del database.

5. Ridondanza delle risorse

Grazie al cloud computing è sempre possibile ad accedere a copie di backup dell’intera infrastruttura presente all’interno del cloud AWS.

Questo significa una più facile manutenzione dei dati o il ristoro di una precedente iterazione di un servizio (applicazione, sito web, database e via discorrendo) minimizzando i tempi di attesa e le interruzioni del servizio stesso.

La migrazione verso tecnologie cloud native ha decisamente alterato l’approccio che le aziende hanno nei confronti dello sviluppo e nella gestione di database e applicazioni.

In passato, l’operatività aziendale era spesso limitata dalla sua infrastruttura interna.

Dovendo fare affidamento esclusivamente sui server presenti in loco, si andava spesso incontro a problematiche relative alla limitata capienza fisica dei server e alla costante interruzione del servizio ogni qualvolta si rendeva necessario effettuare modifiche o manutenzione all’intera infrastruttura.

Questo poteva essere considerato accettabile o, per meglio dire, comprensibile in passato a causa delle sopracitate motivazioni, ma al giorno d’oggi le tecnologie cloud native AWS sono in grado di rimuovere ogni ostacolo che possa inficiare l’operatività di qualsiasi azienda.

Come innovare e far crescere il tuo business con AWS

Quali sono i vantaggi di un database cloud native?

Un database gestito da un servizio di cloud computing AWS offre un metodo di lavoro in grado di configurare, operare, gestire e scalare il database stesso senza la necessità di dover ricorrere a infrastrutture hardware fisiche, perché tutto avviene direttamente all’interno del cloud AWS, in maniera serverless.

Vi sono molteplici ragioni per considerare una piattaforma cloud native come valida alternativa per le proprie esigenze, e grazie al cloud AWS hai 4 ottimi motivi per farlo:

  1. Possibilità di scegliere il motore dedicato preferito
    All’interno del suo portfolio, AWS offre oltre 15 motori dedicati per supportare diversi modelli di dati, tra cui i più comuni database relazionali e i contenitori di dati.
  2. Eseguire database totalmente gestiti
    Attività lavorative come il provisioning dei server, lo sviluppo e l’applicazione di patch o la creazione di backup sono soltanto alcuni dei processi che è possibile automatizzare. Tutto ciò consente di occuparsi liberamente allo sviluppo di applicazioni o altre attività lasciando ad AWS l’onere di gestire l’aspetto operativo del database.
  3. Ottenere prestazioni e scalabilità
    La flessibilità nell’accesso alle risorse si traduce nella possibilità di scalare le operazioni in maniera dinamica a seconda delle necessità, ottimizzando non solo i costi di utilizzo (si paga solo per ciò che effettivamente si usa) ma si può ottenere anche un aumento delle prestazioni di calcolo fino a 5 volte superiori rispetto ad altre soluzioni di database relazionali.
  4. Fare affidamento sulla totale sicurezza e la continua disponibilità
    AWS si fregia di offrire ai propri partner e ai propri clienti una piattaforma in grado di essere sempre online ed essere sempre accessibile da qualunque parte del mondo e mediante l’impiego di qualsiasi dispositivo (computer o smartphone/tablet), affidandosi ai protocolli di sicurezza più rigidi al mondo in ambito di crittografia dei dati.

Modernizzare l’infrastruttura della propria azienda scegliendo di migrare sul cloud AWS è inoltre estremamente facile e veloce, grazie ai numerosi servizi messi a disposizione da Amazon Web Services.

In ambito di database relazionali, uno dei servizi più adatti a tale scopo è sicuramente Amazon Aurora, il quale si presta ad una svariata serie di applicazioni, tra cui alcune molto importanti come ad esempio attività di CRM e di eCommerce.

Amazon Aurora, il database commerciale ad un decimo del costo

Amazon Aurora nasce come database relazionale compatibile in maniera nativa con protocolli MySQL e PostgreSQL ed è pensato per unire le prestazioni e la disponibilità dei database commerciali con la semplicità di utilizzo e i costi ridotti della filosofia pay per use adottata da Amazon Web Services, pagando solo per ciò che si usa.

La versatilità di Amazon Aurora può essere riassunta nei seguenti punti:

  1. Elevate prestazioni e scalabilità
    Con Amazon Aurora si possono ottenere fino a 5 volte le prestazioni di MySQL e fino a 3 volte le prestazioni di PostgreSQL, equiparabili ai database commerciali, ma ad un decimo del costo.La scalabilità garantisce la possibilità di adottare un approccio flessibile alla gestione del database, espandendone o riducendone l’allocazione di risorse solo se strettamente necessario
  2. Disponibilità e durabilità elevate
    Integrandosi facilmente con altri servizi AWS come ad esempio Amazon S3, è possibile assicurarsi una erogazione del servizio pressoché ininterrotta, grazie alle numerose zone di disponibilità a livello globale e alla tecnologia cloud AWS che ne garantisce sempre l’accesso ai dati.
  3. Massima sicurezza
    Amazon Aurora utilizza le funzionalità offerte da altri servizi AWS come Amazon VPC e Amazon Key Management Service (abbreviato in Amazon KMS) rispettivamente per l’isolamento di rete e la crittografia dei dati.Tutti i dati degli utenti in transito o in “giacenza” all’interno di Amazon Aurora sono sempre crittografati e lo stesso discorso vale per l’intera infrastruttura del database, come ad esempio i backup.
  4. Compatibilità con MySQL e PostgreSQL
    Amazon Aurora è compatibile al 100% con i protocolli MySQL e PostgreSQL, rendendo estremamente facile la migrazione di un database esterno basato su questi sistemi verso la piattaforma cloud AWS.Inoltre, vi è un supporto nativo per l’intera infrastruttura, tra cui il codice sorgente, minimizzando la necessità di apportare modifiche al database durante la fase di migrazione.
  5. Completamente gestito
    La gestione di Amazon Aurora avviene tramite Amazon Relational Database Service (abbreviato in Amazon RDS). Questo significa che attività come il provisioning del database, così come la configurazione e il monitoraggio dell’infrastruttura vengono gestite (e, di conseguenza, automatizzate) direttamente da Amazon RDS.Inoltre, con Amazon S3 vengono automatizzate anche tutte le attività di backup e ripristino del sistema in caso di necessità.
  6. Supporto per la migrazione
    Come appena accennato, Amazon Aurora è totalmente compatibile con MySQL e PostgreSQL, e la migrazione di un database sul cloud AWS è estremamente facile e veloce.
    A tale scopo, AWS mette a disposizione Amazon Database Migration Service (abbreviato in Amazon DMS), un servizio pensato appositamente per eseguire materialmente la migrazione, riducendo i tempi di inattività senza trascurare l’aspetto della sicurezza.

Approfondendo quanto appena visto nell’ultimo punto in merito ad Amazon DMS, possiamo inoltre aggiungere che si tratta di un servizio non soltanto estremamente versatile come vedremo tra poco, ma anche conveniente.

Per i primi sei mesi di utilizzo, Amazon Database Migration Service è infatti gratuito e, per i futuri utilizzi, i costi rimangono comunque bassi; la migrazione verso il cloud AWS di un database dalle dimensioni superiori ad alcuni terabyte è di appena $3 dollari, ad esempio.

Inoltre, la versatilità di Amazon DMS è riscontrabile anche nei casi di utilizzo.

Fondamentalmente, Amazon Database Migration Service si suddivide in due tipologie di applicazioni: migrazioni di database omogenei e migrazione di database eterogenei, ma cosa significa?

Migrazioni di database omogenei

Quando si parla di migrazioni di database omogenei, generalmente il motore di database di origine e quello di destinazione sono pressoché identici, o quantomeno compatibili.

Per fare un esempio, si può considerare il motore di origine come MySQL e la sua controparte di destinazione come Amazon Aurora.

Trattandosi di sistemi compatibili, la migrazione da MySQL ad Amazon Aurora è talmente semplice da richiedere un singolo click di un pulsante, a tutto il resto penserà Amazon DMS.

Migrazioni di database eterogenei

Quando si parla di migrazioni di database eterogenei, invece, come suggerisce il nome si tratta di un processo di migrazione durante il quale i motori di database di origine e di destinazione differiscono tra loro.

Tuttavia, il processo non è affatto più laborioso di quanto lo sia durante una migrazione di database omogenei, perché il numero di fasi richieste si incrementa soltanto di uno per un totale di due.

Nella prima fase, ci si affida ad Amazon Schema Conversion Tool, (abbreviato in Amazon SCT), il quale si occuperà di convertire il codice sorgente del motore di database di origine in un formato compatibile con il motore di database di destinazione.

Nella seconda fase, il processo è identico alle migrazioni di database omogenei, ossia basta premere un pulsante e lasciare che sia Amazon DMS ad occuparsi di tutto.

In entrambi i casi, come è possibile vedere, l’intero processo può essere portato a termine in pochi minuti (in base alla quantità di dati che bisogna convertire e migrare) e grazie ad Amazon DMS vengono meno tutti i grattacapi e le possibili problematiche di un’operazione di questo tipo.

Come rendere il database più efficiente con Flowing

Come abbiamo detto in precedenza, lo sviluppo di un database cloud native consiste nel considerare fin dal principio quali saranno gli strumenti e i servizi più adatti per svolgere determinate attività e migliorarne le prestazioni.

Rispetto alle tecnologie cloud, sui sistemi tradizionali l’eventuale necessità di integrare future applicazioni o espanderne le funzionalità può risultare un processo estremamente laborioso, perché le suddette non sono pensate per tale scopo.

È ovviamente possibile, ma al tempo stesso poco conveniente tanto in termini di risorse quanto in termini di tempistiche.

In questo caso, il vantaggio principale di usare una piattaforma come il cloud AWS è dato dalla flessibilità con cui è possibile accedere all’intera infrastruttura del database, rendendone facile la manutenzione e la gestione.

La gestione di un database per scopi finanziari

Per spiegare meglio questo concetto di ottimizzazione, possiamo parlare brevemente del progetto “Scouting: market intelligence per le banche territoriali” al quale noi di Flowing abbiamo lavorato in passato.

Collaborando con una nota società di consulenza finanziaria italiana, il nostro compito è stato quello di realizzare un sistema in grado di gestire autonomamente una banca dati fornendo ai loro clienti una piattaforma agile, efficace e semplice da usare.

Grazie alle opportunità offerte da un sistema cloud native, l’applicazione pensata per realizzare questo progetto è stata concepita fin dal primo momento con l’idea di realizzare una piattaforma pensata per essere facilmente aggiornata ed ampliata in futuro, in caso di necessità.

Attraverso un modello di database MySQL, l’applicazione è in grado di gestire i dati di oltre 600.000 aziende presenti all’interno di questa piattaforma, eseguendo ricerche ed effettuando dati in tempo reale, il tutto tenendo conto di 17 possibili filtri di ricerca diversi.

Il cloud native come piattaforma di gestione industriale da remoto

Un’altra applicazione delle tecnologie cloud native AWS di cui possiamo parlare riguarda un secondo progetto al quale noi di Flowing abbiamo lavorato, pensato per la gestione di macchinari industriali da remoto.

Con oltre 4.000 tra dipendenti e macchinari distribuiti in 3 grandi poli produttivi in tutto il mondo, questo noto brand ha avuto la necessità di ottimizzare e snellire il processo di monitoraggio e gestione dei macchinari, optando per una soluzione da remoto.

Così facendo, ciascun macchinario è costantemente collegato ad una piattaforma cloud ed è in grado di inviare informazioni sul proprio stato operativo e fornire eventuali codici di errore per pianificare una manutenzione ordinaria o straordinaria attraverso un sistema di diagnostica automatico.

Come facilmente intuibile, una piattaforma cloud, per questa tipologia di utilizzo, è sicuramente la soluzione ideale, perché consente di:

  • Migliorare la pianificazione e l’utilizzo delle risorse, ottimizzando e rendendo più efficace l’attività di monitoraggio
  • Intervenire con un approccio proattivo alla manutenzione dei macchinari, pianificandone automaticamente l’attività
  • Intercettare più rapidamente eventuali problematiche (come ad esempio i guasti) potendo agire più tempestivamente in caso di problemi inaspettati, riducendo non soltanto le tempistiche necessarie per eventuali riparazioni, ma anche e soprattutto riducendo i tempi di inattività

In questo, avere a disposizione una piattaforma cloud native è stato essenziale, perché consente di avere accesso 24/7 all’interfaccia di ogni singolo terminale (in questo caso, per terminali intendiamo ovviamente i macchinari).

Conosciuta come Industria 4.0, questa pratica di automatizzazione e interconnessione applicata alla produzione industriale sta diventando sempre più prevalente in questo settore, perché con la necessità di dover operare centinaia di macchinari (o in questo caso, migliaia), senza un’efficiente soluzione di cloud sarebbe un processo estremamente laborioso e costoso.

Perché conviene migrare il database sul cloud native AWS

Il considerare l’infrastruttura come un servizio (infrastructure as a service, o IaaS) ha rivoluzionato lo sviluppo aziendale.

Grazie ad Amazon Web Services, abbiamo l’opportunità di utilizzare l’infrastruttura a nostra disposizione come parte integrante del processo lavorativo, e non più soltanto come un qualcosa a sostegno dello stesso.

Fino ad oggi, lo sviluppo di applicazioni e la gestione di database avveniva principalmente in loco, integrando queste attività in un ambiente più ampio solo nelle ultime fasi di un progetto.

Con la tecnologia cloud native di AWS, invece, hai la possibilità di modernizzare il tuo intero processo lavorativo e ogni aspetto relativo alla migrazione e alla gestione del tuo database sul cloud AWS.

Se fossi interessato ad approfondire questo argomento e imparare come gestire al meglio un database sul cloud AWS, per il 29 Aprile abbiamo deciso di organizzare il primo evento in presenza nelle Marche completamente gratuito, durante il quale il nostro team di esperti qui a Flowing, Advanced Tier Partner per AWS, sarà a tua completa disposizione per rispondere ad ogni tuo quesito e soddisfare ogni tua curiosità.

Come innovare e far crescere il tuo business con AWS