sql >> Databáze >  >> RDS >> MariaDB

Porovnání nabídek Galera Cluster Cloud:Část druhá Google Cloud Platform (GCP)

V našem posledním blogu jsme diskutovali o nabídkách dostupných v rámci Amazon Web Services (AWS) při spuštění MySQL Galera Cluster. V tomto blogu budeme pokračovat v diskusi tím, že se dále podíváme na to, jaké jsou nabídky pro provozování stejné technologie clusterů, ale tentokrát na platformě Google Cloud Platform (GCP).

GCP jako alternativa k AWS neustále přitahuje aplikace vhodné pro DevOps tím, že nabízí podporu pro širokou škálu full-stack technologií, kontejnerové aplikace a velké produkční databázové systémy. Google Cloud je plnohodnotné, bitvami testované prostředí, které pohání vlastní hardwarovou infrastrukturu společnosti Google pro produkty jako YouTube a Gmail.

GCP si získal popularitu především díky svému neustále rostoucímu seznamu schopností. Nabízí podporu pro platformy jako Visual Studio, Android Studio, Eclipse, Powershell a mnoho dalších. GCP má jednu z největších a nejpokročilejších počítačových sítí a poskytuje přístup k řadě nástrojů, které vám pomohou soustředit se na vytváření vaší aplikace.

Další věcí, která zákazníky přitahuje k migraci, importu nebo používání Google Cloud, je jejich silná podpora a řešení pro kontejnerizaci. Kubernetes (GKE:Google Kubernetes Engine) je postaven na jejich platformě.

Společnost GCP nedávno také spustila nové řešení nazvané Anthos. Tento produkt je navržen tak, aby umožnil organizacím spravovat pracovní zátěž pomocí stejného rozhraní na platformě Google Cloud Platform (GCP) nebo místně pomocí GKE On-Prem, a dokonce i na konkurenčních cloudech, jako jsou Amazon Web Services (AWS) nebo Azure.

Kromě těchto technologií nabízí GCP sofistikované a výkonné, výpočetně optimalizované typy strojů, jako je řada C2 v GCE, která je postavena na nejnovější generaci škálovatelných procesorů Intel (Cascade Lake).

GCP nadále podporuje také open source, což uživatelům přináší výhody tím, že poskytuje dobře podporovaný a přímočarý rámec, který usnadňuje včasné dodání finálního produktu. Navzdory této podpoře open source technologie GCP neposkytuje nativní podporu pro nasazení nebo konfiguraci MySQL Galera Cluster. V tomto blogu vám ukážeme jedinou možnost, kterou máte k dispozici, pokud chcete tuto technologii používat, nasazení prostřednictvím výpočetní instance, kterou si musíte spravovat sami.

Google Compute Engine (GCE)

GCE má pro vaši spotřebu k dispozici sofistikovanou a výkonnou sadu výpočetních uzlů. Na rozdíl od AWS má GCE nejvýkonnější výpočetní uzel dostupný na trhu (n1-ultramem-160 se 160 vCPU a 3,75 TB paměti). Společnost GCE také nedávno představila nový typ rodiny instancí výpočtu s názvem C2 machine-type. Typy strojů C2, postavené na nejnovější generaci škálovatelných procesorů Intel (Cascade Lake), nabízejí až 3,8 GHz trvalé turbodmychadlo všech jader a poskytují plnou transparentnost do architektury základních serverových platforem; vám umožní doladit výkon. Typy strojů C2 nabízejí mnohem větší výpočetní výkon, běží na novější platformě a jsou obecně robustnější pro výpočetně náročné pracovní zatížení než typy strojů N1 s vysokým CPU. Nabídka rodiny C2 je omezená (v době psaní tohoto článku) a není dostupná ve všech regionech a zónách. C2 také nepodporuje regionální trvalé disky, i když by to byl skvělý doplněk pro stavové databázové služby, které vyžadují redundanci a vysokou dostupnost. Prostředky instance C2 jsou pro uzel Galera příliš mnoho, takže se místo toho zaměříme na výpočetní uzly, které jsou ideální.

