MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Il modo migliore per ospitare MongoDB su DigitalOcean

MongoDB è il database open source n. 3 e il database NoSQL n. 1 al mondo. È un database multipiattaforma orientato ai documenti che utilizza documenti simili a JSON con schema e viene ampiamente sfruttato dalle app di avvio fino alle aziende di livello aziendale che sviluppano app moderne. Sebbene si possa presumere che la grande maggioranza delle distribuzioni di database cloud venga eseguita su AWS, Azure o Google Cloud Platform, in particolare le piccole e medie imprese gravitano verso il fornitore di servizi cloud a misura di sviluppatore, DigitalOcean, per il loro hosting per MongoDB® necessità. In questo post, ti illustreremo il modo migliore per ospitare MongoDB su DigitalOcean, inclusi i migliori tipi di istanza da utilizzare, tipi di dischi, strategia di replica e provider di servizi gestiti.

Vantaggi DigitalOcean per MongoDB

Quindi, cosa rende DigitalOcean un'alternativa convincente ad altri popolari provider di hosting MongoDB come AWS e Azure? Come accennato in precedenza, DigitalOcean è estremamente intuitivo per gli sviluppatori grazie alla sua piattaforma semplice e di facile comprensione:non è necessario ottenere la certificazione tramite questo provider di servizi cloud per essere in grado di far funzionare la distribuzione in tutta sicurezza. Offrono anche hosting cloud basato su SSD con prezzi semplici a partire da soli $ 5 al mese, il che lo rende ideale (e conveniente) per gli sviluppatori per creare, testare e distribuire le loro nuove applicazioni senza problemi nel cloud. La cosa più impressionante è che non stai compromettendo le prestazioni per i costi. Abbiamo eseguito test delle prestazioni per MongoDB su DigitalOcean rispetto a AWS rispetto ad Azure e abbiamo riscontrato che le prestazioni di DigitalOcean erano in linea, se non migliori, sia in termini di velocità effettiva elevata che di bassa latenza nella distribuzione.

Gocce DigitalOcean

DigitalOcean è specializzato in macchine virtuali basate su SSD chiamate Droplet suddivise in quattro semplici categorie. Il Droplet più semplice è la loro istanza Standard che utilizza CPU condivisa a partire da soli $ 5 al mese. Sebbene siano adeguati per applicazioni a basso traffico, database di piccole dimensioni e ambienti di sviluppo/test, consigliamo di non sfruttare i cluster condivisi per le distribuzioni di produzione MongoDB. Offrono anche un droplet ottimizzato per la CPU dedicato che è sufficiente per carichi di lavoro ad alta intensità di CPU, ma offre poca memoria che non è l'ideale per l'hosting MongoDB.

Se stai distribuendo un carico di lavoro MongoDB di medie dimensioni, ti consigliamo il loro droplet per uso generico più popolare, che è un'istanza dedicata che offre 4 GB di memoria per ciascuna vCPU. Questo è in genere più che adeguato per le implementazioni di produzione e le applicazioni ad alto traffico e parte da $ 60 al mese per 8 GB di memoria, 2 vCPU, 4 TB di trasferimento e 25 GB di spazio su disco SSD. DigitalOcean ha anche lanciato di recente i suoi Droplet ottimizzati per la memoria, istanze dedicate progettate per applicazioni ad alta intensità di RAM e database ad alte prestazioni, rendendole una soluzione interessante per applicazioni MongoDB con carichi di lavoro pesanti.

Puoi distribuire MongoDB su DigitalOcean in 12 regioni di data center in tutto il mondo, inclusi Stati Uniti (New York e San Francisco), Canada, Paesi Bassi, Singapore e Regno Unito , Germania e India.

Tipi di dischi DigitalOcean

Uno dei motivi per cui MongoDB si comporta così bene su DigitalOcean è a causa dei suoi dischi SSD, ideali per le implementazioni di database cloud. Forniscono un'elevata velocità effettiva che offre vantaggi significativi per l'esecuzione di un indice sul database o la riparazione di una macchina, risparmiando una notevole quantità di tempo rispetto a una distribuzione MongoDB standard su AWS. Offrono persino una latenza sorprendentemente bassa da Amazon AWS Stati Uniti orientali al data center DigitalOcean di New York, il che è ottimo per le applicazioni che sono in prima fila sul livello intermedio su AWS, ma vorrebbero utilizzare DigitalOcean per i loro cluster MongoDB.

Strategie di replica MongoDB

Se esegui MongoDB su DigitalOcean in produzione, è consigliabile distribuire utilizzando un set di repliche per garantire disponibilità elevata e ridondanza dei dati per i tuoi cluster. DigitalOcean, insieme ad AWS e Azure, offre uno SLA di uptime del 99,99%, ma sebbene sembri quasi perfetto, quello 0,01% equivale a 52,6 minuti di downtime in un anno. È quasi un'ora in cui il tuo database diventa inaccessibile ai tuoi clienti, visitatori e dipendenti, il che può avere un impatto significativo sulla fidelizzazione dei clienti e sulla reputazione del marchio.

Set di repliche MongoDB

Fortunatamente, puoi ridurre notevolmente il rischio che la tua distribuzione vada in crash con la perdita di un data center impostando un set di repliche a 3 nodi geograficamente distribuito per MongoDB su DigitalOcean. Ci sono un paio di opzioni per impostare questa configurazione, la prima è una configurazione Primario-Secondario-Arbitro che fornisce 2 nodi portatori di dati e un arbitro che funge da membro votante per determinare quale replica dovrebbe prendere il sopravvento nel caso in cui uno diventi non disponibile . Questa è l'opzione più conveniente in quanto l'arbitro non contiene dati e costa meno da distribuire, ma offre anche 1 nodo in meno che può subentrare in un evento di failover. La strategia di replica ottimale sarebbe una configurazione Primario-Secondario-Secondario che sfrutta 3 nodi di supporto dei dati e consente di eseguire il failover su 2 data center separati nel caso in cui l'area primaria si interrompa.

