sql >> Database teknologi >  >> RDS >> MariaDB

Sammenligning af Galera Cluster Cloud-tilbud:Tredje del Microsoft Azure

Microsoft Azure er kendt af mange som en alternativ offentlig cloud-platform til Amazon AWS. Det er ikke let at sammenligne disse to gigantiske virksomheder direkte. Microsofts cloud-forretning - kaldet kommerciel sky - inkluderer alt fra Azure til Office 365-virksomhedsabonnementer til Dynamics 365 til LinkedIn-tjenester. Efter at LinkedIn blev opkøbt af Microsoft, begyndte det at flytte sin infrastruktur til Azure. Selvom det kan tage noget tid at flytte LinkedIn til Azure, demonstrerer det Microsoft Azures evner og evne til at håndtere millioner af transaktioner. Microsofts stærke virksomhedsarv, softwarestack og datacenterværktøjer tilbyder både fortrolighed og en hybrid tilgang til cloud-implementeringer.

Microsoft Azure er bygget som en Infrastructure as a Service (IaaS) samt en Platform as a Service (PaaS). Den virtuelle Azure-maskine tilbyder fakturering pr. sekund, og det er i øjeblikket en multi-tenant-beregning. Det har dog for nylig forhåndsvist sit nye tilbud, som gør det muligt for virtuelle maskiner at køre på fysiske servere med én lejer. Tilbuddet hedder Azure Dedicated Hosts.

Azure tilbyder også specialiserede store forekomster (såsom for SAP HANA). Der er multitenant-blokke, fillagring og mange andre ekstra IaaS- og PaaS-funktioner. Disse omfatter objektlagring (Azure Blob Storage), et CDN, en Docker-baseret containertjeneste (Azure Container Service), en batch-computertjeneste (Azure Batch) og hændelsesdrevet "serverløs computing" (Azure Functions). Azure Marketplace tilbyder tredjepartssoftware og -tjenester. Samlokaliseringsbehov opfyldes via partnerudvekslinger (Azure ExpressRoute), der tilbydes fra partnere som Equinix og CoreSite.

Med alle disse tilbud har Microsoft Azure øget sit spil til at spille en afgørende rolle på det offentlige cloud-marked. PaaS-infrastrukturen, der tilbydes til sine forbrugere, har høstet meget tillid, og mange flytter deres egen infrastruktur eller private cloud til Microsoft Azures offentlige cloud-infrastruktur. Dette er især fordelagtigt for forbrugere, der har brug for integration med andre Windows-tjenester, såsom Visual Studio.

Så hvad er forskellen mellem Azure og de andre skyer, vi har set på i denne serie? Microsoft har fokuseret stærkt på kunstig intelligens, analyser og tingenes internet. AzureStack er en anden "cloud-meets-data center"-indsats, der har været en reel differentiator på markedet.

Microsoft Azure Migration fordele og ulemper

Der er flere ting, du bør overveje, når du flytter dine ældre applikationer eller infrastruktur til Microsoft Azure.

Styrker

  • Virksomheder, der er strategisk engageret i Microsoft-teknologi, vælger generelt Azure som deres primære IaaS+PaaS-udbyder. Den integrerede end-to-end-oplevelse for virksomheder, der bygger .NET-applikationer ved hjælp af Visual Studio (og relaterede tjenester) er uovertruffen. Microsoft udnytter også sin enorme salgsrækkevidde og evne til at sælge Azure sammen med andre Microsoft-produkter og -tjenester for at fremme adoptionen.
  • Azure tilbyder en velintegreret tilgang til edge computing og Internet of Things (IoT) med tilbud, der når fra dets hyperskala datacenter og ud gennem edge-løsninger såsom AzureStack og Data Box Edge.
  • Microsoft Azures muligheder er blevet mere og mere innovative og åbne. 50 % af arbejdsbelastningerne er Linux-baserede sammen med adskillige open source-applikationsstakke. Microsoft har en unik vision for fremtiden, der involverer at bringe teknologipartnere ind gennem indbyggede førstepartstilbud såsom dem fra VMware, NetApp, Red Hat, Cray og Databricks.

