De juiste MySQL-serveroptie kiezen in Azure

VAN TOEPASSING OP: Azure Database for MySQL - Single Server Azure Database for MySQL - Flexible Server

Met Azure kunnen de workloads van uw MySQL-server worden uitgevoerd in een gehoste infrastructuur voor virtuele machines als een service (IaaS) of als een gehoste platform as a service (PaaS). PaaS heeft twee implementatieopties en er zijn servicelagen binnen elke implementatieoptie. Wanneer u kiest tussen IaaS en PaaS, moet u beslissen of u uw database wilt beheren, patches, back-ups, beveiliging, bewaking, schalen wilt toepassen of dat u deze bewerkingen wilt delegeren naar Azure.

Houd bij het nemen van uw beslissing rekening met de volgende twee opties:

  • Azure Database for MySQL. Deze optie is een volledig beheerde MySQL-database-engine op basis van de stabiele versie van MySQL Community Edition. Deze relationele Database as a Service (DBaaS), gehost op het Azure-cloudplatform, valt in de branchecategorie PaaS. Met een beheerd exemplaar van MySQL in Azure kunt u ingebouwde functies gebruiken in plaats van geautomatiseerde patches, hoge beschikbaarheid, automatische back-ups, elastisch schalen, beveiliging op bedrijf niveau, naleving en governance, bewaking en waarschuwingen die anders uitgebreide configuratie vereisen wanneer MySQL Server on-premises of op een Azure-VM is. Wanneer u MySQL als een service gebruikt, betaalt u per gebruik, met opties om omhoog te schalen of uit te schalen voor meer controle zonder onderbreking. Azure Database for MySQLis powered by de MySQL Community Edition beschikbaar in twee implementatiemodi:

    • Flexible Server: Azure Database for MySQL Flexible Server is een volledig beheerde databaseservice die gereed is voor productie en is ontworpen voor gedetailleerdere controle en flexibiliteit van databasebeheerfuncties en configuratie-instellingen. Met de flexibele-serverarchitectuur kunnen gebruikers kiezen voor hoge beschikbaarheid binnen één beschikbaarheidszone en tussen meerdere beschikbaarheidszones. Flexibele servers bieden betere besturingselementen voor kostenoptimalisatie, met de mogelijkheid om de server en burstable compute-laag te stoppen of te starten, wat ideaal is voor workloads die niet voortdurend volledige rekencapaciteit nodig hebben. Flexible Server ondersteunt ook gereserveerde instanties, zodat u tot 63% kunt besparen, wat ideaal is voor productieworkloads met voorspelbare rekencapaciteitsvereisten. De service ondersteunt de communityversie van MySQL 5.7 en 8.0. De service is momenteel algemeen beschikbaar in allerlei Azure-regio's. Flexibele servers zijn het meest geschikt voor alle nieuwe ontwikkelingen en de migratie van productieworkloads naar Azure Database for MySQL service.

    • Single Server is een volledig beheerde databaseservice die is ontworpen voor minimale aanpassingen. Het Single Server-platform is ontworpen voor het verwerken van de meeste databasebeheerfuncties, zoals het toepassen van patches, back-ups, hoge beschikbaarheid, beveiliging met minimale gebruikersconfiguratie en beheer. De architectuur is geoptimaliseerd voor ingebouwde hoge beschikbaarheid met een beschikbaarheid van 99,99% in één beschikbaarheidszone. Het ondersteunt de communityversie van MySQL 5.6 (teruggetrokken), 5.7 en 8.0. De service is momenteel algemeen beschikbaar in allerlei Azure-regio's. Enkele servers zijn alleen geschikt voor bestaande toepassingen die al gebruikmaken van één server. Voor alle nieuwe ontwikkelingen of migraties is Flexibele server de aanbevolen implementatieoptie. Raadpleeg de documentatie over de juiste implementatieoptie voor meer informatie over de verschillen tussen implementatieopties voor flexibele servers en één server.

  • MySQL op Azure-VM's. Deze optie valt in de branchecategorie IaaS. Met deze service kunt u MySQL Server uitvoeren binnen een beheerde virtuele machine op het Azure-cloudplatform. Alle recente versies en edities van MySQL kunnen worden geïnstalleerd op de virtuele machine.

Vergelijking van de MySQL-implementatieopties in Azure

De belangrijkste verschillen tussen deze opties worden weergegeven in de volgende tabel:

