MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Сравняване на облачните предложения на Galera Cluster:Трета част Microsoft Azure

Microsoft Azure е известен на мнозина като алтернативна публична облачна платформа на Amazon AWS. Не е лесно директно да се сравняват тези две гигантски компании. Облачният бизнес на Microsoft – наречен търговски облак – включва всичко от Azure до Office 365 корпоративни абонаменти до Dynamics 365 до услуги на LinkedIn. След като LinkedIn беше придобит от Microsoft, той започна да премества инфраструктурата си към Azure. Въпреки че преместването на LinkedIn към Azure може да отнеме известно време, то демонстрира възможностите и способността на Microsoft Azure да обработва милиони транзакции. Силното корпоративно наследство на Microsoft, софтуерен стек и инструменти на центъра за данни предлагат както познаване, така и хибриден подход към внедряването в облак.

Microsoft Azure е изграден като инфраструктура като услуга (IaaS), както и платформа като услуга (PaaS). Виртуалната машина Azure предлага таксуване за секунда и в момента е изчисление с множество наематели. Той обаче наскоро прегледа новото си предложение, което позволява на виртуалните машини да работят на физически сървъри с един наемател. Предложението се нарича Azure Dedicated Hosts.

Azure предлага и специализирани големи екземпляри (като за SAP HANA). Има многонаемателни блокове, съхранение на файлове и много  други допълнителни IaaS и PaaS възможности. Те включват съхранение на обекти (Azure Blob Storage), CDN, Docker-базирана контейнерна услуга (Azure Container Service), услуга за пакетно изчисление (Azure Batch) и управлявано от събития „изчисление без сървър“ (Azure Functions). Azure Marketplace предлага софтуер и услуги на трети страни. Нуждите за колокация се задоволяват чрез партньорски обмен (Azure ExpressRoute), предлагани от партньори като Equinix и CoreSite.

С всички тези предложения Microsoft Azure засили играта си, за да играе жизненоважна роля на пазара на публичния облак. PaaS инфраструктурата, предлагана на своите потребители, спечели много доверие и много от тях преместват собствената си инфраструктура или частен облак към публичната облачна инфраструктура на Microsoft Azure. Това е особено изгодно за потребителите, които се нуждаят от интеграция с други услуги на Windows, като Visual Studio.

И така, каква е разликата между Azure и другите облаци, които разгледахме в тази серия? Microsoft се фокусира силно върху AI, анализи и Интернет на нещата. AzureStack е друго усилие за „облак среща център за данни“, което е истинска разлика на пазара.

Плюс и минуси на миграцията на Microsoft Azure

Има няколко неща, които трябва да имате предвид, когато премествате вашите наследени приложения или инфраструктура към Microsoft Azure.

Силни страни

  • Предприятията, които са стратегически ангажирани с технологията на Microsoft, обикновено избират Azure като основен доставчик на IaaS+PaaS. Интегрираното изживяване от край до край за предприятията, изграждащи .NET приложения, използващи Visual Studio (и свързаните услуги) е ненадминато. Microsoft също така използва своя огромен обхват на продажби и способност да продава Azure съвместно с други продукти и услуги на Microsoft, за да стимулира приемането.
  • Azure предоставя добре интегриран подход към периферните изчисления и Интернет на нещата (IoT), с предложения, които достигат от неговия хипермащабен център за данни чрез крайни решения като AzureStack и Data Box Edge.
  • Възможностите на Microsoft Azure стават все по-иновативни и отворени. 50% от работните натоварвания са базирани на Linux, заедно с множество стекове от приложения с отворен код. Microsoft има уникална визия за бъдещето, която включва привличане на технологични партньори чрез собствени предложения на първи страни като тези от VMware, NetApp, Red Hat, Cray и Databricks.