Forsigtig

  • Microsoft Azures pålidelighedsproblemer er fortsat en udfordring for kunderne, hovedsagelig som følge af Azures vokseværk. Siden september 2018 har Azure haft flere servicepåvirkende hændelser, herunder betydelige udfald, der involverer Azure Active Directory. Disse udfald giver kunderne ingen mulighed for at afbøde nedetiden.
  • Gartner-kunder oplever ofte udfordringer med at udføre implementeringer til tiden inden for budgettet. Dette kommer fra, at Microsoft ofte leverer urimeligt høje forventninger til kunderne. Meget af dette stammer fra, at Microsofts salgsteams i marken er blevet "opmuntret" til at placere og sælge Azure på en passende måde i sin kundebase.
  • Virksomheder beklager ofte kvaliteten af ​​Microsofts tekniske support (sammen med de stigende omkostninger til support) og feltløsningsarkitekter. Dette påvirker kundetilfredsheden negativt og forsinker Azure-indførelsen og dermed kundeforbruget.

Microsoft er måske ikke dit førstevalg, da det er blevet set som en "ikke-så-open-source-venlig" teknologigigant, men retfærdigvis har det omfavnet en masse aktivitet og støtte inden for Open Source verden. Microsoft Azure tilbyder fuldt administrerede tjenester til de fleste af de bedste open source RDBMS-databaser som PostgreSQL, MySQL og MariaDB.

Galera Cluster-varianter (Percona, Codership eller MariaDB) understøttes desværre ikke af Azure. Den eneste måde, du kan implementere din Galera Cluster til Azure, er ved hjælp af en virtuel maskine. Du vil måske også tjekke deres blog om brug af MariaDB Enterprise Cluster (som er baseret på Galera) på Azure.

Azures virtuelle maskine

Virtuel maskine er det tilsvarende tilbud til computerforekomster i GCP og AWS. En Azure Virtual Machine er en on-demand, højtydende computerserver i skyen og kan implementeres i Azure ved hjælp af forskellige metoder. Disse kan omfatte brugergrænsefladen i Azure-portalen, brug af forudkonfigurerede billeder på Azure-markedspladsen, scripting gennem Azure PowerShell, implementering fra en skabelon, der er defineret ved hjælp af en JSON-fil, eller ved at implementere direkte gennem Visual Studio.

Azure bruger en implementeringsmodel kaldet Azure Resource Manager (ARM), som definerer alle ressourcer, der udgør en del af din overordnede applikationsløsning, så du kan implementere, opdatere eller slette din løsning i en enkelt handling .

Ressourcer kan omfatte lagerkontoen, netværkskonfigurationer og IP-adresser. Du har måske hørt udtrykket "ARM-skabeloner", som grundlæggende betyder JSON-skabelonen, som definerer de forskellige aspekter af din løsning, som du forsøger at implementere.

Azure Virtual Machines kommer i forskellige typer og størrelser, med navne, der begynder med A-serie til N-serie. Hver VM-type er bygget med specifikke arbejdsbelastninger eller præstationsbehov i tankerne, inklusive generelle formål, computeroptimeret, lageroptimeret eller hukommelsesoptimeret. Du kan også implementere mindre almindelige typer som GPU eller højtydende computer-VM'er.

I lighed med andre offentlige cloud-tilbud kan du gøre følgende i dine virtuelle maskiner...

  • Krypter din disk på den virtuelle maskine . Selvom dette ikke kommer nemt i forhold til GCP og AWS. Kryptering af din virtuelle maskine kræver en mere manuel tilgang. Det kræver, at du udfylder Azure Disk Encryption-kravene. Da Galera ikke understøtter Windows, taler vi her kun om Linux-baserede billeder. Grundlæggende kræver det, at du har dm-crypt- og vfat-moduler til stede i systemet. Når du har fået den del rigtigt, kan du kryptere VM'en ved hjælp af Azure CLI. Du kan se, hvordan du aktiverer Azure Disk Encryption for Linux IaaS VM'er for at se, hvordan du gør det. Kryptering af din disk er meget vigtigt, især hvis din virksomhed eller organisation kræver, at dine Galera Cluster-data skal følge de standarder, der er påbudt af love og regler, såsom PCI DSS eller GDPR.
  • Oprettelse af et øjebliksbillede . Du kan oprette et øjebliksbillede enten ved hjælp af Azure CLI eller gennem portalen. Tjek deres manual for, hvordan du gør det.
  • Brug automatisk skalering eller Virtual Machine Scale Sets, hvis du har brug for vandret skalering . Se oversigten over autoskalering i Azure eller oversigten over skalasæt for virtuelle maskiner.
  • Multi Zone-implementering . Implementer dine virtuelle maskine-instanser i forskellige tilgængelighedszoner for at undgå et enkelt fejlpunkt.

