MySQL- och PostgreSQL-databastjänster i Azure

Slutförd

Om du har en funktionell lokal databas, varför bör du överväga att flytta den till en molntjänst, till exempel Azure? På samma sätt kan du överväga att implementera ett nytt databassystem i Azure? Många organisationer utför den här migreringen eftersom det är enkelt och relativt billigt att skapa en mycket tillgänglig och skalbar tjänst i molnet, jämfört med att använda ett lokalt datacenter.

För ditt nystartade företag är databaser som för närvarande körs på MySQL och PostgreSQL lokalt verksamhetskritiska men begränsade av datacentrets storlek och storleken på ditt administrationsteam. Du vill undersöka om du kan åtgärda dessa begränsningar med hjälp av Azure-tjänster och i så fall vilka tjänster som passar bäst för dina behov.

Här får du lära dig mer om Azure Database for MySQL, Azure Database for MariaDB och Azure Database for PostgreSQL och de distributionsalternativ som du kan använda med dem. Du får också lära dig om fördelarna med att köra databaser med öppen källkod på virtuella datorer eller containrar i Azure och IaaS-metoden (Infrastruktur som en tjänst).

Tillgänglighet

Tillgängligheten som garanteras av Azure-serviceavtal (SLA) beror på den exakta informationen om din implementering , men de är alltid höga. För Azure Database for PostgreSQL garanterar Microsoft till exempel 99,99 % tillgänglighet utan extra kostnad. För ännu högre tillgänglighet kan du använda flexibel server.

Om du vill uppnå den här tillgängligheten i ett lokalt nätverk måste du skapa ett system som är motståndskraftigt mot maskinvarufel. Du skulle behöva:

  • Flera fysiska servrar.
  • En lastbalanserare som kan omdirigera frågor om det uppstår ett serverfel.
  • Ett lagringsområdesnätverk som delar data mellan servrar eller ett sätt att replikera data mellan servrar.
  • Elastisk nätverksmaskinvara.
  • Ett miljöstyrt datacenter.
  • Avbrottsfria strömförsörjningar och reservgeneratorer.

Alla dessa komponenter är dyra och kräver kunskaper för att implementera och köra. De skulle också förbruka betydande administrativa resurser. Med Azure är dessa krav redan lösta. du bara skapar databasen och hög tillgänglighet är inbyggd.

Skalbarhet

Om användarbasen växer växer systemefterfrågan med den. Varje lokalt system har en maximal kapacitet – om du närmar dig den gränsen måste du öka den genom att lägga till mer maskinvara. Du kan inte lägga till kapacitet omedelbart. I stället måste du köpa maskinvaran, installera det operativsystem och programvara som krävs, tillämpa uppdateringar och sedan lägga till data i den nya databasinstansen. Allt det här tar tid.

Kom också ihåg att hög efterfrågan ofta är tillfällig. Om du till exempel kör en lyckad marknadsföringskampanj kan du se en topp i trafiken, följt av en återgång till lägre efterfrågan. I en lokal konfiguration måste du utforma systemet för dessa toppar. Det innebär att systemet är underutnyttjat för det mesta men ändå kör upp fakturor och kräver underhåll.

Dessa utmaningar är mycket enklare att övervinna i molnet. Om systemet når sin kapacitet kan du svara mycket snabbt, till exempel genom att flytta till en större nivå eller lägga till virtuella datorer. Om efterfrågan minskar sparar du snabbt pengar genom att ta bort kapaciteten. I Azure betalar du bara för den kapacitet du använder.

IaaS och PaaS

