MongoDB Atlas – creazione di un ambiente cloud per esercitarsi

MongoDB Atlas
La guida completa di come creare un'istanza di MongoDB con il servizio cloud Atlas per esercitarsi con il più potente database NoSQL

Share

Condividi su facebook
Condividi su linkedin
Condividi su twitter
Condividi su email
Tempo di lettura: 7 minuti

In questo articolo si illustrerà come creare e configurare opportunamente un account sul cloud di MongoDB e preparare un ambiente per delle esercitazioni. MongoDB è il database NoSQL documentale che si sta affermando maggiormente negli ultimi anni.
La chiave del suo successo è da ricercarsi nella sua continua evoluzione che lo ha portato ad essere un prodotto versatile per molti campi applicativi, ma sopratutto affidabile.

L’utilizzo dei replica set per avere ridondanza orizzontale, l’introduzione delle transazioni multi-documento e la possibilità di estrarre analisi complesse on fly mediante aggregation pipelines sono solo alcune delle molte funzionalità apprezzate dagli sviluppatori e dagli amministratori di sistema. Per scoprire tutte le sue caratteristiche potete riferirvi sempre alla guida ufficiale che trovate qui.

La flessibilità dei modelli aiuta sia i programmatori che i progettisti nel loro lavoro riducendo nella maggior parte dei casi i tempi di sviluppo di nuove applicazioni o di nuove funzionalità. Se siete curiosi di capire come sfruttare al meglio MongoDB per le vostre applicazioni vi consiglio di leggere il mio libro sull’argomento acquistabile su Amazon al seguente link

Creazione di un account MongoDb Atlas

MongoDB Atlas è il servizio cloud di MongoDB completamente gestito attraverso AWS, Google Cloud e Azure. Garantisce alta disponibilità, scalabilità e conformità ad elevati standard di sicurezza e privacy dei dati mediante un interfaccia web molto semplice ed intuitiva.

Un punto di forza di questo servizio è la possibilità di avere un piano completamente gratuito con cui testare le proprie applicazioni o semplicemente esercitarsi nell’uso di MongoDB. Questo piano fornisce, infatti, un’installazione di MongoDB in replica set con 512 MB di storage. Per maggiori dettagli sui prezzi vi rimandiamo al sito ufficale

In questo tutorial useremo MongoDB Atlas proprio per avere un’installazione di MongoDB pronta all’uso per esercitarsi senza dover configurare la propria postazione. Inoltre, analizzeremo i database di esempio che vengono forniti insieme all’installazione.

Registrazione su MongoDB Atlas

Per prima cosa bisogna collegarsi al sito di MongoDB e registrarsi per ottenere un account gratuito. Potete usare un account Google o la vostra email. Di seguito la schermata di registrazione.

Schermata 2020-12-05 alle 19.08.34

Una volta registrati dovrete collegarvi al vostro account per configurare opportunamente il cluster. Vediamo di seguito come impostare un cluster completamente gratuito.

Per prima cosa vi verrà chiesto il nome della vostra organizzazione e del vostro progetto. Dovrete indicare anche almeno un linguaggio di programmazione con cui abitualmente sviluppate. Questo servirà per le comunicazioni che MongoDB invierà.

Schermata 2020-12-05 alle 19.10.22

Selezione della tipologia di cluster

A questo punto si è pronti per configurare il cluster. Verranno mostrate le seguenti opzioni. Attenzione a scegliere l’opzione più a destra denominata “Shared Cluster”. Tutte le altre opzioni, come riportato in figura, hanno dei costi che dipende dall’utilizzo orario del cluster. Queste opzioni infatti presentano funzionalità ulteriori rispetto alla versione base. Nel caso del cluster dedicato si ha una macchina dedicata che si può adattare in base alle esigenze ed isolata rispetto alle alle altre macchine. Inoltre è possibile monitorare le performance di MongoDB in realtime. La versione multi-region fornisce la soluzione ideale se l’applicazione che utilizzerà MongoDB dovrà rispondere a richieste provenienti da differenti parti del mondo. Infatti sarà possibile avere copie esatte e sincronizzate del proprio database su diversi cluster sparsi per il mondo. Questo riduce le latenze di rete rendendo l’interazione con il database molto efficiente.

Schermata 2020-12-05 alle 19.10.47