Du kan også oprette (eller få information fra) dine virtuelle maskiner på forskellige måder. Du kan bruge Azure Portal, Azure PowerShell, REST API'er, Client SDK'er eller med Azure CLI. Virtuelle maskiner i det virtuelle Azure-netværk kan også nemt forbindes til din organisations netværk og behandles som et udvidet datacenter.

Microsoft Azure-priser

Ligesom andre offentlige cloud-udbydere tilbyder Microsoft Azure også et gratis niveau med nogle gratis tjenester. Det tilbyder også pay-as-you-go-muligheder og reserverede forekomster at vælge imellem. Pay-as-you-go starter ved $0,008/time - $0,126/time.

For reserverede forekomster, jo længere tid du forpligter og indgår kontrakt med Azure, jo mere du sparer på omkostningerne. Microsoft Azure hævder at hjælpe abonnenter med at spare op til 72 % af deres faktureringsomkostninger sammenlignet med sin pay-as-you-go-model, når abonnenter tilmelder sig et til tre år for en Windows- eller Linux Virtual Machine. Microsoft tilbyder også ekstra fleksibilitet i den forstand, at hvis din virksomheds behov ændrer sig, kan du til enhver tid opsige dit Azure RI-abonnement og returnere den resterende ubrugte RI til Microsoft som et tidligt opsigelsesgebyr.

Lad os tjekke priserne i sammenligning mellem GCP, AWS EC2 og en Azure Virtual Machine. Dette er baseret på us-east1 region, og vi vil sammenligne prisintervallerne for de computerforekomster, der kræves for at køre din Galera Cluster.

Maskin/
Forekomst
Type

Google
Compute Engine

AWS EC2

Microsoft
Azure

Delt

f1-micro

G1-small

Priserne starter ved 0,006 USD -  0,019 USD pr. time

t2.nano – t3a.2xlarge

Prisen starter ved 0,0058 USD - 0,3328 USD pr. time

B-serien

Prisen starter ved 0,0052 USD - 0,832 USD pr. time

Standard

n1-standard-1 – n1-standard-96

Priserne starter ved 0,034 USD  - 3,193 USD pr. time

m4.large – m4.16xlarge

m5.large – m5d.metal

Priserne starter ved 0,1 USD - 5,424 USD pr. time

Av2 Standard, D2-64 v3 seneste generation, D2s-64s v3 seneste generation, D1-5 v2, DS1-S5 v2, DC-serien

Prisen starter ved 0,043 USD - 3,072 USD pr. time

Høj hukommelse/hukommelse optimeret

n1-highmem-2 – n1-highmem-96

n1-megamem-96

n1-ultramem-40 – n1-ultramem-160

Priserne starter ved 0,083 USD -17,651 USD pr. time

r4.large – r4.16xlarge

x1,16xlarge – x1,32xlarge

x1e.xlarge – x1e.32xlarge

Priserne starter ved 0,133 USD -26,688 USD pr. time

D2a – D64a v3, D2as – D64as v3, E2-64 v3 seneste generation, E2a – E64a v3, E2as – E64as v3, E2s-64s v3 seneste generation, D11-15 v2, DS11-S15 v2, M-serien, Mv2-serien, Instances, Extreme Memory Optimized

Prisen starter ved 0,043 USD - 44,62 USD pr. time

Høj CPU/lager optimeret

n1-highcpu-2 – n1-highcpu-32

Priserne starter ved 0,05 USD - 2,383 USD pr. time

h1.2xlarge – h1.16xlarge

i3.large – i3.metal

I3en.large - i3en.metal

d2.xlarge – d2.8xlarge

Priserne starter ved $0,156 - $10,848  i timen

Fsv2-serien, F-serien, Fs-serien

Prisen starter ved 0,0497 USD - 3,045 USD pr. time

