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
- Zie Azure Database for MySQL prijzen.
- Aan de slag gaan met het maken van uw eerste server.