Una volta scelto il piano Shared cluster è necessario definire il servizio cloud che verrà utilizzato e in quale regione verrà creato. I servizi attualmente disponibili sono AWS, Google Cloud e Azure. Per la versione gratuita non vi è molta differenza tra di loro. Tuttavia se scegliete una versione a pagamento questa scelta potrebbe influire sui costi. Una volta scelto il provider del servizio verrà mostrata una lista di regioni disponibili. Per ridurre le latenze di rete e quindi i tempi di risposta il consiglio è di scegliere la regione più vicina al paese in cui vi trovate. Ad esempio se lavorate in Italia e avete scelto AWS,  il suggerimento è scegliere la Germania, mentre se siete in Gran Bretagna l’Irlanda è sicuramente una scelta vincente. 

Ci sono poi altre opzioni che possono essere cambiate. Le impostazioni di default sono quelle impostate per ottenere l’account completamente gratuito.

Il Cluster Tier determina lo spazio a disposizione dei nostri database e le politiche di backup. Ogni soluzione ha un costo mensile. 

Gli Additional Settings servono per definire la versione di MongoDB installata e alcune altre opzioni da configurare nel caso di server dedicati.

Il Cluster Name è il nome che verrà utilizzato per le connessioni.

Schermata 2020-12-05 alle 19.11.38

A questo punto il cluster verrà creato. Ci vorrà qualche minuto affinché tutte le impostazioni siano implementate. La schermata seguente è quella che verrà visualizzata appena finita la parte di configurazione.

Schermata 2020-12-05 alle 19.12.00

Configurazione del cluster

A questo punto è possibile seguire i suggerimenti che MongoDB Atlas suggerisce. E’ necessario creare per prima cosa un utente per accedere al database. Per farlo o si clicca sul suggerimento del tutorial oppure si va alla voce del menù laterale “Database Access” sotto la voce SECURITY. Dal momento che nessun utente viene creato di default la schermata che verrà visualizzata sarà la seguente.

Schermata 2020-12-05 alle 19.12.37

Questa schermata sarà utile anche in futuro per gestire opportunamente tutti gli utenti e i loro permessi che potranno accedere al database. Cliccando sul pulsante verde “Add New Database User” ci verrà mostrata una schermata per impostare le credenziali di accesso del nuovo utente. 

Per prima cosa dobbiamo definire il metodo di autenticazione. In base al metodo di autenticazione verranno richieste informazioni diverse. 

Con il metodo password viene richiesto il nome utente e la password. E’ possibile autogenerare la password affinché sia sicura. Differentemente con il certificato bisogna specificare oltre al nome utente se il certificato verrà automaticamente scaricato quando l’utente sarà creato e la scadenza dello stesso. Infine con il metodo IAM (Identity and Access Management) basato sul provider del servizio (nell’esempio AWS) vengono richieste le informazioni per identificare opportunamente l’utente.

Le altre informazioni che vengono richieste sono i privilegi dell’utente. Di default viene selezionato la possibilità di leggere e scrivere su tutti i database. Le altre opzioni sotto la categoria Built-in Roles sono Atlas admin e Read only. E’ possibile ovviamente specificare i ruoli dell’utente per ciascuna collezione di ogni database. I ruoli disponibili e la loro descrizione la trovate nel dettaglio sulla guida ufficiale.

Infine è possibile limitare l’accesso a specifici cluster o data lakes e definire se l’utente è temporaneo. Un utente temporaneo verrà automaticamente cancellato dal sistema allo scadere del tempo definito. I valori possibili sono 6 ore, 1 giorno e 1 settimana.

Una volta impostato l’utente troveremo le informazioni base nella schermata del Database Access. Qui si potrà modificare le informazioni relative all’utente, cancellarlo o aggiungere nuovi utenti.

Schermata 2020-12-05 alle 19.14.16

A questo punto è necessario configurare l’accesso da remoto. Diversamente il database sarà accessibile solo mediante l’interfaccia web del sito MongoDB Atlas. Dalla schermata riportata qui sotto bisogna cliccare sul pulsante “Add IP Address” per iniziare la configurazione.

Schermata 2020-12-05 alle 19.14.33

A questo punto si aprirà un popup come mostrato nella figura sottostante. E’ possibile inserire l’attuale indirizzo IP da cui siete collegati o impostare uno o più indirizzi che sono ritenuti sicuri. Se non si vuole limitare l’accesso in base all’indirizzo IP, scelta consigliata per esercitarvi con MongoDB o per testare le vostre applicazioni, potete inserire nel campo Access List Entry 0.0.0.0/0. In questo modo chiunque abbia le credenziali d’accesso potrà collegarsi al vostro cluster. Infine potete rendere questa configurazione di connessione temporanea esplicitando il tempo per cui sarà attiva.

