Il blocco del fornitore è definito come "blocco proprietario o blocco del cliente, che rende un cliente dipendente da un fornitore per i propri prodotti e servizi; non è in grado di utilizzare un altro fornitore senza costi sostanziali" ( wikipedia). Innegabilmente per molte società di software questo sarebbe il modello di business desiderato. Ma fa bene ai loro clienti?
I database proprietari offrono un ottimo supporto per le migrazioni da altre soluzioni software di database popolari. Tuttavia, ciò causerebbe solo il blocco di un altro fornitore. È quindi open source una soluzione?
A causa delle limitazioni che l'open source ha avuto anni fa molte soluzioni di database costose scelte. Sfortunatamente, per molti l'open source non era un'opzione.
In effetti, nel corso degli anni, il database open source ha guadagnato il supporto e la maturità delle aziende per eseguire sistemi di transazione dati critici e complessi.
Con la nuova versione di database come Percona e MariaDB sono state aggiunte alcune fantastiche nuove funzionalità, sia la compatibilità che l'azienda richiedono supporto 24 ore su 24, 7 giorni su 7, sicurezza, auditing, clustering, backup online o ripristino rapido. Tutto ciò ha reso il processo di migrazione più accessibile che mai.
La migrazione può essere una mossa saggia, ma comporta dei rischi. Sia che tu stia pianificando di migrare dalla migrazione proprietaria a quella aperta del supporto manualmente o con l'aiuto di uno strumento commerciale per automatizzare l'intero processo di migrazione, devi conoscere tutti i possibili colli di bottiglia e i metodi coinvolti nel processo e nella convalida dei risultati.
Cambiare il sistema di database è anche un ottimo momento per considerare ulteriori rischi legati al vendor lock-in. Durante il processo di migrazione, potresti pensare a come evitare di essere bloccato con alcune tecnologie. In questo articolo, ci concentreremo su alcuni aspetti principali del vendor lock-in di MySQL e MariaDB.
Evitare il blocco per il monitoraggio del database
Gli utenti di database open source spesso devono utilizzare una combinazione di strumenti e script fatti in casa per monitorare i loro ambienti di database di produzione. Tuttavia, anche se nella soluzione sono presenti i propri script interni, è difficile mantenerlo e tenere il passo con le nuove funzionalità del database.
Si spera che ci siano molti interessanti strumenti di monitoraggio gratuiti per MySQL/MariaDB. Gli strumenti gratuiti più consigliati da DBA sono PMM, Zabbix, ClusterControl Community Edition, plug-in Nagios MySQL. Sebbene PMM e ClusterControl siano soluzioni di database dedicate.
Percona Monitoring and Management (PMM) è una soluzione completamente open source per la gestione delle prestazioni della piattaforma MySQL e l'ottimizzazione delle prestazioni delle query. PMM è una soluzione locale che conserva tutte le prestazioni e i dati delle query all'interno dei confini del tuo ambiente. Puoi trovare la demo di PMM al link sottostante.
Gli strumenti di monitoraggio dei server tradizionali non sono creati per le moderne architetture di database distribuiti. La maggior parte dei database di produzione oggi viene eseguita in alcune configurazioni ad alta disponibilità, dalla replica master-slave più semplice a cluster multi-master con funzioni di bilanciamento del carico ridondanti. I team operativi si occupano di dozzine, spesso centinaia di servizi che costituiscono l'ambiente del database.
Avere più sistemi di database significa che la tua organizzazione diventerà più agile dal lato dello sviluppo e consente la scelta agli sviluppatori, ma impone anche conoscenze aggiuntive lato operazioni. Estendere la tua infrastruttura dal solo MySQL alla distribuzione di altri backend di archiviazione come MongoDB e PostgreSQL implica che devi anche monitorarli, gestirli e ridimensionarli. Poiché ogni back-end di archiviazione eccelle in diversi casi d'uso, ciò significa anche che devi reinventare la ruota per ognuno di essi.
ClusterControl è stato progettato per gestire configurazioni di database moderne e altamente distribuite basate sulla replica o raggruppamento. Mostra lo stato dell'intera soluzione cluster, tuttavia può essere ampiamente utilizzato per una singola istanza. ClusterControl ti mostrerà molte metriche avanzate, tuttavia puoi anche trovare consulenti integrati che ti aiuteranno a capirle. Puoi trovare la demo di ClusterControl al link sottostante.
Evitare il blocco per le soluzioni di backup del database
Esistono diversi modi per eseguire i backup, ma quale si adatta alle tue esigenze specifiche? Come si implementa il ripristino temporizzato?
Se stai migrando da Oracle o SQL Server, ti consigliamo lo strumento xtrabackup di Percona o mariabackup simile di Mark.
Percona XtraBackup è il più popolare software di backup a caldo MySQL/MariaDB open source che esegue backup non bloccanti per i database InnoDB e XtraDB. Rientra nella categoria del backup fisico, che consiste in copie esatte della directory dei dati MySQL e dei file sottostanti.
XtraBackup non blocca il database durante il processo di backup. Per database di grandi dimensioni (oltre 100 GB), fornisce tempi di ripristino molto migliori rispetto a mysqldump. Il processo di ripristino prevede la preparazione dei dati MySQL dai file di backup, prima di sostituirli o cambiarli con la directory dei dati corrente sul nodo di destinazione.
Evitare il lock-in per l'elevata disponibilità e scalabilità del database
Si dice che se non stai progettando per il fallimento, allora stai andando in crash. Come si crea un sistema di database da zero per resistere ai guasti? Questa può essere una sfida poiché i fallimenti si verificano in molti modi diversi, a volte in modi che sarebbe difficile da immaginare. È una conseguenza della complessità degli odierni ambienti di database.
Il clustering è una funzionalità costosa di database come Oracle e SQL Server. Richiede licenze extra.
Galera Cluster è un'opzione mainstream per MySQL e MariaDB ad alta disponibilità. E sebbene si sia affermato come un sostituto credibile delle tradizionali architetture MySQL master-slave, non è un sostituto drop-in.
Galera Cluster è una tecnologia di clustering di database sincrono attivo-attivo per MySQL e MariaDB. Galera Cluster è diverso da ciò che è noto come Oracle MySQL Cluster - NDB. Il cluster MariaDB si basa sul plug-in di replica multi-master fornito da Codership.
Sebbene il Galera Cluster abbia alcune caratteristiche che lo rendono inadatto a casi d'uso specifici, la maggior parte delle applicazioni può comunque essere adattata per essere eseguita su di esso.
I vantaggi sono evidenti:configurazione InnoDB multi-master con failover integrato e scalabilità di lettura.
Evitare il blocco per il bilanciamento del carico del database
I proxy sono elementi costitutivi delle configurazioni ad alta disponibilità per MySQL. Possono rilevare i nodi guasti e instradare le query agli host che sono ancora disponibili. Se il tuo master ha fallito e hai dovuto promuovere uno dei tuoi slave, i proxy rileveranno tali modifiche alla topologia e indirizzeranno il tuo traffico di conseguenza.
Proxy più avanzati possono fare molto di più, come instradare il traffico in base a regole di query precise, query nella cache o eseguirne il mirroring. Possono anche essere utilizzati per implementare diversi tipi di partizionamento orizzontale.
I più utili sono ProxySQL, HAproxy, MaxScale (utilizzo gratuito limitato).
Evitare il blocco durante la migrazione al cloud
Negli ultimi dieci anni, molte aziende sono passate alla tecnologia basata su cloud per evitare i limiti di budget per i data center e lo sviluppo agile del software. L'utilizzo del cloud consente alla tua azienda e alle tue applicazioni di trarre vantaggio dal risparmio sui costi e dalla versatilità che derivano dal cloud computing.
Sebbene le soluzioni cloud offrano alle aziende molti vantaggi, presentano comunque alcuni rischi. Ad esempio, il vendor lock-in è così elevato nel cloud come lo era nel data center.
Man mano che sempre più aziende eseguono i propri carichi di lavoro nel cloud, i servizi di database cloud vengono sempre più utilizzati per gestire i dati. Uno dei vantaggi dell'utilizzo di un servizio di database cloud invece di mantenere il database è che riduce il sovraccarico di gestione. I servizi di database dei principali fornitori di cloud condividono molte somiglianze, ma hanno caratteristiche individuali che potrebbero renderli adatti o inadatti al tuo carico di lavoro.
Il modello ibrido di hosting di database
Man mano che sempre più aziende passano al cloud, il modello ibrido sta diventando sempre più popolare. Il modello ibrido è visto come un modello sicuro per molte aziende.
In effetti, è difficile eseguire un trapianto di cuore e trasferire tutto immediatamente. Molte aziende stanno effettuando una migrazione lenta che di solito richiede un anno o forse anche un'eternità prima che tutto venga migrato. La mossa dovrebbe essere fatta in una pace accettabile.
Il modello ibrido non solo ti permetterà di costruire un sistema scalabile ad alta disponibilità, ma per sua natura è un ottimo primo passo per evitare il lock-in. In base alla progettazione dell'architettura, i tuoi sistemi funzioneranno in una sorta di modalità mista.
Un esempio di tali architetture potrebbe essere un cluster che opera nel data center interno e la sua copia si trova nel cloud.
Conclusione
La migrazione da un database proprietario all'open source può comportare numerosi vantaggi:minor costo di proprietà, accesso e utilizzo di un motore di database open source, stretta integrazione con il web. L'open source ha molto da offrire e, per sua natura, è un'ottima opzione per evitare il blocco del fornitore.