GCE také používá KVM jako svůj software virtualizační technologie, zatímco Amazon používá Xen. Podívejme se na výpočetní uzly dostupné v GCE, které jsou vhodné pro spuštění Galery spolu s ekvivalentem v AWS EC2. Ceny se liší podle regionu, ale pro tento graf používáme region USA-východ s použitím typu cen na vyžádání pro AWS.

Typ stroje/instance

Výpočetní modul Google

AWS EC2

Sdíleno

f1-micro

G1-small

Ceny začínají na 0,006 –  0,019 USD za hodinu

t2.nano – t3.2xlarge'

Cena začíná na 0,0058 – 0,3328 USD za hodinu

Standardní

n1-standard-1 – n1-standard-96

Ceny začínají na 0,034 – 3,193 USD za hodinu

m4.large – m4.16xlarge

m5.large – m5d.metal

Ceny začínají na 0,1–5,424 USD za hodinu

Vysoká paměť / Optimalizace paměti

n1-highmem-2 – n1-highmem-96

n1-megamem-96

n1-ultramem-40 – n1-ultramem-160

Ceny začínají na 0,083 – 17,651 USD za hodinu

r4.large – r4.16xlarge

x1,16xlarge – x1,32xlarge

x1e.xlarge – x1e.32xlarge

Ceny začínají na 0,133 – 26,688 USD za hodinu

Vysoká optimalizace pro CPU/úložiště

n1-highcpu-2 – n1-highcpu-32

Ceny začínají na 0,05 – 2,383 USD za hodinu

h1,2xlarge – h1,16xlarge

i3.large – i3.metal

I3en.large - i3en.metal

d2.xlarge – d2.8xlarge

Ceny začínají na 0,156 – 10,848 USD za hodinu

GCE má na rozdíl od AWS na výběr menší počet dostupných předdefinovaných typů výpočetních uzlů. Pokud jde o typ uzlu, má však větší granularitu. To usnadňuje nastavení a výběr, jaký druh instance chcete použít. Můžete například přidat disk a nastavit jeho velikost fyzického bloku (4 je výchozí) na 16 nebo můžete nastavit jeho režim buď pro čtení/zápis, nebo pouze pro čtení. To vám umožní nabídnout správný typ počítače nebo výpočetní instance připravené ke správě vašeho uzlu Galera. Můžete také vytvořit instanci svých výpočetních uzlů pomocí Cloud SDK nebo pomocí Cloud API, abyste je automatizovali nebo integrovali do vaší průběžné integrace, doručování nebo nasazování (CI/CD).

Cena (výpočetní instance, disk, vCPU, paměť a síť)

Cena také závisí na regionu, kde se nachází, na typu operačního systému nebo licencování (RHEL vs. Suse Linux Enterprise) a také na typu diskového úložiště, které používáte.

GCP také nabízí slevy, které vám umožní šetřit vaši spotřebu zdrojů. Pro Compute Engine poskytuje různé slevy, které můžete využít.

Slevy na trvalé používání se vztahují na následující zdroje:

  • VCPU a paměť pro univerzální uživatelské a předdefinované typy počítačů

  • VCPU a paměť pro typy počítačů s optimalizovanou pamětí

  • VCPU a paměť pro výpočetně optimalizované typy počítačů

  • VCPU a paměť pro uzly jediného tenanta

  • 10% prémiové náklady pro uzly s jediným nájemcem, i když se na vCPU a paměť v těchto uzlech vztahují slevy na vázané používání

  • Zařízení GPU1

Vezměte na vědomí, že slevy na trvalé používání se nevztahují na virtuální počítače vytvořené pomocí App Engine Flexible Environment a Cloud Dataflow.

Slevy za vázané použití můžete použít také při nákupu VMS, který je vázán smlouvou. Tento typ výběru je ideální pro předvídatelné pracovní zatížení a potřeby zdrojů. Když si zakoupíte smlouvu o závazném používání, zakoupíte určité množství vCPU, paměti, GPU a místních SSD za zvýhodněnou cenu výměnou za závazek platit za tyto zdroje po dobu 1 roku nebo 3 let. Sleva je až 57 % pro většinu zdrojů, jako jsou typy strojů nebo GPU. Sleva je až 70 % pro typy strojů s optimalizovanou pamětí. Po zakoupení vám budou měsíčně účtovány prostředky, které jste si zakoupili, po dobu trvání vámi zvoleného období (ať už služby používáte či nikoli).