Kenmerk Azure Database for MySQL
Enkele server
Azure Database for MySQL
Flexibele server
MySQL op Azure-VM's
Algemeen
Algemene beschikbaarheid Algemeen beschikbaar Algemeen beschikbaar Algemeen beschikbaar
Service Level Agreement (SLA) SLA voor 99,99% beschikbaarheid 99,99% met behulp van Beschikbaarheidszones 99,99% met behulp van Beschikbaarheidszones
Onderliggende O/S Windows Linux Door de gebruiker beheerd
MySQL Edition Community Edition Community Edition Community of Enterprise Edition
Ondersteuning voor MySQL-versie 5.6 (gestopt), 5.7 & 8.0 5.7 & 8.0 Elke versie
Selectie van beschikbaarheidszone voor toepassingskomma's Nee Ja Ja
Gebruikersnaam in connection string <user_name>@server_name. Bijvoorbeeld: mysqlusr@mypgServer Alleen gebruikersnaam. Bijvoorbeeld: mysqlusr Alleen gebruikersnaam. Bijvoorbeeld: mysqlusr
Schalen & Storage rekenkracht
Compute-lagen Basic, Algemeen, Geoptimaliseerd voor geheugen Burstable, Algemeen, geoptimaliseerd voor geheugen Burstable, Algemeen, geoptimaliseerd voor geheugen
Schaalbaarheid van rekenkracht Ondersteund (schalen van en naar basic-laag wordt niet ondersteund) Ondersteund Ondersteund
Storage grootte 5 GiB tot 16 TiB 20 GiB tot 16 TiB 32 GiB tot 32.767 GiB
Online Storage schalen Ondersteund Ondersteund Niet ondersteund
Automatisch schalen van opslag Ondersteund Ondersteund Niet ondersteund
IOPS schalen Niet ondersteund Ondersteund Niet ondersteund
Kostenoptimalisatie
Prijzen van gereserveerde instanties Ondersteund Ondersteund Ondersteund
Server stoppen/starten voor ontwikkeling De server kan maximaal 7 dagen worden gestopt De server kan maximaal 30 dagen worden gestopt Ondersteund
Voordelige Burstable SKU Niet ondersteund Ondersteund Ondersteund
Netwerken/beveiliging
Netwerkverbinding - Openbare eindpunten met serverfirewall.
- Privétoegang met Private Link ondersteuning.
- Openbare eindpunten met serverfirewall.
- Privétoegang met Virtual Network integratie.
- Openbare eindpunten met serverfirewall.
- Privétoegang met Private Link ondersteuning.
SSL/TLS Standaard ingeschakeld met ondersteuning voor TLS v1.2, 1.1 en 1.0 Standaard ingeschakeld met ondersteuning voor TLS v1.2, 1.1 en 1.0 Ondersteund met TLS v1.2, 1.1 en 1.0
Data Encryption at rest Ondersteund met door de klant beheerde sleutels (BYOK) Ondersteund met door service beheerde sleutels Niet ondersteund
Azure Active Directory-verificatie Ondersteund Niet ondersteund Niet ondersteund
Ondersteuning voor Microsoft Defender for Cloud Ja Nee Nee
Servercontrole Ondersteund Ondersteund Door gebruiker beheerd
Patchen & onderhoud
Patching van besturingssysteem Automatisch Automatisch Door gebruiker beheerd
Upgrade van secundaire mySQL-versie Automatisch Automatisch Door gebruiker beheerd
Upgrade van mySQL in-place hoofdversie Ondersteund van 5.6 tot 5.7 Niet ondersteund Door gebruiker beheerd
Onderhoudsbeheer Door het systeem beheerd Door de klant beheerd Door gebruiker beheerd
Onderhoudsvenster Op elk gewenst moment binnen 15 uur Venster van 1 uur Door gebruiker beheerd
Melding voor gepland onderhoud 3 dagen 5 dagen Door gebruiker beheerd
Hoge beschikbaarheid
Hoge beschikbaarheid Ingebouwde ha (zonder hot stand-by) Ingebouwde ha (zonder hot stand-by), dezelfde zone en zone-redundante ha met hot stand-by Door gebruiker beheerd
Zoneredundantie Niet ondersteund Ondersteund Ondersteund
Stand-byzoneplaatsing Niet ondersteund Ondersteund Ondersteund
Automatische failover Ja (een andere server wordt uitgevoerd) Yes Door gebruiker beheerd
Door de gebruiker geïnitieerde geforceerd failover Nee Ja Door gebruiker beheerd
Transparante toepassings-failover Ja Ja Door gebruiker beheerd
Replicatie
Ondersteuning voor leesreplica's Ja Ja Door gebruiker beheerd
Aantal ondersteunde leesreplica's 5 10 Door gebruiker beheerd
Replicatiemodus Asynchroon Asynchroon Door gebruiker beheerd
Gtid-ondersteuning voor leesreplica's Ondersteund Ondersteund Door gebruiker beheerd
Ondersteuning voor regio-overschrijdende (geo-replicatie) Yes Niet ondersteund Door gebruiker beheerd
Hybride scenario's Ondersteund met Replicatie van inkomende gegevens Ondersteund met Replicatie van inkomende gegevens Door gebruiker beheerd
Gtid-ondersteuning voor replicatie van binnenkomende gegevens Ondersteund Ondersteund Door gebruiker beheerd
Replicatie van uitkomende gegevens Niet ondersteund In preview Ondersteund
Back-up en herstel
Automatische back-ups Ja Ja Nee
Back-upretentie 7-35 dagen 1-35 dagen Door gebruiker beheerd
Langetermijnretentie van back-ups Door gebruiker beheerd Door gebruiker beheerd Door gebruiker beheerd
Back-ups exporteren Ondersteund met logische back-ups Ondersteund met logische back-ups Ondersteund
Herstel naar een bepaald tijdstip binnen de retentieperiode Ja Ja Door gebruiker beheerd
Snel herstelpunt Nee Ja Nee
Mogelijkheid om te herstellen in een andere zone Niet ondersteund Ja Ja
Mogelijkheid om te herstellen naar een ander VNET Nee Ja Ja
Mogelijkheid om te herstellen naar een andere regio Ja (geografisch redundant) No Door gebruiker beheerd
Mogelijkheid om een verwijderde server te herstellen Ja Nee Nee
Noodherstel
DR in Azure-regio's Leesreplica's in verschillende regio's gebruiken, geografisch redundante back-up Niet ondersteund Door gebruiker beheerd
Automatische failover Nee Niet ondersteund Nee
Kan hetzelfde r/w-eindpunt gebruiken No Niet ondersteund Nee
Bewaking
Azure Monitor integratie & waarschuwingen Ondersteund Ondersteund Door gebruiker beheerd
Databasebewerkingen bewaken Ondersteund Ondersteund Door gebruiker beheerd
Inzicht in queryprestaties Ondersteund Ondersteund (met workbooks) Door gebruiker beheerd
Serverlogboeken Ondersteund Ondersteund (met behulp van diagnostische logboeken) Door gebruiker beheerd
Auditlogboeken Ondersteund Ondersteund Ondersteund
Foutenlogboeken Niet ondersteund Ondersteund Ondersteund
Ondersteuning voor Azure Advisor Ondersteund Niet ondersteund Niet ondersteund
Invoegtoepassingen
validate_password Niet ondersteund In preview Ondersteund
caching_sha2_password Niet ondersteund In preview Ondersteund
Productiviteit van ontwikkelaars
Fleet Management Ondersteund met Azure CLI, PowerShell, REST en Azure Resource Manager Ondersteund met Azure CLI, PowerShell, REST en Azure Resource Manager Ondersteund voor VM's met Azure CLI, PowerShell, REST en Azure Resource Manager
Terraform-ondersteuning Ondersteund Ondersteund Ondersteund
GitHub Actions Ondersteund Ondersteund Door gebruiker beheerd