Внимание

  • Проблемите с надеждността на Microsoft Azure продължават да бъдат предизвикателство за клиентите, до голяма степен в резултат на нарастващите проблеми на Azure. От септември 2018 г. Azure имаше множество инциденти, засягащи услугите, включително значителни прекъсвания, включващи Azure Active Directory. Тези прекъсвания оставят клиентите без възможност да намалят времето на престой.
  • Клиентите на Gartner често срещат предизвикателства с изпълнението на навременни внедрявания в рамките на бюджета. Това идва от Microsoft, често предоставяйки неоправдано високи очаквания към клиентите. Голяма част от това произтича от това, че екипите за продажби на място на Microsoft са „насърчавани“ да позиционират и продават Azure по подходящ начин в рамките на своята клиентска база.
  • Предприятията често оплакват качеството на техническата поддръжка на Microsoft (заедно с нарастващите разходи за поддръжка) и архитектите на полеви решения. Това се отразява негативно на удовлетвореността на клиентите и забавя приемането на Azure и следователно разходите на клиентите.

Майкрософт може да не е първият ви избор, тъй като е бил разглеждан като „не толкова удобен за отворен код“ технологичен гигант, но честно казано е приел много активност и поддръжка в рамките на Свят с отворен код. Microsoft Azure предлага напълно управлявани услуги за повечето от най-добрите RDBMS бази данни с отворен код като PostgreSQL, MySQL и MariaDB.

Вариантите на клъстер на Galera (Percona, Codership или MariaDB), за съжаление, не се поддържат от Azure. Единственият начин да разположите своя Galera Cluster в Azure е чрез виртуална машина. Може също да искате да проверите техния блог относно използването на MariaDB Enterprise Cluster (който е базиран на Galera) в Azure.

Виртуална машина на Azure

Виртуалната машина е еквивалентното предложение за изчислителни екземпляри в GCP и AWS. Виртуалната машина Azure е високопроизводителен компютърен сървър при поискване в облака и може да бъде разгърнат в Azure с помощта на различни методи. Те могат да включват потребителския интерфейс в портала Azure, използване на предварително конфигурирани изображения на пазара на Azure, скриптове чрез Azure PowerShell, внедряване от шаблон, който е дефиниран чрез използване на JSON файл, или чрез внедряване директно през Visual Studio.

Azure използва модел за внедряване, наречен Azure Resource Manager (ARM), който дефинира всички ресурси, които формират част от цялостното ви решение за приложение, което ви позволява да разгръщате, актуализирате или изтривате решението си с една операция .

Ресурсите могат да включват акаунта за съхранение, мрежовите конфигурации и IP адресите. Може да сте чували термина „ARM шаблони“, което по същество означава JSON шаблона, който дефинира различните аспекти на вашето решение, което се опитвате да внедрите.

Виртуалните машини Azure се предлагат в различни типове и размери, като имената започват с A-серия до N-серия. Всеки тип виртуална машина е изграден с предвид специфични работни натоварвания или нужди от производителност, включително общо предназначение, оптимизирано за изчисления, оптимизирано съхранение или оптимизирано за паметта. Можете също така да внедрите по-рядко срещани типове като графични процесори или високопроизводителни изчислителни виртуални машини.

Подобно на други публични облачни предложения, можете да направите следното във вашите виртуални машини...

  • Шифроване на вашия диск на виртуална машина . Въпреки че това не става лесно в сравнение с GCP и AWS. Криптирането на вашата виртуална машина изисква по-ръчен подход. Това изисква от вас да изпълните предпоставките за Azure Disk Encryption. Тъй като Galera не поддържа Windows, тук говорим само за Linux-базирани изображения. По принцип това изисква да имате модули dm-crypt и vfat, налични в системата. След като получите това парче правилно, тогава можете да шифровате VM с помощта на Azure CLI. Можете да проверите как да активирате Azure Disk Encryption за Linux IaaS VM, за да видите как да го направите. Шифроването на вашия диск е много важно, особено ако вашата компания или организация изискват вашите данни от Galera Cluster да следват стандартите, изисквани от закони и разпоредби като PCI DSS или GDPR.
  • Създаване на моментна снимка . Можете да създадете моментна снимка или с помощта на Azure CLI, или чрез портала. Проверете тяхното ръководство за това как да го направите.
  • Използвайте автоматично мащабиране или набори за мащабиране на виртуална машина, ако се нуждаете от хоризонтално мащабиране . Вижте прегледа на автоматичното мащабиране в Azure или прегледа на наборите за мащабиране на виртуални машини.
  • Разгръщане в няколко зони . Разположете екземплярите на вашата виртуална машина в различни зони на наличност, за да избегнете единична точка на отказ.