Du kan välja mellan minst två metoder när du implementerar en databas i Azure, beroende på vilken kontrollnivå du behöver:

  • Infrastruktur som en tjänst (IaaS). Om du väljer IaaS-metoden kör Azure den fysiska infrastrukturen åt dig. Du skapar virtuella datorer och virtuella nätverk för att ansluta dem och installerar sedan nödvändig programvara och data. Att köra en virtuell dator är som att köra en fysisk server. Du underhåller operativsystemet och programvaran, men du behöver inte bekymra dig om datacenter, miljökontroll eller anslutningar till Internet.
  • Plattform som en tjänst (PaaS). Om du väljer PaaS-metoden kör Azure den fysiska infrastrukturen, nödvändiga virtuella servrar och databasprogramvaran. Du behöver inte utföra konfigurations- eller underhållsaktiviteter på dessa komponenter. Azure tillämpar till exempel tjänstepaket automatiskt. Du kan koncentrera dig på databasadministration. PaaS-erbjudanden för att köra öppen källkod databaser i Azure inkluderar Azure Database for MySQL, Azure Database for MariaDB och Azure Database for PostgreSQL.

Vilka är Azure Database-tjänsterna för MySQL, MariaDB och PostgreSQL?

Om du har ett lokalt databassystem som bygger på MySQL, MariaDB eller PostgreSQL och du vill flytta databasen till molnet kan du överväga att använda Azure Database for MySQL, Azure Database for MariaDB eller Azure Database for PostgreSQL. Du kanske också vill använda dessa tjänster för att implementera nya databaser. Om dina utvecklare och databasadministratörer till exempel har erfarenhet av dessa databasservrar och du inte vill att de ska ägna tid åt att lära sig ett nytt system kan personalen använda Azure Database for MySQL, Azure Database for MariaDB eller Azure Database for PostgreSQL . Azure Database for MySQL, Azure Database for MariaDB och Azure Database for PostgreSQL är PaaS-system, så du behöver inte bry dig om att utforma eller implementera virtuella servrar eller nätverk.

Vad är Azure Database for MySQL?

Azure Database for MySQL är en PaaS-implementering av MySQL i Azure-molnet, baserat på MySQL Community Edition. Du kan för närvarande välja från stöd för MySQL-versionerna 5.6, 5.7 och 8.0, beroende på dina behov. Stöd för ytterligare versioner kommer att tillhandahållas när MySQL utvecklas.

Du får följande funktioner med Azure Database for MySQL:

  • Inbyggda funktioner för hög tillgänglighet.
  • Förutsägbar prestanda.
  • Enkel skalning som svarar snabbt på efterfrågan.
  • Skydda data både i vila och i rörelse.
  • Automatisk säkerhetskopiering och återställning till tidpunkt för de senaste 35 dagarna.
  • Säkerhet på företagsnivå och efterlevnad av lagar.

Systemet använder Betala per användning-prissättning, och därför betalar du endast för det du använder.

Du kan välja mellan två distributionsalternativ:

Azure Database for MySQL – flexibel server

Azure Database for MySQL – Flexibel server ger bättre tillgänglighet genom att replikera dina databaser till flera tillgänglighetszoner. Du kan också starta och stoppa databastjänsten snabbt för att optimera kostnaderna.

Azure Database for MySQL tillhandahåller ett globalt databassystem som skalar upp till stora databaser utan behov av att hantera maskinvara, nätverkskomponenter, virtuella servrar, programvarukorrigeringar och andra underliggande komponenter.

Vad är Azure Database for MariaDB?

MariaDB är en förgrening av MySQL som skapades av communityn som svar på Oracles förvärv av MySQL. Azure Database for MariaDB är PaaS-implementeringen av MariaDB i Azure-molnet.

MariaDB är utformat för att vara en drop-in ersättning för MySQL, så att du kan ersätta en MySQL-databas med en MariaDB-databas utan omfattande omodering av klientappar eller ändringar i databasschemat. Många funktioner i MariaDB är desamma som i MySQL, till exempel:

  • Databasstrukturer och index
  • Datadefinitionskommandon
  • Klientprotokoll, strukturer och API:er
  • Och-programmen mysqldumpmysqladmin

Den här likheten mellan MySQL och MariaDB innebär att migreringsuppgifterna för MySQL till Azure Database for MySQL är mycket lika MariaDB som Azure Database for MariaDB. Det finns vissa skillnader mellan systemen. MariaDB stöder till exempel ColumnStore och Redis Cache, som båda kan användas för att optimera prestanda.