Zakelijke motivaties voor het kiezen van PaaS of IaaS

Er zijn verschillende factoren die van invloed kunnen zijn op uw beslissing om PaaS of IaaS te kiezen voor het hosten van uw MySQL-databases.

Kosten

Kostenreductie is vaak de belangrijkste overweging die bepaalt wat de beste oplossing is voor het hosten van uw databases. Dit is waar, of u nu een startende onderneming met weinig geld bent of een team in een gevestigde onderneming dat met een strak budget werkt. In deze sectie worden de basisbeginselen van facturering en licenties in Azure beschreven, aangezien deze van toepassing zijn op Azure Database for MySQL en MySQL op Azure-VM's.

Billing

Azure Database for MySQL is momenteel beschikbaar als een service in verschillende lagen met verschillende prijzen voor resources. Alle resources worden per uur gefactureerd tegen een vast bedrag. Zie de pagina met prijzen voor de meest recente informatie over de momenteel ondersteunde servicelagen, rekengrootten en opslagbedragen. U kunt servicelagen en rekengrootten dynamisch aanpassen aan de uiteenlopende doorvoerbehoeften van uw toepassing. Uitgaand internetverkeer wordt bij u in rekening gebracht tegen het reguliere tarief voor gegevensoverdracht.

Met Azure Database for MySQL configureert, patches en upgrades van de databasesoftware automatisch door Microsoft. Deze geautomatiseerde acties verminderen de beheerkosten. Bovendien beschikt Azure Database for MySQL over mogelijkheden voor automatische back-ups. Dankzij deze mogelijkheden kunt u aanzienlijk op kosten besparen, vooral wanneer u een groot aantal databases hebt. Met MySQL op azure-VM's kunt u daarentegen een MySQL-versie kiezen en uitvoeren. Ongeacht welke MySQL-versie u gebruikt, betaalt u voor de inrichtende VM, opslagkosten die zijn gekoppeld aan de gegevens, back-up, bewakingsgegevens en logboekopslag en de kosten voor het specifieke MySQL-licentietype dat wordt gebruikt (indien van toepassing).