Можете също да създавате (или да получавате информация от) вашите виртуални машини по различни начини. Можете да използвате портала Azure, Azure PowerShell, REST API, клиентски комплекти за разработване на софтуер (SDK) или с Azure CLI. Виртуалните машини във виртуалната мрежа на Azure също могат лесно да бъдат свързани към мрежата на вашата организация и да се третират като разширен център за данни.

Ценообразуване на Microsoft Azure

Точно като други доставчици на публични облачни услуги, Microsoft Azure също предлага безплатно ниво с някои безплатни услуги. Той също така предлага опции за разплащане и запазени инстанции, от които да избирате. Разплащането започва от $0,008/час - $0,126/час.

За запазени екземпляри, колкото по-дълго се ангажирате и сключвате договор с Azure, толкова повече спестявате от разходите. Microsoft Azure твърди, че помага на абонатите да спестят до 72% от разходите си за фактуриране в сравнение с неговия разходен модел, когато абонатите се регистрират за срок от една до три години за виртуална машина с Windows или Linux. Microsoft също така предлага допълнителна гъвкавост в смисъл, че ако вашият бизнес се нуждае от промяна, можете да анулирате абонамента си за Azure RI по всяко време и да върнете оставащия неизползван RI на Microsoft като такса за предсрочно прекратяване.

Нека проверим цената му в сравнение между GCP, AWS EC2 и виртуална машина Azure. Това се базира на регион us-east1 и ние ще сравним ценовите диапазони за изчислителните инстанции, необходими за стартиране на вашия Galera Cluster.

Машина/
Инстанция
Тип

Google
Compute Engine

AWS EC2

Microsoft
Azure

Споделено

f1-micro

G1-малък

Цените започват от $0,006 -  $0,019 на час

t2.nano – t3a.2xlarge

Цената започва от $0,0058 - $0,3328 на час

B-серия

Цената започва от $0,0052 - $0,832 на час

Стандартно

n1-standard-1 – n1-standard-96

Цените започват от $0,034  - $3,193 на час

m4.large – m4.16xlarge

m5.large – m5d.metal

Цените започват от $0,1 - $5,424  на час

Av2 Standard, D2-64 v3 последно поколение, D2s-64s v3 последно поколение, D1-5 v2, DS1-S5 v2, DC-серия

Цената започва от $0,043 - $3,072 на час

Висока памет/ Оптимизирана памет

n1-highmem-2 – n1-highmem-96

n1-megamem-96

n1-ultramem-40 – n1-ultramem-160

Цените започват от $0,083  - $17,651 на час

r4.large – r4.16xlarge

x1.16xlarge – x1.32xlarge

x1e.xlarge – x1e.32xlarge

Цените започват от $0,133  - $26,688 на час

D2a – D64a v3, D2as – D64as v3, E2-64 v3 последно поколение, E2a – E64a v3, E2as – E64as v3, E2s-64s v3 последно поколение, D11-15 v2, DS11-S15 v2, M-series, Mv2-series, Instances, Extreme Memory Optimized

Цената започва от $0,043 - $44,62 на час

Високо оптимизирано CPU/Storage

n1-highcpu-2 – n1-highcpu-32

Цените започват от $0,05 - $2,383 на час

h1.2xlarge – h1.16xlarge

i3.large – i3.metal

I3en.large - i3en.metal

d2.xlarge – d2.8xlarge

Цените започват от $0,156 - $10,848  на час

серия Fsv2, серия F, серия Fs

Цената започва от $0,0497 - $3,045 на час

Криптиране на данни в Microsoft Azure

Microsoft Azure не предлага поддръжка за криптиране директно за Galera Cluster (или обратно). Има обаче начини, по които можете да шифровате данни в състояние на покой или по време на пренос.