Datakryptering på Microsoft Azure

Microsoft Azure tilbyder ikke krypteringsunderstøttelse direkte til Galera Cluster (eller omvendt). Der er dog måder, hvorpå du kan kryptere data enten i hvile eller under transport.

Kryptering under transport er en mekanisme til at beskytte data, når de transmitteres på tværs af netværk. Med Azure Storage kan du sikre data ved at bruge:

  • Kryptering på transportniveau, såsom HTTPS, når du overfører data til eller ud af Azure Storage.
  • Trådkryptering, såsom SMB 3.0-kryptering, til Azure-filshares.
  • Klientsidekryptering, for at kryptere dataene, før de overføres til Storage, og for at dekryptere dataene, efter de er overført fra Storage.

Microsoft bruger kryptering til at beskytte kundedata, når de er i transit mellem kundernes rige og Microsofts cloud-tjenester. Mere specifikt er Transport Layer Security (TLS) den protokol, som Microsofts datacentre vil bruge til at forhandle med klientsystemer, der er forbundet til Microsofts cloud-tjenester.

Perfect Forward Secrecy (PFS) anvendes også, så hver forbindelse mellem kundernes klientsystemer og Microsofts cloud-tjenester bruger unikke nøgler. Forbindelser til Microsofts cloud-tjenester drager også fordel af RSA-baserede 2.048-bit krypteringsnøglelængder.

Kryptering i hvile

For mange organisationer er datakryptering i hvile et obligatorisk skridt mod at opnå databeskyttelse, overholdelse og datasuverænitet. Tre Azure-funktioner giver kryptering af data i hvile:

  • Storage Service Encryption er altid aktiveret og krypterer automatisk data fra storageservice, når de skrives til Azure Storage. Hvis din applikationslogik kræver, at din MySQL Galera Cluster-database lagrer værdifulde data, kan lagring i Azure Storage være en mulighed.
  • Klientsidekryptering giver også funktionen til kryptering i hvile.
  • Azure Disk Encryption giver dig mulighed for at kryptere de OS-diske og datadiske, som en virtuel IaaS-maskine bruger. Azure Disk Encryption understøtter også aktivering af kryptering på Linux VM'er, der er konfigureret med disk striping (RAID) ved at bruge mdadm, og ved at aktivere kryptering på Linux VM'er ved at bruge LVM til datadiske

Galera Cluster Multi-AZ/Multi-Region/Multi-Cloud-implementeringer med GCP

I lighed med AWS og GCP tilbyder Microsoft Azure ikke direkte support til at implementere en Galera Cluster på en Multi-AZ/-Region/-Cloud. Du kan dog implementere dine noder manuelt samt oprette scripts ved hjælp af PowerShell eller Azure CLI for at gøre dette for dig. Alternativt, når du klargør din Virtual Machine-instans, kan du placere dine noder i forskellige tilgængelighedszoner. Microsoft Azure tilbyder også en anden type redundans, bortset fra at have sin tilgængelighedszone, som kaldes Virtual Machine Scale Sets. Du kan kontrollere forskellene mellem virtuelle maskiner og skalasæt.

Galera Cluster High Availability, Skalerbarhed og Redundans på Azure

En af de primære årsager til at bruge en Galera-nodeklynge er høj tilgængelighed, redundans og dens evne til at skalere. Hvis du betjener trafik globalt, er det bedst, at du imødekommer din trafik efter region. Du bør sikre dig, at dit arkitektoniske design inkluderer geo-distribution af dine databasenoder. For at opnå dette anbefales implementering af multi-AZ, multi-region eller multi-cloud/multi-datacenter. Dette forhindrer klyngen i at gå ned samt en funktionsfejl på grund af manglende beslutningsdygtighed.

Som tidligere nævnt har Microsoft Azure en automatisk skaleringsløsning, som kan udnyttes ved hjælp af skaleringssæt. Dette giver dig mulighed for at autoskalere en node, når en bestemt tærskel er nået (baseret på, hvad du overvåger). Dette afhænger af, hvilke sundhedsstatuselementer du overvåger, før det derefter skaleres lodret. Du kan tjekke deres tutorial om dette emne her.