Preemptibilní virtuální počítač je instance, kterou můžete vytvořit a spustit za mnohem nižší cenu než normální instance. Compute Engine však může ukončit (preempt) tyto instance, pokud vyžaduje přístup k těmto zdrojům pro jiné úlohy. Preemptibilní instance využívají nadbytečnou kapacitu Compute Engine, takže jejich dostupnost se liší podle použití.

Pokud jsou vaše aplikace odolné proti chybám a dokážou odolat možným preempcím instancí, pak mohou preemptovatelné instance výrazně snížit vaše náklady na výpočetní modul. Úlohy dávkového zpracování mohou například běžet na preemptivních instancích. Pokud se některá z těchto instancí během zpracování ukončí, úloha se zpomalí, ale zcela nezastaví. Preemptibilní instance dokončují vaše úlohy dávkového zpracování, aniž by na vaše stávající instance nanášely další zátěž a aniž byste museli platit plnou cenu za další normální instance.

U Compute Engine se velikost disku, typ paměti počítače a využití sítě počítají v gigabajtech (GB), kde 1 GB je 230 bajtů. Tato měrná jednotka je také známá jako gibibyte (GiB). To znamená, že GCP vám nabízí platit pouze na základě spotřeby zdrojů, které jste alokovali.

Nyní, pokud máte vysoce kvalitní produkční databázovou aplikaci, je doporučeno (a ideální) připojit nebo přidat samostatný trvalý disk. Tento disk byste pak použili jako svazek databáze, protože vám nabízí spolehlivý a konzistentní výkon disku v GCE. Čím vyšší velikost nastavíte, tím vyšší IOPS vám nabízí. Podívejte se na jejich seznam stálých cen disků a určete cenu, kterou byste dostali. Kromě toho má GCE regionální perzistentní disk, který je vhodný v případě, že požadujete pevnější a udržitelnější vysokou dostupnost v rámci vašeho databázového clusteru. Regionální trvalý disk přidává více redundance v případě, že se vaše instance ukončí, zhroutí nebo se poškodí. Poskytuje synchronní replikaci dat mezi dvěma zónami v jedné oblasti, která probíhá transparentně v instanci virtuálního počítače. V nepravděpodobném případě selhání zóny může vaše úloha přejít při selhání na jinou instanci virtuálního počítače ve stejné nebo sekundární zóně. Poté můžete vynutit připojení regionálního trvalého disku k této instanci. Doba nuceného připojení se odhaduje za méně než jednu minutu.

Pokud zálohy ukládáte jako součást řešení pro obnovu po havárii a vyžadujete svazek, který je pro celý cluster, GCP nabízí úložiště souborů Cloud, NetApp Cloud Volumes a některá další alternativní řešení pro sdílení souborů. Jedná se o plně spravované služby, které nabízejí standardní a prémiové služby. Cenovou stránku NetApp si můžete prohlédnout zde a ceny Filestore zde.

Šifrování Galera na GCP

GCP nezahrnuje specifickou podporu pro typ šifrování dostupný pro Galera. GCP však ve výchozím nastavení šifruje zákaznická data uložená v klidu, aniž byste museli provádět žádnou další akci. GCP také nabízí další možnost šifrování dat pomocí šifrovacích klíčů spravovaných zákazníkem (CMEK) s Cloud KMS a také pomocí šifrovacích klíčů dodaných zákazníkem (CSEK). GCP také používá šifrování SSL/TLS pro veškerou komunikaci zachycenou při přesunu dat mezi vaším webem a poskytovatelem cloudu nebo mezi dvěma službami. Této ochrany je dosaženo šifrováním dat před přenosem; ověřování koncových bodů; a dešifrování a ověření dat při příjezdu.

Protože Galera pod kapotou používá MySQL (Percona, MariaDB nebo Codership build), můžete využít zásuvný modul File Key Management Encryption od MariaDB nebo pomocí zásuvných modulů MySQL Keyring. Zde je externí blog společnosti Percona, který je dobrým zdrojem informací o tom, jak to můžete implementovat.