Шифрирането по време на предаване е механизъм за защита на данните, когато се предават през мрежи. С Azure Storage можете да защитите данните, като използвате:

  • Криптиране на ниво транспорт, като HTTPS, когато прехвърляте данни в или извън хранилище на Azure.
  • Кабелно криптиране, като SMB 3.0 криптиране, за споделени файлове в Azure.
  • Криптиране от страна на клиента, за криптиране на данните преди да бъдат прехвърлени в хранилището и за декриптиране на данните след прехвърлянето им извън хранилището.

Microsoft използва криптиране, за да защити данните на клиентите, когато те са в пренос между сферата на клиентите и облачните услуги на Microsoft. По-конкретно, сигурността на транспортния слой (TLS) е протоколът, който центровете за данни на Microsoft ще използват за договаряне с клиентски системи, които са свързани с облачни услуги на Microsoft.

Перфектната препращана секретност (PFS) също се използва, така че всяка връзка между клиентските системи на клиентите и облачните услуги на Microsoft да използва уникални ключове. Връзките с облачни услуги на Microsoft също се възползват от RSA базирани дължини на 2048-битов ключ за криптиране.

Шифроване в покой

За много организации криптирането на данни в покой е задължителна стъпка към постигане на поверителност, съответствие и суверенитет на данните. Три функции на Azure осигуряват криптиране на данните в покой:

  • Шифроването на услугата за съхранение винаги е активирано и автоматично криптира данните от услугата за съхранение, когато ги записва в Azure Storage. Ако логиката на приложението ви изисква вашата база данни на MySQL Galera Cluster да съхранява ценни данни, тогава съхраняването в Azure Storage може да бъде опция.
  • Криптирането от страна на клиента също предоставя функцията за криптиране в състояние на покой.
  • Azure Disk Encryption ви позволява да шифровате операционните дискове и дисковете с данни, които използва IaaS виртуална машина. Azure Disk Encryption също така поддържа активиране на криптиране на Linux VM, които са конфигурирани с разделяне на дискове (RAID) чрез използване на mdadm и чрез активиране на криптиране на Linux VM чрез използване на LVM за дискове с данни

Разгръщания с няколко AZ/Multi-Region/Multi-Cloud в клъстер на Galera с GCP

Подобно на AWS и GCP, Microsoft Azure не предлага директна поддръжка за разполагане на клъстер Galera в Multi-AZ/-Region/-Cloud. Можете обаче да разгръщате своите възли ръчно, както и да създавате скриптове с помощта на PowerShell или Azure CLI, за да направите това вместо вас. Като алтернатива, когато предоставяте екземпляр на вашата виртуална машина, можете да поставите своите възли в различни зони за наличност. Microsoft Azure предлага и друг вид резервиране, освен че има зона за наличност, която се нарича Scale Sets за виртуална машина. Можете да проверите разликите между виртуална машина и мащабни набори.

Висока наличност, мащабируемост и резервиране на клъстер на Galera в Azure

Една от основните причини за използване на клъстер от възли на Galera е високата наличност, резервирането и способността му за мащабиране. Ако обслужвате трафик в световен мащаб, най-добре е да обслужвате трафика си по региони. Трябва да се уверите, че вашият архитектурен дизайн включва гео-разпределение на възлите на вашата база данни. За да се постигне това, се препоръчва внедряване в няколко AZ, в няколко региона или в няколко облака/много центрове за данни. Това предотвратява изпадането на клъстера, както и неизправност поради липса на кворум.

Както споменахме по-рано, Microsoft Azure има решение за автоматично мащабиране, което може да се използва с помощта на набори от мащаби. Това ви позволява автоматично да мащабирате възел, когато е достигнат определен праг (въз основа на това, което наблюдавате). Това зависи от това кои елементи на здравословното състояние наблюдавате, преди да се мащабира вертикално. Можете да разгледате техния урок по тази тема тук.

