MySQL- en PostgreSQL-databaseservices in Azure

Voltooid

Als u een functionele on-premises database hebt, waarom zou u overwegen deze over te zetten naar een cloudservice, zoals Azure? Waarom zou u ook een nieuw databasesysteem in Azure kunnen implementeren? Veel organisaties voeren deze migratie uit omdat het eenvoudig en relatief goedkoop is om een maximaal beschikbare en schaalbare service te maken in de cloud, vergeleken met het gebruik van een on-premises datacenter.

Voor uw opstartbedrijf zijn databases die momenteel worden uitgevoerd op MySQL en PostgreSQL on-premises bedrijfskritiek, maar beperkt door de grootte van uw datacenter en de grootte van uw beheerteam. U wilt onderzoeken of u deze beperkingen kunt aanpakken met behulp van Azure-services en, als dat het het beste is, welke services het meest geschikt zijn voor uw behoeften.

Hier vindt u informatie over Azure Database for MySQL, Azure Database for MariaDB en Azure Database for PostgreSQL en de implementatieopties die u ermee kunt gebruiken. U krijgt ook informatie over de voordelen van het uitvoeren van opensource-databases op virtuele machines of containers in Azure en de IaaS-benadering (Infrastructure-as-a-Service).

Beschikbaarheid

De beschikbaarheid die wordt gegarandeerd door Service Level Agreements (SLA's) van Azure, is afhankelijk van de precieze details van uw implementatie, maar ze zijn altijd hoog. Voor Azure Database for PostgreSQL garandeert Microsoft bijvoorbeeld een beschikbaarheid van 99,99% zonder extra kosten. Voor nog hogere beschikbaarheid kunt u Flexibele server gebruiken.

Als u deze beschikbaarheid in een on-premises netwerk wilt bereiken, moet u een systeem ontwerpen dat bestand is tegen hardwarefouten. U hebt het volgende nodig:

  • Meerdere fysieke servers.
  • Een load balancer die query's kan omleiden als er een serverfout optreedt.
  • Een opslaggebiednetwerk dat gegevens deelt tussen servers of een manier om gegevens tussen servers te repliceren.
  • Tolerante netwerkhardware.
  • Een milieuvriendelijk datacentrum.
  • Onverbreekbare voedingen en back-upgeneratoren.

Al deze onderdelen zijn duur en vereisen vaardigheid om te implementeren en uit te voeren. Ze zouden ook aanzienlijke beheerbronnen verbruiken. Met Azure worden deze vereisten al opgelost; u hoeft alleen de database te maken en hoge beschikbaarheid is ingebouwd.

Schaalbaarheid

Als uw gebruikersbestand groeit, neemt de systeemvraag toe. Elk on-premises systeem heeft een maximale capaciteit. Als u deze limiet nadert, moet u deze verhogen door meer hardware toe te voegen. U kunt geen capaciteit direct toevoegen. In plaats daarvan moet u de hardware aanschaffen, het benodigde besturingssysteem en de benodigde software installeren, updates toepassen en vervolgens de gegevens toevoegen aan het nieuwe database-exemplaar. Al deze dingen nemen tijd in beslag.

Vergeet ook niet dat hoge vraag vaak tijdelijk is. Als u bijvoorbeeld een succesvolle marketingcampagne uitvoert, ziet u mogelijk een piek in het verkeer, gevolgd door een terugkeer naar een lagere vraag. In een on-premises installatie moet u het systeem ontwerpen voor deze pieken. Dit betekent dat het systeem de meeste tijd onderbenut is, maar nog steeds facturen opstelt en onderhoud vereist.

Deze uitdagingen zijn veel gemakkelijker te overwinnen in de cloud. Als uw systeem de capaciteit bereikt, kunt u zeer snel reageren, bijvoorbeeld door over te stappen op een grotere laag of virtuele machines toe te voegen. Als de vraag afneemt, bespaart u snel geld door capaciteit te verwijderen. In Azure betaalt u alleen voor de capaciteit die u gebruikt.

IaaS en PaaS

U kunt kiezen uit ten minste twee benaderingen wanneer u een database in Azure implementeert, afhankelijk van het niveau van beheer dat u nodig hebt:

  • Infrastructuur als een Service (IaaS). Als u de IaaS-benadering kiest, voert Azure de fysieke infrastructuur voor u uit. U maakt virtuele machines en virtuele netwerken om ze te verbinden en installeert vervolgens de benodigde software en gegevens. Het uitvoeren van een virtuele machine lijkt op het uitvoeren van een fysieke server. U onderhoudt het besturingssysteem en de software, maar u hoeft zich geen zorgen te maken over het datacenter, de omgevingsbeheer of verbindingen met internet.
  • Platform als een Service (PaaS). Als u de PaaS-benadering kiest, voert Azure de fysieke infrastructuur, de benodigde virtuele servers en de databasesoftware uit. U hoeft geen configuratie- of onderhoudstaken uit te voeren op deze onderdelen. Azure past bijvoorbeeld servicespacks automatisch toe. U kunt zich concentreren op databasebeheer. PaaS-aanbiedingen voor het uitvoeren van opensource-databases in Azure omvatten Azure Database for MySQL, Azure Database for MariaDB en Azure Database for PostgreSQL.

Wat zijn de Azure Database-services voor MySQL, MariaDB en PostgreSQL?

Als u een on-premises databasesysteem hebt dat is gebouwd op MySQL, MariaDB of PostgreSQL en u uw database naar de cloud wilt verplaatsen, kunt u overwegen Om Azure Database for MySQL, Azure Database for MariaDB of Azure Database for PostgreSQL te gebruiken. U kunt deze services ook gebruiken om nieuwe databases te implementeren. Als uw ontwikkelaars en databasebeheerders bijvoorbeeld ervaring hebben met deze databaseservers en u niet wilt dat ze tijd besteden aan het leren van een nieuw systeem, kunnen medewerkers met behulp van Azure Database for MySQL, Azure Database for MariaDB of Azure Database for PostgreSQL hun bestaande kennis gebruiken. Azure Database for MySQL, Azure Database for MariaDB en Azure Database for PostgreSQL zijn PaaS-systemen, dus u hoeft zich niet bezig te houden met het ontwerpen of implementeren van virtuele servers of netwerken.

Wat is Azure Database for MySQL?

Azure Database for MySQL is een PaaS-implementatie van MySQL in de Azure-cloud, gebaseerd op de MySQL Community-editie. U kunt momenteel kiezen uit ondersteuning voor MySQL-versies 5.6, 5.7 en 8.0, afhankelijk van uw behoeften. Ondersteuning voor aanvullende versies wordt geboden naarmate MySQL zich ontwikkelt.

U krijgt de volgende functies met Azure Database for MySQL:

  • Ingebouwde functies voor hoge beschikbaarheid.
  • Voorspelbare prestaties.
  • Eenvoudige schaalbaarheid die snel reageert op vraag.
  • Beveilig gegevens, zowel at-rest als in-motion.
  • Automatische back-ups en herstel naar een tijdstip tot 35 dagen geleden.
  • Beveiliging en compliance op ondernemingsniveau.

Het systeem hanteert een prijsmodel voor betalen per gebruik.

U kunt kiezen uit twee implementatieopties:

Azure Database for MySQL - Flexibele server

Azure Database for MySQL - Flexible Server biedt meer beschikbaarheid door uw databases te repliceren naar meerdere beschikbaarheidszones. Hiermee kunt u uw databaseservice ook snel starten en stoppen om de kosten te optimaliseren.

Azure Database for MySQL biedt een globaal databasesysteem dat omhoog kan worden geschaald tot grote databases zonder dat hiervoor hardware, netwerkonderdelen, virtuele servers, software patches en andere onderliggende onderdelen beheerd moeen worden.

Wat is Azure Database for MariaDB?

MariaDB is een fork van MySQL die door de community is gemaakt in reactie op de overname van MySQL door Oracle. Azure Database for MariaDB is de PaaS-implementatie van MariaDB in de Azure-cloud.

MariaDB is ontworpen als een vervanger voor MySQL, zodat u een MySQL-database kunt vervangen door een MariaDB-database zonder dat client-apps of wijzigingen in het databaseschema uitgebreid worden doorgevoerd. Veel functies van MariaDB zijn hetzelfde als in MySQL, bijvoorbeeld:

  • Databasestructuren en -indexen
  • Opdrachten voor gegevensdefinities
  • Clientprotocollen, structuren en API's
  • De mysqldump en mysqladmin programma's

Deze overeenkomst tussen MySQL en MariaDB betekent dat migratietaken voor MySQL naar Azure Database for MySQL zeer vergelijkbaar zijn voor MariaDB naar Azure Database for MariaDB. Er zijn enkele verschillen tussen de systemen. MariaDB ondersteunt bijvoorbeeld ColumnStore en Redis Cache, die beide kunnen worden gebruikt om de prestaties te optimaliseren.

Notitie

Omdat de migratie van databases vanuit MySQL en MariaDB naar Azure zo vergelijkbaar is, worden ze in deze cursus samen behandeld.

Belangrijk

Op het moment van schrijven is er geen flexibele serverimplementatieoptie voor Azure Database for MariaDB.

Wat is Azure Database for PostgreSQL?

Als u de voorkeur geeft aan PostgreSQL, kunt u Azure Database for PostgreSQL kiezen om een PaaS-implementatie van die databaseserver in de Azure Cloud te krijgen. Dit biedt dezelfde voordelen op het gebied van beschikbaarheid, prestaties, schalen, beveiliging en beheer als de MySQL-service.

U kunt kiezen uit drie implementatieopties:

Azure Database for PostgreSQL - Flexible Server

Azure Database for PostgreSQL - Flexible Server biedt vergelijkbare voordelen als MySQL Flexible Server. U kunt het gebruiken om de grootste beschikbaarheidsniveaus en handige herstarts te bieden.

IaaS-opties voor het uitvoeren van MySQL, MariaDB en PostgreSQL in Azure

Gebruik de IaaS-benadering om een fysieke architectuur in de cloud te repliceren. U kunt IaaS kiezen als u meer controle wilt over de besturingssystemen en software die ten grondslag aan uw systeem komt.

Er zijn echter verschillende benaderingen die u kunt gebruiken om de IaaS-benadering te implementeren, afhankelijk van uw vereisten en de complexiteit van uw bestaande systemen.

Lift-and-shift

Een benadering is om uw on-premises architectuur in de cloud te spiegelen door een infrastructuur voor een virtueel netwerk te maken die overeenkomt met die van uw datacenter. U maakt een virtuele machine voor elke server in uw on-premises systeem. U installeert en configureert uw databasebeheersysteemsoftware (MySQL, MariaDB of PostgreSQL) op de virtuele machines. Vervolgens lift-and-shift het systeem in de cloud met weinig wijzigingen in clientcode of configuratie.

Met deze strategie volgt u een stapsgewijs proces voor migratie. U verplaatst delen van uw systeem stapsgewijs naar de cloud, terwijl u andere elementen on-premises behoudt met behulp van de Azure-netwerkgateway. Gebruik deze hybride benadering om het systeem bij elke stap te stabiliseren en zo nodig terug te draaien.

Vooraf gemaakte virtuele machines gebruiken

De marketplace bevat virtuele machines die vooraf zijn geconfigureerd voor MySQL-, MariaDB- en PostgreSQL-servers. Deze installatiekopieën besparen tijd omdat u de databaseserversoftware niet zelf hoeft te installeren. Wanneer u virtuele databasemachines instelt, controleert u of er een installatiekopieën aanwezig zijn in Marketplace met de juiste versie van de databasesoftware en kunt u overwegen deze te gebruiken.

U kunt ook een aangepaste installatiekopieën van een virtuele machine uploaden naar Azure en deze gebruiken om virtuele machines te maken. Deze afbeelding kan de databasesoftware van uw keuze en zelfs de database zelf bevatten. Zie Zelfstudie: Een aangepaste installatiekopieën van een Virtuele Azure-machine maken met Azure PowerShell voor meer informatie.

MySQL-, MariaDB- of PostgreSQL-containers gebruiken

Een andere virtualisatietechnologie die u kunt overwegen, is containerisatie. Een container is net als een virtuele machine, maar deelt het besturingssysteem met de hostcomputer. Containers zijn kleiner dan virtuele machines, dus u kunt er meer van uitvoeren op een hostcomputer en nieuwe sneller starten. U kunt echter geen Linux-container uitvoeren op een Windows-computer, bijvoorbeeld omdat het besturingssysteem wordt gedeeld. Als u containers op een fysieke server wilt uitvoeren, hebt u containerhostsoftware nodig, zoals Docker. Containers worden geïmplementeerd vanuit installatiekopieën en kunnen, zoals virtuele machines, databasesoftware bevatten, zoals MySQL, MariaDB en PostgreSQL.

Als u kleine aantallen containers in Azure wilt uitvoeren, installeert u Docker op een virtuele machine. Als u de Container Instances-service gebruikt, kunt u ook containers uitvoeren in Azure zonder uw eigen virtuele machines in te stellen. Als u eenvoudig grote aantallen containers wilt beheren die met elkaar moeten communiceren, gebruikt u de Azure Kubernetes Service.