For multiregion- eller multi-cloud-implementeringer har Galera sin egen parameter kaldet gmcast.segment, som kan indstilles ved serverstart. Denne parameter er designet til at optimere kommunikationen mellem Galera-knuderne og minimere mængden af ​​trafik, der sendes mellem netværkssegmenter. Dette inkluderer skrivesæt-relæ og IST- og SST-donorudvælgelse. Denne type opsætning giver dig mulighed for at implementere flere noder i forskellige regioner. Bortset fra det kan du også implementere dine Galera-noder på en anden cloud-leverandør, der dirigerer fra GCP, AWS, Microsoft Azure eller inden for en lokal opsætning.

Vi anbefaler, at du tjekker vores blog Multiple Data Center Setups Using Galera Cluster til MySQL eller MariaDB og Zero Downtime Network Migration With MySQL Galera Cluster Using Relay Node for at indsamle mere information om, hvordan man implementerer disse typer af implementeringer.

Galera Cluster Database Performance på Microsoft Azure

De underliggende værtsmaskiner, der bruges af virtuelle maskiner i Azure, er faktisk meget kraftfulde. De nyeste VM'er i Azure er allerede blevet udstyret med netværksoptimeringsmoduler. Du kan tjekke dette i din kerneinfo ved at køre (f.eks. i Ubuntu).

uname -r|grep azure

Bemærk:Sørg for, at din kommando har den "azurblå" streng.

For Centos/RHEL indeholder installation af enhver Linux Integration Services (LIS) siden version 4.2 netværksoptimering. For at lære mere om dette, besøg siden om optimering af netværksgennemstrømning.

Hvis din applikation er meget følsom over for netværksforsinkelse, kan du være interesseret i at se på nærhedsplaceringsgruppen. Det er i øjeblikket i preview (og endnu ikke anbefalet til produktionsbrug), men dette hjælper med at optimere dit netværksgennemløb.

For den type virtuel maskine, du vil bruge, vil dette afhænge af kravet til din applikationstrafik og ressourcekrav. For forespørgsler, der har et højt hukommelsesforbrug, kan du starte med Dv3. Men for hukommelsesoptimeret, så start med Ev3-serien. For høje CPU-krav, såsom databaser med høje transaktioner eller spilapplikationer, skal du starte med Fsv2-serien.

Valg af det rigtige lager og påkrævet IOPS til din databasevolumen er et must. Generelt er en SSD-baseret persistent disk dit ideelle valg. Begynd med Standard SSD, som er omkostningseffektiv og giver ensartet ydeevne. Denne beslutning kan dog afhænge af, om du har brug for mere IOPS i det lange løb. Hvis dette er tilfældet, så bør du gå efter Premium SSD-lagring.

Vi anbefaler også, at du tjekker og læser vores blog Sådan forbedrer du ydeevnen af ​​Galera Cluster til MySQL eller MariaDB for at lære mere om optimering af din Galera Cluster.

Databasesikkerhedskopiering til Galera Nodes på Azure

Der er ingen eksisterende naiv backup-understøttelse af dine MySQL Galera-data i Azure, men du kan tage et øjebliksbillede. Microsoft Azure tilbyder Azure VM Backup, som tager et øjebliksbillede, som kan planlægges og krypteres.

Alternativt, hvis du vil sikkerhedskopiere datafilerne fra din Galera Cluster, kan du også bruge eksterne tjenester som ClusterControl, bruge Percona Xtrabackup til din binære backup eller bruge mysqldump eller mydumper til dine logiske sikkerhedskopier. Disse værktøjer giver sikkerhedskopier til dine missionskritiske data, og du kan læse dette, hvis du vil vide mere.

Galera Cluster Monitoring på Azure

Microsoft Azure har sin overvågningstjeneste ved navn Azure Monitor. Azure Monitor maksimerer tilgængeligheden og ydeevnen af ​​dine applikationer ved at levere en omfattende løsning til indsamling, analyse og handling på telemetri fra dine cloud- og on-premise-miljøer. Det hjælper dig med at forstå, hvordan dine applikationer fungerer, og proaktivt identificerer problemer, der påvirker dem (og de ressourcer, de er afhængige af). Du kan konfigurere eller oprette sundhedsadvarsler, få besked om advarsler og advarsler, der er registreret i de tjenester, du har implementeret.