За внедряване в няколко региона или в няколко облака, Galera има свой собствен параметър, наречен gmcast.segment, за който може да бъде зададен при стартиране на сървъра. Този параметър е предназначен да оптимизира комуникацията между възлите на Galera и да минимизира количеството трафик, изпратен между сегментите на мрежата. Това включва препредаване на набор за запис и избор на донор на IST и SST. Този тип настройка ви позволява да разгръщате множество възли в различни региони. Освен това, можете също да разположите своите възли на Galera на различни доставчици в облак, маршрутизиращи от GCP, AWS, Microsoft Azure или в рамките на локална настройка.

Препоръчваме ви да разгледате нашия блог Настройки на множество центрове за данни с помощта на Galera Cluster за MySQL или MariaDB и нулева миграция на мрежа по време на престой с MySQL Galera Cluster, използвайки Relay Node, за да съберете повече информация за това как да внедрите тези типове разгръщания.

Ефективност на клъстерната база данни на Galera в Microsoft Azure

Основните хост машини, използвани от виртуалните машини в Azure, всъщност са много мощни. Най-новите VM в Azure вече са оборудвани с модули за оптимизация на мрежата. Можете да проверите това в информацията за ядрото си, като стартирате (например в Ubuntu).

uname -r|grep azure

Забележка:Уверете се, че вашата команда има "лазурен" низ.

За Centos/RHEL инсталирането на всякакви услуги за интеграция на Linux (LIS) от версия 4.2 съдържа оптимизация на мрежата. За да научите повече за това, посетете страницата за оптимизиране на пропускателната способност на мрежата.

Ако приложението ви е много чувствително към мрежовата латентност, може да ви е интересно да разгледате групата за разположения в близост. В момента е в предварителен преглед (и все още не се препоръчва за производствена употреба), но това помага за оптимизиране на пропускателната способност на вашата мрежа.

За типа виртуална машина, която бихте използвали, това ще зависи от изискванията на трафика на вашето приложение и изискванията за ресурси. За заявки с висока консумация на памет можете да започнете с Dv3. Въпреки това, за оптимизирана памет, тогава започнете със серията Ev3. За високи изисквания на процесора, като например база данни с високи транзакции или приложения за игри, тогава започнете със серия Fsv2.

Изборът на правилното хранилище и необходимия IOPS за обема на вашата база данни е задължителен. Като цяло, SSD-базиран постоянен диск е идеалният ви избор. Започнете със стандартен SSD, който е рентабилен и предлага постоянна производителност. Това решение обаче може да зависи от това дали имате нужда от повече IOPS в дългосрочен план. Ако случаят е такъв, тогава трябва да изберете Premium SSD съхранение.

Препоръчваме ви също да проверите и прочетете нашия блог Как да подобрите производителността на Galera Cluster за MySQL или MariaDB, за да научите повече за оптимизирането на вашия Galera Cluster.

Архивиране на база данни за възли на Galera в Azure

Няма съществуваща наивна поддръжка за архивиране на вашите MySQL Galera данни в Azure, но можете да направите моментна снимка. Microsoft Azure предлага Azure VM Backup, който прави моментна снимка, която може да бъде планирана и криптирана.

Освен това, ако искате да архивирате файловете с данни от вашия Galera Cluster, можете също да използвате външни услуги като ClusterControl, да използвате Percona Xtrabackup за вашето двоично архивиране или да използвате mysqldump или mydumper за вашите логически архиви. Тези инструменти осигуряват резервни копия на вашите критични данни и можете да прочетете това, ако искате да научите повече.

Наблюдение на клъстерите на Galera в Azure

Microsoft Azure има своя услуга за наблюдение, наречена Azure Monitor. Azure Monitor максимизира наличността и производителността на вашите приложения, като предоставя цялостно решение за събиране, анализиране и действие на телеметрия от вашите облачни и локални среди. Помага ви да разберете как се представят вашите приложения и проактивно идентифицира проблемите, които ги засягат (и ресурсите, от които зависят). Можете да настроите или създадете здравни сигнали, да получавате известия за съвети и сигнали, открити в разгърнатите от вас услуги.