Il modo migliore per ospitare #MongoDB su DigitalOceanFai clic per twittare

Sharding MongoDB

Lo sharding di MongoDB è una forma avanzata di distribuzione che ti consente di scalare orizzontalmente i tuoi dati su più macchine. Si tratta di una configurazione molto complessa da configurare e gestire, poiché ogni shard contiene più set di repliche e può essere distribuito in diverse posizioni del datacenter per un'elevata disponibilità. Il partizionamento orizzontale è l'ideale per set di dati molto grandi o distribuzioni a velocità effettiva elevata che richiedono una capacità maggiore che puoi ottenere con un singolo server. Laddove la distribuzione tipica è scalabile verticalmente aggiungendo più capacità a un server quando necessario, lo sharding consente di scalare orizzontalmente dividendo i dati e caricando su più macchine. Dopo aver configurato l'ambiente partizionato, puoi aggiungere più partizioni necessarie per supportare la crescita della tua applicazione.

Su ScaleGrid offriamo standalone, 2 repliche + Arbiter, 3 repliche e configurazioni avanzate di Sharding per l'hosting di MongoDB su DigitalOcean con il nostro piano di hosting dedicato a partire da una dimensione del piano Micro a $ 35/ mese fino a un piano X4XLarge con 16 core, 48 GB di RAM e 950 GB di spazio di archiviazione. Puoi anche personalizzare il tuo set di repliche MongoDB con un numero illimitato di repliche per le tue esigenze applicative.

Hosting MongoDB gestito su DigitalOcean

Ora passiamo alla domanda finale:dovresti gestire autonomamente il tuo MongoDB su implementazioni DigitalOcean o sfruttare una piattaforma Database-as-a-Service (DBaaS) completamente gestita? La risposta si riduce al tuo tempo, alle tue conoscenze e all'accessibilità di tutti i tempi per gestire eventuali problemi critici che emergono con la tua distribuzione.

Attività di gestione e manutenzione

Le piattaforme MongoDB DBaaS ti consentono di automatizzare tutte le tue lunghe operazioni di gestione e manutenzione come aggiornamenti di versione, ridimensionamento, backup gratuiti, ripristini, provisioning, deprovisioning, replica, compattazione, indicizzazione gestione, patching del sistema operativo e rotazioni dei log. A seconda delle dimensioni della tua distribuzione, ciò potrebbe richiedere 1-2 giorni al mese, fino a un esercito a tempo pieno di esperti MongoDB che lavorano 24 ore su 24. Un enorme vantaggio di sfruttare una piattaforma DBaaS è che elimini il rischio di errore umano poiché le operazioni di gestione sono automatizzate per te. Mantiene inoltre i tuoi cluster MongoDB su DigitalOcean completamente protetti e aggiornati in modo da non esporre le tue distribuzioni a potenziali bug o minacce che possono presentarsi con un database trascurato.

Monitoraggio delle prestazioni

Il monitoraggio è anche un enorme componente per la gestione di una distribuzione MongoDB. Con una piattaforma DBaaS, puoi automatizzare gli avvisi su tutte le tue metriche MongoDB chiave in modo da essere informato nel momento in cui viene raggiunta una soglia indesiderata e accedere a una console di monitoraggio avanzata per analizzare tutte le tue metriche MongoDB e OS nelle istanze primarie e secondarie e per qualsiasi periodo di tempo. Inoltre, con un DBaaS come ScaleGrid, puoi sfruttare Slow Query Analyzer che ti consente di visualizzare le query a esecuzione lenta e ottimizzarle prima che inizino a influenzare le prestazioni della tua distribuzione.

Supporto per la risoluzione dei problemi

L'ultima, ma non meno importante, è l'accessibilità al supporto. Se sei stato svegliato alle 4:00 da una chiamata frenetica del tuo capo che si chiedeva perché la tua applicazione non è disponibile e quanto velocemente puoi ripristinarla, sai esattamente di cosa sto parlando. Ogni minuto di inattività può farti guadagnare migliaia di dollari e, peggio ancora, una violazione della sicurezza potrebbe chiudere del tutto la tua attività e macchiare per sempre la tua reputazione. Sfruttando una piattaforma DBaaS, puoi superare oltre il 90% di questi problemi critici e avere un team di esperti MongoDB al tuo fianco 24 ore su 24, 7 giorni su 7 per l'inevitabile 10% per aiutarti a identificare e risolvere rapidamente i problemi per ottenere la tua distribuzione tornare a uno stato sano e funzionante.

In ScaleGrid, abbiamo identificato DigitalOcean come una rockstar emergente per l'hosting di MongoDB e il cloud computing in generale nel 2013, e siamo stati i primi DBaaS piattaforma per lanciare il supporto per MongoDB DigitalOcean. Ancora oggi, siamo l'unica piattaforma DBaaS completamente gestita che ti consente di automatizzare il tuo hosting per MongoDB su DigitalOcean e sfruttare strumenti di gestione del database di livello aziendale per ottimizzare le prestazioni, la sicurezza e la disponibilità della distribuzione nel cloud. Se sei interessato a provare alcune delle funzionalità avanzate di un DBaaS per MongoDB su DigitalOcean, puoi iniziare una prova gratuita di 30 giorni senza bisogno di carta di credito per esplorare gli strumenti di automazione e dai un'occhiata alla pagina Confronta provider MongoDB per guarda come ci confrontiamo con MongoDB Atlas, mLab, ObjectRocket e Compose per MongoDB.