Kommentar

Eftersom migreringen av databaser från MySQL och MariaDB till Azure är så lik kommer de att behandlas tillsammans i den här kursen.

Viktigt!

I skrivande stund finns det inget alternativ för flexibel serverdistribution för Azure Database for MariaDB.

Vad är Azure Database for PostgreSQL?

Om du föredrar PostgreSQL kan du välja Azure Database for PostgreSQL för att få en PaaS-implementering av databasservern i Azure Cloud. Detta ger samma tillgänglighet, prestanda, skalning, säkerhet och administrativa fördelar som MySQL-tjänsten.

Du kan välja mellan tre distributionsalternativ:

Azure Database for PostgreSQL – flexibel server

Azure Database for PostgreSQL – Flexibel server ger liknande fördelar som MySQL – flexibel server. Du kan använda den för att tillhandahålla de bästa tillgänglighetsnivåerna och praktiska omstarter.

IaaS-alternativ för att köra MySQL, MariaDB och PostgreSQL i Azure

Använd IaaS-metoden för att replikera en fysisk arkitektur i molnet. Du kan välja IaaS om du vill behålla mer kontroll över de operativsystem och programvara som ligger till grund för systemet.

Det finns dock flera metoder som du kan använda för att implementera IaaS-metoden, beroende på dina krav och komplexiteten i dina befintliga system.

Lift and Shift

En metod är att spegla din lokala arkitektur i molnet genom att skapa en virtuell nätverksinfrastruktur som matchar datacentrets – du skapar en virtuell dator för varje server i ditt lokala system. Du installerar och konfigurerar programvaran för databashanteringssystemet (MySQL, MariaDB eller PostgreSQL) på de virtuella datorerna. Sedan lyfter och flyttar du systemet till molnet med liten ändring av klientkod eller konfiguration.

Med den här strategin följer du en stegvis process för migrering. Du flyttar delar av systemet stegvis till molnet, samtidigt som du behåller andra element lokalt med hjälp av Azure-nätverksgateway. Använd den här hybridmetoden för att stabilisera systemet i varje steg och återställa om det behövs.

Använda fördefinierade virtuella datorer

Marknadsplatsen innehåller virtuella datorer som är förkonfigurerade för MySQL-, MariaDB- och PostgreSQL-servrar. Dessa avbildningar sparar tid eftersom du inte behöver installera databasserverprogramvaran själv. När du konfigurerar virtuella databasdatorer kontrollerar du om det finns en avbildning på Marketplace med rätt version av databasprogramvaran och överväger att använda den.

Du kan också ladda upp en anpassad virtuell datorbild till Azure och använda den för att skapa virtuella datorer. Den här avbildningen kan innehålla valfri databasprogramvara och även själva databasen. Mer information finns i Självstudie: Skapa en anpassad avbildning av en virtuell Azure-dator med Azure PowerShell.

Använda MySQL-, MariaDB- eller PostgreSQL-containrar

En annan virtualiseringsteknik som du kan överväga är containerisering. En container är som en virtuell dator, men delar operativsystemet med värddatorn. Containrar är mindre än virtuella datorer, så du kan köra fler av dem på en värddator och starta nya snabbare. Du kan dock inte köra en Linux-container på en Windows-dator, till exempel eftersom operativsystemet delas. Om du vill köra containrar på en fysisk server behöver du programvara för containervärdar, till exempel Docker. Containrar distribueras från avbildningar och precis som virtuella datorer kan dessa avbildningar omfatta databasprogramvara som MySQL, MariaDB och PostgreSQL.

Om du vill köra ett litet antal containrar i Azure installerar du Docker på en virtuell dator. Om du använder tjänsten Container Instances kan du också köra containrar på Azure utan att konfigurera dina egna virtuella datorer. Om du enkelt vill hantera ett stort antal containrar som behöver kommunicera med varandra använder du Azure Kubernetes Service.