Hvis du vil have overvågning, der er specifik for din database, skal du bruge eksterne overvågningsværktøjer, som har avancerede, meget detaljerede databasemålinger. Der er flere valgmuligheder, du kan vælge imellem, såsom PMM af Percona, DataDog, Idera, VividCortex eller vores helt egen ClusterControl (overvågning er GRATIS med ClusterControl Community.)

Galera Cluster Database Security på Azure

Som diskuteret i vores tidligere blogs for AWS og GCP, kan du bruge den samme tilgang til at sikre din database i den offentlige sky. Når du har oprettet en virtuel maskine, kan du angive, hvilke porte der kun kan åbnes, eller oprette og konfigurere din netværkssikkerhedsgruppe i Azure. Du kan konfigurere portene, der skal være åbne (især portene 3306, 4444, 4567, 4568), eller oprette et virtuelt netværk i Azure og angive de private undernet, hvis de forbliver som en privat node. For at tilføje dette, hvis du opsætter dine VM'er i Azure uden en offentlig IP, kan den stadig være en udgående forbindelse, blot fordi den bruger SNAT og PAT. Hvis du er bekendt med AWS og GCP, vil du kunne lide denne forklaring for at gøre det lettere at forstå.

En anden tilgængelig funktion er rollebaseret adgangskontrol i Microsoft Azure. Dette giver dig kontrol over, hvilke personer der får adgang til de specifikke ressourcer, de har brug for.

Udover dette kan du sikre dine data under transport ved at bruge en TLS/SSL-forbindelse eller ved at kryptere dine data, når de er i ro. Hvis du bruger ClusterControl, er det enkelt og nemt at implementere en sikker datatransit. Du kan tjekke vores blog SSL Key Management og Kryptering af MySQL Data in Transit, hvis du vil prøve det. For data i hvile kan du følge diskussionen, som jeg tidligere har nævnt i afsnittet Kryptering på denne blog.

Galera Cluster Fejlfinding 

Microsoft Azure tilbyder en bred vifte af logtyper for at hjælpe med fejlfinding og revision. Logfilerne Aktivitetslogfiler, Azure-diagnoselogfiler, Azure AD-rapportering, Virtuelle maskiner og cloudtjenester, Network Security Group (NSG) flowlogfiler og Application Insight er meget nyttige ved fejlfinding. Det er måske ikke altid nødvendigt at gå ind i alle disse, når du har brug for fejlfinding, men det ville tilføje mere indsigt og ledetråde, når du tjekker logfilerne.

Hvis du bruger ClusterControl, skal du gå til Logs -> System Logs, og du vil være i stand til at gennemse de fangede fejllogfiler taget fra selve MySQL Galera-noden. Ud over dette giver ClusterControl overvågning i realtid, der vil forstærke dit alarm- og notifikationssystem i tilfælde af en nødsituation, eller hvis din MySQL Galera-knude(r) er kaput.

Konklusion

Når vi afslutter denne blogserie i tre dele, har vi vist dig tilbuddene og fordelene ved hver af de teknologiske giganter, der betjener den offentlige cloud-industri. Der er fordele og ulemper, når du vælger den ene frem for den anden, men det, der betyder mest, er din grund til at flytte til en offentlig sky, dens fordele for din organisation, og hvordan den opfylder kravene i din applikation.

Valget af udbyder til din Galera Cluster kan involvere økonomiske overvejelser som "hvad er mest omkostningseffektivt" og passer bedre til dine budgetbehov. Det kan også skyldes privatlivslove og overholdelse af regler, eller endda på grund af den teknologistack, du ønsker at bruge. Det, der er vigtigt, er, hvordan din applikation og database vil fungere, når den er i skyen og håndterer store mængder trafik. Det skal være yderst tilgængeligt, skal være modstandsdygtigt, have de rigtige niveauer af skalerbarhed og redundans og tage backups for at sikre datagendannelse.


  1. Fem seje ting, jeg lærte på PostgreSQL Conference Europe 2018

  2. Hvor ofte skal du sikkerhedskopiere dine databaser?

  3. Kom godt i gang med Postgres 13 på Ubuntu 20.04

  4. Opdatering fra MYSQL til MYSQLI