Galera Cluster Multi-AZ/Multi-Region/Multi-Cloud Deployment with GCP

Podobně jako AWS nenabízí GCP přímou podporu pro nasazení clusteru Galera na Multi-AZ/-Region/-Cloud.

Vysoká dostupnost, škálovatelnost a redundance Galera Cluster na GCP

Jedním z hlavních důvodů pro použití clusteru uzlů Galera je vysoká dostupnost, redundance a schopnost škálování. Pokud obsluhujete provoz globálně, je nejlepší, abyste svou návštěvnost uspokojili podle regionů svým architektonickým návrhem včetně geografického rozložení uzlů databáze. Aby toho bylo dosaženo, je doporučené a dosažitelné nasazení více AZ a více regionů nebo více cloudů/multi datových center. To zabrání tomu, aby klastr přešel dolů nebo selhal kvůli nedostatku kvora.

Aby vám GCP lépe pomohl s návrhem škálovatelnosti, má také automatické škálování, které můžete nastavit pomocí skupiny automatického škálování. To bude fungovat, pokud jste svůj cluster vytvořili jako skupiny spravovaných instancí. Můžete například monitorovat využití CPU nebo se spoléhat na metriky ze Stackdriver definované ve vaší zásadě automatického škálování. To vám umožňuje zajišťovat a automatizovat instance, když je dosaženo určité prahové hodnoty, nebo ukončit instance, když se vrátí do normálního stavu.

Pro nasazení ve více regionech nebo více cloudech má Galera svůj vlastní parametr nazvaný gmcast.segment, u kterého to můžete nastavit při spuštění serveru. Tento parametr je navržen tak, aby optimalizoval komunikaci mezi uzly Galera a minimalizoval objem provozu odesílaného mezi segmenty sítě. To zahrnuje přenos sady zápisů a výběr dárců IST a SST. Tento typ nastavení umožňuje nasadit více uzlů v různých oblastech. Kromě toho můžete své uzly Galera nasadit také na směrování jiného cloudového dodavatele z GCP, AWS, Microsoft Azure nebo v rámci on-premise.

Doporučujeme, abyste se podívali na náš blog Nastavení více datových center pomocí Galera Cluster pro MySQL nebo MariaDB a migrace sítě s nulovými výpadky s MySQL Galera Cluster pomocí Relay Node, abyste získali další informace o implementaci těchto typů nasazení.

Výkon databáze clusteru Galera na GCP

Vzhledem k tomu, že v GCP není dostupná podpora pro Galera, závisí váš výběr na požadavcích a návrhu provozu a zdrojů vaší aplikace. U dotazů, které mají vysokou spotřebu paměti, můžete začít s instancí n1-highmem-2. Instance s vysokým procesorem (rodina n1-highcpu*) se mohou hodit, pokud se jedná o vysoce transakční databázi, nebo se mohou hodit pro herní aplikace.

Výběr správného úložiště a požadovaných IOPS pro svazek vaší databáze je nutností. Obecně platí, že trvalý disk založený na SSD je vaší volbou. Záleží na požadovaném objemu provozu. Možná budete muset zkontrolovat možnosti úložiště GCP, abyste mohli určit správnou velikost pro vaši aplikaci.

Doporučujeme také zkontrolovat a přečíst si náš blog Jak zlepšit výkon Galera Cluster pro MySQL nebo MariaDB, kde se dozvíte více o optimalizaci Galera Clusteru.

Zálohování dat Galera na GCP

Nemusí být zálohována pouze vaše data MySQL Galera, měli byste také zálohovat celou vrstvu, která obsahuje vaši databázovou aplikaci. To zahrnuje soubory protokolu (logické nebo binární), externí soubory, dočasné soubory, soubory výpisů atd. Společnost Google doporučuje, abyste vždy vytvořili snímek svazků trvalých disků, které používají vaše instance GCE. Můžete snadno vytvářet a plánovat snímky. Snímky GCP jsou uloženy v cloudovém úložišti a můžete si vybrat požadované umístění nebo oblast, kde bude záloha umístěna. Můžete také nastavit plán pro své snímky a také nastavit zásady uchovávání snímků.