Azure Database for MySQL biedt ingebouwde hoge beschikbaarheid voor elk type onderbreking op knooppuntniveau, terwijl de SLA-garantie van 99,99% voor de service behouden blijft. Voor hoge beschikbaarheid van databases binnen VM's gebruikt u echter de opties voor hoge beschikbaarheid, zoals MySQL-replicatie, die beschikbaar zijn in een MySQL-database. Het gebruik van een ondersteunde optie voor hoge beschikbaarheid biedt geen extra SLA. Maar u kunt wel een databasebeschikbaarheid van hoger dan 99,99% behalen tegen extra kosten en administratieve overhead.

Zie de volgende artikelen voor meer informatie over prijzen:

Beheer

Veel bedrijven besluiten zowel vanwege offloading van beheercomplexiteit als de kosten naar een cloudservice over te stappen.

Met IaaS biedt Microsoft het volgende:

  • Beheer van de onderliggende infrastructuur.
  • Biedt automatische patching voor onderliggende hardware en besturingssysteem.

Met PaaS biedt Microsoft het volgende:

  • Beheer van de onderliggende infrastructuur.
  • Biedt automatische patching voor onderliggende hardware, besturingssysteem en database-engine.
  • Beheer van hoge beschikbaarheid van de database.
  • Automatisch uitvoeren van back-ups en repliceren van alle gegevens om herstel na noodgevallen mogelijk te maken.
  • Versleuteling van inactieve en actieve gegevens (standaard).
  • Controleert uw server en biedt functies voor inzichten in queryprestaties en prestatieaanbevelingen

In de volgende lijst worden administratieve overwegingen voor elke optie beschreven:

  • Met Azure Database for MySQL kunt u uw database blijven beheren. Maar u hoeft de database-engine, het besturingssysteem en de hardware niet langer te beheren. Voorbeelden van items die u kunt blijven beheren, zijn onder meer:

    • Databases
    • Aanmelden
    • Indexafstemming
    • Queryafstemming
    • Controleren
    • Beveiliging

    Daarnaast vereist het configureren van hoge beschikbaarheid voor een ander datacentrum nauwelijks tot geen configuratie of beheer.

  • Met MySQL op azure-VM's hebt u volledige controle over het besturingssysteem en de configuratie van het MySQL-server-exemplaar. Met een VM kunt u bepalen wanneer het besturingssysteem en de databasesoftware moeten worden bijgewerkt of geüpgraded en welke patches moeten worden toegepast. U beslist ook wanneer u extra software, zoals een antivirustoepassing, installeert. Sommige geautomatiseerde functies worden geleverd om het toepassen van patches, het maken van een back-up en hoge beschikbaarheid aanzienlijk te vereenvoudigen. U kunt de grootte van de VM, het aantal schijven en hun opslagconfiguraties beheren. Zie Groottes van virtuele machines en cloudservices voor Azure voor meer informatie.

Tijd om over te stappen op Azure

  • Azure Database for MySQL is de juiste oplossing voor cloudtoepassingen wanneer de productiviteit van ontwikkelaars en de snelle time-to-market voor nieuwe oplossingen essentieel zijn. Met programmatische functionaliteit die lijkt op DBA is de service geschikt voor cloudarchitecten en -ontwikkelaars omdat het de noodzaak voor het beheren van het onderliggende besturingssysteem en de database vermindert.

  • Als u de tijd en kosten voor het verkrijgen van nieuwe on-premises hardware wilt vermijden, is MySQL op azure-VM's de juiste oplossing voor toepassingen waarvoor een gedetailleerde controle en aanpassing van de MySQL-engine is vereist die niet wordt ondersteund door de service of waarvoor toegang tot het onderliggende besturingssysteem is vereist. Deze oplossing is ook geschikt voor het intact migreren van bestaande on-premises toepassingen en databases naar Azure, voor gevallen waarin Azure Database for MySQL niet geschikt is.

Omdat u de presentatie-, toepassings- en gegevenslagen niet hoeft te wijzigen, bespaart u tijd en geld op het opnieuw ontwikkelen van uw bestaande oplossing. In plaats daarvan kunt u zich richten op het migreren van al uw oplossingen naar Azure en het aanpakken van enkele prestatieoptimalisaties die het Azure-platform mogelijk nodig heeft.

Volgende stappen