Schermata 2020-12-05 alle 19.14.52

Adesso il cluster è configurato per essere usato. Se vedete un messaggio su sfondo azzurro in alto vuol dire che le modifiche sono in fase di elaborazione. Attendete qualche minuto finché il messaggio non scompare per procedere all’utilizzo dell’installazione di MongoDB.

Caricamento dei database di esempio

Una volta che il cluster è correttamente configurato potete procedere con il caricamento dei database di esempio. Per farlo bisogna cliccare sull’icona … per aprire il menù e selezionare Load Sample Dataset come mostrato nella figura qui sotto.

Schermata 2020-12-05 alle 19.16.41

Vi verrà mostrata un popup per confermare il caricamento dei dataset di esempio. Questo andrà occupare gran parte dello spazio a disposizione ossia circa 350 MB. Quindi caricatelo se avete intenzione di esercitarvi con MongoDB per comprendere tutte le sue potenzialità. Se invece l’installazione gratuita vi serve per sviluppare un prototipo della vostra applicazione, evitate di sovraccaricare il sistema con questi dati. Per confermare il caricamento basta cliccare sul pulsante Load Sample Dataset. La procedura inizierà immediatamente e richiederà solamente qualche minuto.

Schermata 2020-12-05 alle 19.16.49

A questo punto potete visualizzare i database e le loro collezioni selezionando sul pulsante COLLECTIONS che trovate a sinistra nella schermata riepilogativa del cluster. La schermata che vi si presenterà è molto simile a quella di MongoDB Compass, il tool standalone che permette di gestire i database. Le funzionalità sono però leggermente diverse dal suo fratello desktop-based. Ad esempio è possibile effettuare query di filtraggio sui dati, ma mancano attualmente le proiezioni, il sort e le limitazioni del result set (limit e skip). E’ comunque uno strumento molto utile per visualizzare velocemente le collezioni appena caricate,  gestire gli indici e definire regole per la validazione dei documenti.

Schermata 2020-12-07 alle 16.55.14

E’ possibile anche visualizzare alcune metriche relative a MongoDB con dei grafici. Cliccando sul menù Metrics viene visualizzata la schermata riportata di seguito. Le misure disponibili nella versione gratuita sono:

  • Network
  • Connections
  • Logical Size
  • Opcounters

 

Schermata 2020-12-07 alle 16.56.16

Tornando alle collezioni di esempio trovate la lista completa nella tabella di seguito. E’ riportato anche il link alla pagina del dettaglio di ciascun database che descrive la struttura dei documenti di ciascuna collezione.

NomeDescrizione
sample_airbnbContiene i dettagli di alcune proprietà pubblicate sul sito AirBnB.
sample_analyticsContiene dati di servizi finanziari di esempio.
sample_geospatialContiene le informazioni geografiche di alcuni relitti di barche.
sample_mflixContiene informazioni immagazzinate da un applicazione per la raccolta delle schede dei film con relative recensioni da parte del pubblico e la lista dei cinema negli USA.
sample_restaurantsContiene informazioni le schede di alcuni ristoranti in USA con relativa posizione geografica.
sample_suppliesContiene i dati di un possibile negozio di forniture per ufficio.
sample_trainingContiene alcuni dati dei servizi di formazione forniti da MongoDB come le valutazione dei test e degli esami degli utenti.
sample_weatherdataContiene alcune previsioni del tempo relative agli USA.

Letture consigliate

More To Explore

Docker compose
Docker

Docker compose – come orchestrare diversi container

L’avvento dell’architettura a microservizi e della metodologia DevOps ha creato la necessità di virtualizzazione a livello di sistema operativo. Mediante Docker Compose possiamo creare applicazioni anche molto complesse basate sui container e gestire le interdipendenze. Scopriamo mediante un esempio basato su Wordpress come fare.

Architettura Docker
Docker

Introduzione a Docker

Le tecnologie Docker, basata sui container, viene adottata in ogni fase del ciclo di vita delle applicazioni. Andiamo a scoprire i concetti base di questa tecnologia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Progetta con MongoDB!!!

Acquista il nuovo libro che ti aiuterà a usare correttamente MongoDB per le tue applicazioni. Disponibile ora su Amazon!

Design with MongoDB

Design with MongoDB!!!

Buy the new book that will help you to use MongoDB correctly for your applications. Available now on Amazon!