Ако искате да наблюдавате специфично за вашата база данни, тогава ще трябва да използвате външни инструменти за наблюдение, които имат  усъвършенствани, много детайлни показатели на базата данни. Има няколко възможности за избор, от които можете да избирате, като например PMM от Percona, DataDog, Idera, VividCortex или нашия собствен ClusterControl (Мониторингът е БЕЗПЛАТЕН с общността ClusterControl.)

Сигурност на базата данни на клъстер на Galera в Azure

Както беше обсъдено в предишните ни блогове за AWS и GCP, можете да приложите същия подход за защита на вашата база данни в публичния облак. След като създадете виртуална машина, можете да посочите кои портове могат да се отварят само или да създадете и настроите своята група за мрежова сигурност в Azure. Можете да настроите портовете, които трябва да са отворени (особено портове 3306, 4444, 4567, 4568) или да създадете виртуална мрежа в Azure и да посочите частните подмрежи, ако остават като частен възел. За да добавите това, ако настроите вашата виртуална машина в Azure без публичен IP адрес, тя все още може да има изходяща връзка само защото използва SNAT и PAT. Ако сте запознати с AWS и GCP, това обяснение ще ви хареса, за да го улесните за разбиране.

Друга налична функция е контрол на достъп, базиран на роли в Microsoft Azure. Това ви дава контрол върху това кои хора имат достъп до конкретните ресурси, от които се нуждаят.

В допълнение към това, можете да защитите вашите данни в пренос, като използвате TLS/SSL връзка или като криптирате данните си, когато са в състояние на покой. Ако използвате ClusterControl, внедряването на защитени данни при пренос е лесно и лесно. Можете да разгледате нашия блог SSL Key Management и криптиране на MySQL данни в транзит, ако искате да изпробвате. За данните в покой можете да проследите дискусията, която посочих по-рано в секцията за шифроване на този блог.

Отстраняване на неизправности в клъстера на Galera 

Microsoft Azure предлага широк спектър от типове регистрационни файлове за подпомагане на отстраняването на неизправности и одита. Регистрационните регистрационни файлове за дейността, диагностичните регистрационни файлове на Azure, отчитането на Azure AD, виртуалните машини и облачните услуги, регистрационните файлове на потока на групата за мрежова сигурност (NSG) и Insight в приложението са много полезни при отстраняване на неизправности. Може да не се налага винаги да навлизате във всички тях, когато имате нужда от отстраняване на неизправности, но това би добавило повече прозрения и улики при проверка на регистрационните файлове.

Ако използвате ClusterControl, отидете на Регистри -> Системни регистри и ще можете да преглеждате заснетите регистрационни файлове за грешки, взети от самия възел на MySQL Galera. Освен това, ClusterControl осигурява наблюдение в реално време, което би усилило вашата система за аларма и уведомяване в случай на спешност или ако вашият възел(и) на MySQL Galera е капут.

Заключение

Докато завършваме тази поредица от блогове от три части, ние ви показахме предложенията и предимствата на всеки от технологичните гиганти, обслужващи обществената облачна индустрия. Има предимства и недостатъци, когато избирате едно пред друго, но най-важното е причината да преминете към публичен облак, ползите от него за вашата организация и как той обслужва изискванията на вашето приложение.

Изборът на доставчик за вашия Galera Cluster може да включва финансови съображения като „кое е най-рентабилното“ и да отговаря по-добре на вашите бюджетни нужди. Това може да се дължи и на законите за поверителност и спазването на разпоредбите или дори поради технологичния стек, който искате да използвате. Важното е как ще работят вашето приложение и база данни, след като са в облака и обработват големи количества трафик. Той трябва да е високодостъпен, трябва да е устойчив, да има правилните нива на мащабируемост и резервиране и да прави резервни копия, за да гарантира възстановяване на данни.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Справяне с ненадеждни мрежи при изработване на HA решение за MySQL или MariaDB

  2. Как работи RPAD() в MariaDB

  3. Съвети за управление на схеми за MySQL и MariaDB

  4. Как QUOTE() работи в MariaDB

  5. Функция AVG() в MariaDB