Amazon Aurora: perché usarlo
Published: 2023-10-03 14:26:49

---
title: Amazon Aurora: perché usarlo
published: true
date: 2022-11-24 00:00:00 UTC
tags: 
canonical_url: 
---

AWS offre diversi servizi di DaaS (Database-as-a-Service): Amazon Aurora è uno di questi.

Cosa c’è di diverso rispetto ad Amazon RDS?

In questo articolo, vediamo cosa cambia nel sistema di storage e nelle sue proprietà serverless.

# Cosa vedrai

- [Amazon Aurora](#amazon-aurora)
- [Storage](#storage)
- [Serverless o provisioned](#serverless-o-provisioned)
- [Costi](#costi)
- [Limiti](#limiti)
- [Risorse utili](#risorse-utili)

# Amazon Aurora

Amazon Aurora è un servizio definito _database-as-a-service_ fully-managed: questo significa che è gestito in tutto e per tutto da AWS per ciò che concerne **monitoraggio, scaling e storage** , con piena compatibilità MySQL e PostgreSQL.

# Storage

Aurora sfrutta uno storage distribuito: questo vuol dire sfruttare l’infrastruttura di AWS per spremere ogni bit di disponibilità e prestazioni.

- Non è necessario eseguire il provisioning dello spazio di archiviazione, perché si ridimensiona automaticamente.
- Replicazione automatica dei dati su più zone di disponibilità.
- Backup continuo su Amazon S3.
- Disponibilità superiore al 99,99%.
- Failover dell’istanza in meno di 30 secondi.
- Possibilità di ripristino tramite _point-in-time_.

# Serverless o provisioned

Aurora offre due modalità: **provisioned** , quindi quanto ci si aspetta da un database SQL dove a noi tocca decidere_la dimensione delle istanze_ oltre che averne _in carico la gestione_, oppure **serverless** , modalità con cui stabiliamo il valore minimo e massimo delle risorse da utilizzare e poi sarà Aurora a scalare a seconda del carico di lavoro.

In questo caso, non è richiesto di specificare una dimensione di classe di istanza. Ogni volta che diciamo “serverless”, puoi pensare di _ridimensionare a zero_ il tuo cluster: questo significa che il servizio si fermerà automaticamente dopo non aver ricevuto alcuna richiesta per un po’ di tempo.

Naturalmente questa è una modalità di configurazione che è possibile attuare, anche se difficilmente verrà utilizzata in un ambiente di produzione!

# Costi

Il prezzo di Aurora viene calcolato per ogni ora di istanza del database consumata. Quindi, se vuoi risparmiare un po’ di soldi -e perché no-, puoi prendere in considerazione l’acquisto di un’istanza riservata, con un contratto di 1 o 3 anni.

Ma la vera domanda è: quanti soldi risparmio con Aurora invece di configurare un sistema di database distribuito a livello globale? La realtà è che ci vorrebbero <ins>centinaia di ore di progettazione per lo sviluppo
e la manutenzione.</ins>

Senza tenere conto che se decidessi di cambiare servizio e passare ad un sistema open source, è sempre possibile esportare i dati e spostarli in un database compatibile, come Postgres o MySQL.

# Limiti

Aurora Postgres è solo Postgres: questo vuol dire che funziona con qualsiasi software compatibile con Postgres. In termini di scalabilità, i suoi [vincoli di archiviazione](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.FileSize.Aurora) (ad es. tabelle fino a 32 terabyte) e i [vincoli di rete](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html) sono così alti che probabilmente non li raggiungerai mai.

Esistono alcuni limiti legati alle versioni compatibili con MySQL e Postgres, ma nulla di cui preoccuparsi!

# Risorse utili

- [Documentazione ufficiale](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
- [Basi di Dati](https://amzn.to/3ABUix3)