Ottimizzazione

MongoDB Atlas autoscaling cost optimization

Introduzione:

MongoDB Atlas è un servizio di database cloud completamente gestito che offre una soluzione affidabile e scalabile per l’archiviazione e la gestione dei dati. In questo articolo, esploreremo le potenzialità di MongoDB Atlas e forniremo una panoramica dei comandi da linea di comando (CLI) che possono essere utilizzati per interagire con il servizio. Si discuterà ad alto livello (con piccoli esempi) su come poter ottimizzare i costi legati all’ autoscaling abbattendo drasticamente i costi e mantenendo le performance altissime.

Per richiedere una consulenza completa su come realizzare la sovrascrittura completa dell’ autoscaling risparmiando più del 50% in fattura da subito vai nell’area contattaci e descrivi le tue esigenze

Installazione della CLI Atlas

Documentazione ufficiale

MacOs

Installare il gestore di pacchetti per macOs (nel caso sia già presente andare allo step successivo)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brew install mongodb-atlas-cli

Linux (Debian)

Per installare la CLI di Atlas utilizzando Apt, è necessario installare gnupg:

sudo apt-get install gnupg

Rinomina 6.0 con la versione di MongoDB
wget -qO - https://pgp.mongodb.com/server-6.0.asc | sudo apt-key add -
Creare il file /etc/apt/sources.list.d/mongodb-org-6.0.list

echo "deb http://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

Aggiornare il database dei pacchetti
sudo apt-get update

Installare la CLI di Atlas e mongosh

sudo apt-get install -y mongodb-atlas
sudo apt-get install -y mongodb-atlas-cli

Linux (Alpine-Linux)

Comandi utili all’installazione della cli su immagine docker Alpine Linux

apk add wget
wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 &&
mv jq-linux64 /usr/local/bin/jq &&
chmod +x /usr/local/bin/jq
apk add dpkg
apk add --no-cache make
apk add --no-cache libc6-compat
apk add --no-cache --virtual .build-deps bash gcc musl-dev openssl go
wget -c https://fastdl.mongodb.org/mongocli/mongodb-atlas-cli_1.8.0_linux_x86_64.tar.gz && tar -xzf mongodb-atlas-cli_1.8.0_linux_x86_64.tar.gz
ls -la mongodb-atlas-cli_1.8.0_linux_x86_64
chmod +x ./mongodb-atlas-cli_1.8.0_linux_x86_64/bin/atlas
# cp ./mongodb-atlas-cli_1.8.0_linux_x86_64/bin/atlas /usr/local/bin
# chmod +x /usr/local/bin/atlas
alias atlas="./mongodb-atlas-cli_1.8.0_linux_x86_64/bin/atlas"
atlas --version

Windows

Per installare la CLI di Atlas utilizzando Chocolatey, è necessario eseguire le seguenti operazioni:

Assicurarsi che il sistema soddisfi i requisiti per l’installazione di Chocolatey.
Installare Chocolatey usando cmd.exe o PowerShell.exe.

choco install mongodb-atlas

Creazione di un cluster:

Il primo passo per utilizzare MongoDB Atlas è creare un cluster. Utilizzando la CLI, è possibile eseguire il seguente comando per creare un cluster:

atlas clusters create --name myCluster --region <region> --provider <cloudProvider> --tier <clusterTier> --diskSizeGB <diskSize>

Dove <region> rappresenta la regione geografica desiderata, <cloudProvider> indica il provider cloud (ad esempio AWS, GCP, Azure), <clusterTier> definisce la dimensione e le prestazioni del cluster e <diskSize> rappresenta la dimensione del disco in GB.

Gestione dell’accesso al cluster:
Una volta creato il cluster, è possibile configurare l’accesso. Utilizzando la CLI, è possibile aggiungere un indirizzo IP di accesso e un utente per il cluster con il seguente comando:

atlas clusters update accessList --projectId <projectId> --clusterName <clusterName> --ipAddress <ipAddress> --username <username>

Dove <projectId> rappresenta l’ID del progetto, <clusterName> è il nome del cluster, <ipAddress> è l’indirizzo IP consentito e <username> indica il nome utente desiderato.

Backup e ripristino dei dati:

MongoDB Atlas offre funzionalità di backup e ripristino dei dati per garantire la sicurezza dei dati. Utilizzando la CLI, è possibile pianificare e gestire i backup con il seguente comando:

atlas backups create --clusterName <clusterName> --type <backupType> --snapshot <snapshotType> --retainFor <retentionPeriod>

Dove <clusterName> è il nome del cluster, <backupType> indica il tipo di backup (ad esempio on-demand o scheduled), <snapshotType> rappresenta il tipo di snapshot (ad esempio cloud o local), e <retentionPeriod> definisce il periodo di conservazione del backup.

Monitoraggio delle prestazioni:

MongoDB Atlas fornisce strumenti di monitoraggio per valutare le prestazioni del cluster. Utilizzando la CLI, è possibile ottenere informazioni sulle prestazioni con il seguente comando:

atlas performanceAdvisor list --projectId <projectId> --clusterName <clusterName>

Dove <projectId> rappresenta l’ID del progetto e <clusterName> è il nome del cluster di cui si desidera ottenere informazioni sulle prestazioni.

 

Strategia di ottimizzazione dei costi legati all’autoscaling:

Eseguire l’accesso alle API in modo programmatico attraverso la cli utilizzando le apiKeys di MongoDB Atlas. A partire dalla configurazione presente nel file “conf/cluster.config.json” vengono estratte le informazioni relative al nodo primary /algoritmo selezionato per l’ottimizzazione etc..

Una volta collezionate le metriche in realtime si richiama il motore di analisi delle metriche cpu/ram (presenti attualmente; funzionamento estendibile facilmente con spazio su disco utilizzato e connessioni attive). A seconda dell’approccio selezionato si confrontano queste metriche con le soglie e si procede con lo scale down del cluster.
Per avere risultati ottimali si confrontano le soglie sia con la media delle metriche che con la media pesata su base temporale.
Internamente viene decisa l’ instance type migliore per il cluster su cui fare lo scale-down evitando di avere scaledown/scaleup successivi.

 

Conclusioni:

MongoDB Atlas offre una soluzione affidabile e scalabile per la gestione dei dati nel cloud. Utilizzando la CLI, è possibile eseguire una varietà di comandi per creare, configurare e monitorare i cluster. Sfruttando le potenzialità di MongoDB Atlas, le organizzazioni possono beneficiare di una gestione semplificata dei dati e di prestazioni elevate. I costi nell’utilizzo del cloud rimangono tuttavia un problema che bisogna tenere d’occhio.

Utilizza il nostro ottimizzatore richiedi maggiori informazioni qui

A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart.

Play Video

Introduction Video — 30 seconds