Můžete také použít externí služby, jako je ClusterControl, které vám poskytují řešení pro monitorování i zálohování. Pokud se chcete dozvědět více, podívejte se na toto.

Monitorování databáze clusteru Galera na GCP

GCP nenabízí monitorování databáze při použití GCE. Monitorování vašeho stavu instance lze provádět prostřednictvím Stackdriveru. Pro databázi však budete muset získat externí monitorovací nástroj, který má pokročilé, vysoce granulární databázové metriky. Existuje mnoho možností, ze kterých si můžete vybrat, jako je PMM od Percona, DataDog, Idera, VividCortex nebo naše vlastní ClusterControl (Monitorování je ZDARMA s komunitou ClusterControl.)

Zabezpečení databáze Galera Cluster na GCP

Jak bylo uvedeno v našem předchozím blogu, můžete použít stejný přístup k zabezpečení databáze ve veřejném cloudu. V GCP můžete nastavit soukromou podsíť, pravidla brány firewall, která povolí pouze porty potřebné pro spuštění Galery (zejména porty 3306, 4444, 4567, 4568). Pro přístup k vašim soukromým databázovým uzlům můžete použít bránu NAT nebo nastavit hostitele bastionu. Když jsou tyto uzly zapouzdřeny, nelze k nim přistupovat z vnějšku prostor GCP. Jak jsme to nastavili, si můžete přečíst v našem předchozím blogu Deploying Secure Multicloud MySQL Replication on AWS a GCP with VPN.

Kromě toho můžete svá data během přenosu zabezpečit pomocí připojení TLS/SSL nebo šifrováním dat, když jsou v klidu. Pokud používáte ClusterControl, nasazení zabezpečeného přenosu dat je jednoduché a snadné. Pokud si to chcete vyzkoušet, můžete se podívat na náš blog Správa klíčů SSL a šifrování dat MySQL v Transitu. Pokud jde o data v klidu, můžete sledovat diskuzi, kterou jsem uvedl dříve v sekci Šifrování tohoto blogu.

Odstraňování problémů s clusterem Galera 

GCP nabízí protokolování Stackdriver, které můžete využít k tomu, aby vám pomohlo s požadavky na pozorovatelnost, monitorování a upozornění. Skvělá věc na Stackdriver Logging je, že nabízí integraci s AWS. S ním můžete zachytit události selektivně a poté na základě této události vyvolat upozornění. Díky tomu budete mít přehled o určitých problémech, které mohou nastat, a pomůže vám to při odstraňování problémů. GCP má také protokoly cloudového auditu, které vám poskytují lépe sledovatelné informace z prostředí GCP, z činnosti správce, přístupu k datům a systémových událostí.

Pokud používáte ClusterControl, přejděte do Logs -> System Logs a budete moci procházet zachycené protokoly chyb převzaté ze samotného uzlu MySQL Galera. Kromě toho ClusterControl poskytuje monitorování v reálném čase, které by zesílilo váš poplachový a oznamovací systém v případě nouze nebo pokud je váš uzel MySQL Galera kaput.

Závěr

Google Cloud Platform nabízí širokou škálu účinných a výkonných služeb, které můžete využít. Pro každou z veřejných cloudových platforem skutečně existují klady a zápory, ale GCP dokazuje, že AWS nemá zámek na cloud.

Je zajímavé, že velké společnosti jako Vimeo přecházejí na GCP pocházející z on-premise a ve svém technologickém zásobníku zaznamenaly zajímavé výsledky. Bloomberg je také spokojen s GCP a používá Percona XtraDB Cluster (varianta Galera). Dejte nám vědět, co si myslíte o používání GCP pro nastavení MySQL Galera v komentářích níže.


  1. Jak odstranit řádek mysql po uplynutí času?

  2. Řešení pro limit Access 255 Columns Limit

  3. Jednoduchý dotaz Oracle:doslovný neodpovídá formátovacímu řetězci

  4. Je někdy volána metoda onUpgrade?