Databázové služby MySQL a PostgreSQL v Azure
Pokud máte funkční místní databázi, proč byste měli zvážit jeho přesun do cloudové služby, jako je Azure? Podobně proč zvážit implementaci nového databázového systému v Azure? Mnoho organizací provádí tuto migraci, protože je snadné a relativně levné vytvořit vysoce dostupnou a škálovatelnou službu v cloudu v porovnání s použitím místního datacentra.
Pro vaši začínající společnost jsou databáze, které aktuálně běží v místním prostředí MySQL a PostgreSQL, klíčové, ale omezené velikostí vašeho datového centra a velikostí vašeho týmu pro správu. Chcete zjistit, jestli tato omezení můžete řešit pomocí služeb Azure, a pokud ano, které služby jsou pro vaše potřeby nejvhodnější.
Tady se dozvíte o Azure Database for MySQL, Azure Database for MariaDB a Azure Database for PostgreSQL a možnostech nasazení, které s nimi můžete použít. Dozvíte se také o výhodách spouštění opensourcových databází na virtuálních počítačích nebo kontejnerech v Azure a přístupu IaaS (Infrastructure-as-a-Service).
Dostupnost
Dostupnost garantovaná smlouvami o úrovni služeb Azure (SLA) závisí na přesných podrobnostech vaší implementace, ale vždy jsou vysoké. Například pro Azure Database for PostgreSQL zaručuje Microsoft 99,99% dostupnost bez dalších nákladů. Pro ještě vyšší dostupnost můžete použít flexibilní server.
Pokud byste chtěli tuto dostupnost dosáhnout v místní síti, museli byste navrhovat systém odolný proti selhání hardwaru. Budete potřebovat:
- Několik fyzických serverů.
- Nástroj pro vyrovnávání zatížení, který by mohl směrovat dotazy, pokud dojde k selhání serveru.
- Síť oblasti úložiště, která sdílí data mezi servery nebo způsobem replikace dat mezi servery.
- Odolný síťový hardware.
- Datacentrum řízené prostředím.
- Nerušitelné zdroje napájení a záložní generátory.
Všechny tyto komponenty jsou nákladné a vyžadují dovednosti k implementaci a spuštění. Spotřebovávají také významné prostředky pro správu. V Azure jsou tyto požadavky již vyřešeny; právě vytváříte databázi a je integrovaná vysoká dostupnost.
Škálovatelnost
Pokud vaše uživatelská základna roste, poptávka po systému s ní roste. Každý místní systém má maximální kapacitu – pokud se k danému limitu blížíte, musíte ho zvýšit přidáním dalšího hardwaru. Kapacitu nemůžete okamžitě přidat. Místo toho musíte zakoupit hardware, nainstalovat potřebný operační systém a software, nainstalovat aktualizace a pak přidat data do nové instance databáze. Všechny tyto věci nějakou dobu trvá.
Nezapomeňte také, že vysoká poptávka je často dočasná. Pokud například spustíte úspěšnou marketingovou kampaň, může se zobrazit špička v provozu následovaná návratem k nižší poptávce. V místním nastavení musíte navrhnout systém pro tyto špičky. To znamená, že systém je většinu času nevyužitý, ale stále běží faktury a vyžaduje údržbu.
Tyto výzvy jsou mnohem jednodušší překonat v cloudu. Pokud váš systém dosáhne své kapacity, můžete velmi rychle reagovat – například přechodem na větší vrstvu nebo přidáním virtuálních počítačů. Pokud poptávka klesne, rychle ušetříte peníze tím, že odeberete kapacitu. V Azure platíte jenom za kapacitu, kterou používáte.
IaaS a PaaS
Při implementaci databáze v Azure si můžete vybrat alespoň ze dvou přístupů v závislosti na požadované úrovni řízení:
- Infrastruktura jako služba (IaaS). Pokud zvolíte přístup IaaS, Azure za vás spustí fyzickou infrastrukturu. Vytvoříte virtuální počítače a virtuální sítě, které je připojí, a pak nainstalujete potřebný software a data. Spuštění virtuálního počítače se podobá spuštění fyzického serveru. Operační systém a software udržujete, ale nemusíte se starat o datacentrum, řízení životního prostředí nebo připojení k internetu.
- Platforma jako služba (PaaS). Pokud zvolíte přístup PaaS, Azure spustí fyzickou infrastrukturu, nezbytné virtuální servery a databázový software. U těchto komponent nemusíte provádět úlohy konfigurace ani údržby. Azure například automaticky použije balíčky Services Pack. Můžete se soustředit na správu databáze. Mezi nabídky PaaS pro spouštění opensourcových databází v Azure patří Azure Database for MySQL, Azure Database for MariaDB a Azure Database for PostgreSQL.
Jaké jsou služby Azure Database for MySQL, MariaDB a PostgreSQL?
Pokud máte místní databázový systém založený na MySQL, MariaDB nebo PostgreSQL a chcete databázi přesunout do cloudu, zvažte použití Azure Database for MySQL, Azure Database for MariaDB nebo Azure Database for PostgreSQL. Tyto služby můžete také chtít použít k implementaci nových databází. Pokud například vaši vývojáři a správci databází mají zkušenosti s těmito databázovými servery a nechcete, aby strávili čas učením nového systému, pak pomocí azure Database for MySQL, Azure Database for MariaDB nebo Azure Database for PostgreSQL můžou zaměstnanci využívat své stávající znalosti. Azure Database for MySQL, Azure Database for MariaDB a Azure Database for PostgreSQL jsou systémy PaaS, takže se nemusíte zabývat návrhem nebo implementací virtuálních serverů nebo sítí.
Co je Azure Database for MySQL?
Azure Database for MySQL je implementace PaaS MySQL v cloudu Azure založená na edici MySQL Community Edition. V závislosti na vašich potřebách můžete aktuálně vybírat z podpory pro MySQL verze 5.6, 5.7 a 8.0. Podpora dalších verzí bude poskytována s tím, jak se MySQL vyvíjí.
S Azure Database for MySQL získáte následující funkce:
- Integrované funkce s vysokou dostupností
- Předvídatelný výkon.
- Snadné škálování, které rychle reaguje na požadavky.
- Zabezpečená data, a to neaktivní uložená data i data v pohybu.
- Automatické zálohování a obnovení k určitému bodu v čase za posledních 35 dnů.
- Zabezpečení a dodržování předpisů na podnikové úrovni.
Systém používá průběžné platby, takže platíte jenom za to, co používáte.
Můžete si vybrat ze dvou možností nasazení:
Flexibilní server Azure Database for MySQL
Flexibilní server Azure Database for MySQL poskytuje větší dostupnost tím, že replikuje databáze do několika zón dostupnosti. Umožňuje také rychle spustit a zastavit databázovou službu, abyste optimalizovali náklady.
Azure Database for MySQL poskytuje globální databázový systém, který se škáluje na velké databáze, aniž by bylo nutné spravovat hardware, síťové komponenty, virtuální servery, softwarové opravy a další základní komponenty.
Co je Azure Database for MariaDB?
MariaDB je fork MySQL, který vytvořila komunita v reakci na získání MySQL společností Oracle. Azure Database for MariaDB je implementace MariaDB PaaS v cloudu Azure.
MariaDB je navržená tak, aby byla náhradou za MySQL, takže databázi MySQL můžete nahradit databází MariaDB bez rozsáhlého překódování klientských aplikací nebo změn ve schématu databáze. Mnoho funkcí MariaDB je stejné jako v MySQL, například:
- Databázové struktury a indexy
- Příkazy definice dat
- Klientské protokoly, struktury a rozhraní API
- Programy a
mysqladmin
programymysqldump
Tato podobnost mezi MySQL a MariaDB znamená, že úlohy migrace pro MySQL do Služby Azure Database for MySQL jsou velmi podobné službě Azure Database for MariaDB. Mezi systémy existují určité rozdíly. MariaDB například podporuje ColumnStore a Redis Cache, z nichž obě se dají použít k optimalizaci výkonu.
Poznámka:
Vzhledem k tomu, že migrace databází z MySQL a MariaDB do Azure je tak podobná, budou se v tomto kurzu zabývat společně.
Důležité
V době psaní není pro Azure Database for MariaDB k dispozici žádná možnost nasazení flexibilního serveru.
Co je Azure Database for PostgreSQL?
Pokud dáváte přednost PostgreSQL, můžete zvolit Azure Database for PostgreSQL a získat implementaci paaS tohoto databázového serveru v cloudu Azure. To poskytuje stejné výhody dostupnosti, výkonu, škálování, zabezpečení a správy jako služba MySQL.
Můžete si vybrat ze tří možností nasazení:
Flexibilní server Azure Database for PostgreSQL
Flexibilní server Azure Database for PostgreSQL nabízí podobné výhody jako flexibilní server MySQL. Můžete ho použít k zajištění nejvyšší úrovně dostupnosti a pohodlných restartování.
Možnosti IaaS pro spouštění MySQL, MariaDB a PostgreSQL v Azure
Pomocí přístupu IaaS můžete replikovat fyzickou architekturu v cloudu. IaaS můžete zvolit, pokud chcete zachovat větší kontrolu nad operačními systémy a softwarem, který je základem vašeho systému.
Existuje však několik přístupů, které můžete přijmout k implementaci přístupu IaaS v závislosti na vašich požadavcích a složitosti stávajících systémů.
Migrace metodou „lift and shift“
Jedním z přístupů je zrcadlení místní architektury v cloudu vytvořením infrastruktury virtuální sítě, která odpovídá infrastruktuře vašeho datacentra – vytvoříte virtuální počítač pro každý server v místním systému. Na virtuálních počítačích nainstalujete a nakonfigurujete software systému pro správu databází (MySQL, MariaDB nebo PostgreSQL). Potom systém zvednete a přesunete do cloudu s malou změnou kódu nebo konfigurace klienta.
S touto strategií budete postupovat podle podrobného postupu migrace. Části systému se postupně přesunou do cloudu a současně zachovávají další prvky místně pomocí síťové brány Azure. Tento hybridní přístup použijte ke stabilizaci systému v jednotlivých krocích a v případě potřeby se vraťte zpět.
Použití předem připravených virtuálních počítačů
Marketplace zahrnuje předem nakonfigurované virtuální počítače pro servery MySQL, MariaDB a PostgreSQL. Tyto image šetří čas, protože nemusíte instalovat software databázového serveru sami. Při nastavování databázových virtuálních počítačů zkontrolujte, jestli na Marketplace není image se správnou verzí databázového softwaru, a zvažte její použití.
Do Azure můžete také nahrát vlastní image virtuálního počítače a použít ji k vytvoření virtuálních počítačů. Tato image může zahrnovat databázový software podle vašeho výběru a dokonce i samotnou databázi. Další informace najdete v tématu Kurz: Vytvoření vlastní image virtuálního počítače Azure pomocí Azure PowerShellu.
Použití kontejnerů MySQL, MariaDB nebo PostgreSQL
Další virtualizační technologie, kterou byste mohli zvážit, je kontejnerizace. Kontejner je jako virtuální počítač, ale sdílí operační systém s hostitelským počítačem. Kontejnery jsou menší než virtuální počítače, takže můžete na hostitelském počítači spouštět více z nich a spouštět nové počítače rychleji. Na počítači s Windows ale nemůžete spustit kontejner Linuxu, protože operační systém je sdílený. Ke spouštění kontejnerů na fyzickém serveru potřebujete hostitelský software kontejneru, například Docker. Kontejnery se nasazují z imagí a podobně jako virtuální počítače můžou tyto image zahrnovat databázový software, jako je MySQL, MariaDB a PostgreSQL.
Pokud chcete spustit malý počet kontejnerů v Azure, nainstalujte Docker na virtuální počítač. Pokud používáte službu Container Instances, můžete také spouštět kontejnery v Azure bez nastavení vlastních virtuálních počítačů. Pokud chcete snadno spravovat velký počet kontejnerů, které spolu potřebují komunikovat, použijte službu Azure Kubernetes Service.