MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Fahrleistung in einem Hybrid-Cloud-Setup

Eine hybride Cloud bezieht sich auf eine gemischte Computer-, Speicher- und Dienstumgebung, die aus einer lokalen Infrastruktur, privaten Cloud-Diensten und einer öffentlichen Cloud-Orchestrierung zwischen den verschiedenen Plattformen besteht. Die Verwendung einer Kombination aus Public Clouds, On-Premises Computing und Private Clouds in Ihrem Rechenzentrum bedeutet, dass Sie über eine hybride Cloud-Infrastruktur verfügen.

Leistung hat in einer Hybrid-Cloud üblicherweise eine geringere Priorität, da der Schwerpunkt einer Hybrid-Cloud-Infrastruktur üblicherweise auf Notfallwiederherstellung, Verfügbarkeit und Skalierbarkeit liegt. In diesem Blog-Beitrag behandeln wir einige allgemeine Tipps zur Steigerung der Leistung unserer Anwendungen, Workloads und Cluster, die in einem Hybrid-Cloud-Setup ausgeführt werden.

Dedizierte Hosts/Instanzen/Ressourcen

Die Kosten für Cloud-Dienste sollen aufgrund der umfangreichen gemeinsamen Nutzung von Ressourcen niedriger sein. Ein höheres Maß an gemeinsamer Nutzung würde jedoch automatisch weniger Leistungsgarantien bedeuten.

Cloud-Instanzen sind anfällig für unvorhersehbare Stabilität, aber mit einigen zusätzlichen Kosten können wir dieses Risiko mit dedizierten Ressourcen reduzieren. Dedizierte Instanzen sind Instanzen, die auf Hardware ausgeführt werden, die einem einzelnen Mandanten zugeordnet ist. Üblicherweise sind die dedizierten Hosts oder Instanzen auf Hosthardwareebene physisch von Instanzen anderer Mandanten isoliert. Dies garantiert dem Dienst angemessene Ressourcen und stabilisiert die Leistung Ihrer Workloads praktisch auf lange Sicht. Abhängig von Ihrem Budget haben Sie mehrere Möglichkeiten, sich für dedizierte Ressourcen wie dedizierte Hosts, Instanzen oder Bandbreite zu entscheiden.

Es gibt auch viele Angebote und Rabatte, wenn Sie planen, die Instanzen über einen längeren Zeitraum zu betreiben. Durch die Verpflichtung zur AWS EC2 Reserve Instance können Benutzer beispielsweise bis zu 70 % der Instance-Kosten im Vergleich zu den standardmäßigen On-Demand-Kosten einsparen. Sobald die Anwendungen oder Workloads getestet und für die Produktion bereit sind, wird dringend empfohlen, dass Sie sich für einen langfristigen Vertrag entscheiden, vorausgesetzt, Sie weisen der Instanz genügend Ressourcen für diesen bestimmten Vertragszeitraum zu.

Bandbreitenverwaltung

Bandbreite ist teuer. Was teuer ist, ist die Infrastruktur, um die Bandbreite von einem Ort zum anderen zu transportieren. Die Verlegung von Glasfaser, Carrier-Grade- und Provider-Grade-Routing-Hardware, die Überwachungs- und Wartungskosten, um alles am Laufen zu halten, die Anmietung einer Rechenzentrumssuite und die Besetzung eines 24/7 Network Operation Center (NOC)-Ingenieurs tragen alle zum hohen Preis eines zuverlässige Bandbreite. Ganz zu schweigen von der Geschwindigkeit der Technologie, den Anforderungen der Benutzer und der Produktlebensdauer der Anbieter erfordern es oft, dass alle 7 bis 10 Jahre, in einigen Fällen 5 Jahre, ein großer Teil der oben genannten Investition und der Lebenszyklus weggeworfen werden.

Die meisten öffentlichen Cloud-Anbieter ermöglichen den Datenaustausch mit anderen Cloud-Service-Providern (CSP), was auf mehrere Arten möglich ist:

  • Datenübertragung über öffentliche IP-Adressen über das Internet.

  • Verwenden eines verwalteten VPN-Dienstes zwischen dem lokalen Netzwerk und dem CSP-Netzwerk.

  • Verbinden Sie sich direkt vom lokalen Netzwerk oder privaten Cloud-Netzwerken mit dem anderen CSP wie Partner Interconnect für Google Cloud oder AWS Direct Connect für AWS.

  • Übertragen Sie Daten über einen gemeinsamen Point of Presence (POP) an den anderen CSP.

  • Netzwerk-Peering mit privaten Cloud-Netzwerken und dem CSP-Netzwerk.

Diese Optionen unterscheiden sich in Bezug auf Übertragungsgeschwindigkeit, Latenz, Zuverlässigkeit, Service Level Agreements (SLAs), Komplexität und Kosten. Unabhängig von den Optionen ist die Idee dieselbe - je weniger Datenübertragung verwendet wird, desto niedriger sind die Kosten.

Um die Bandbreitennutzung zu reduzieren, ist Komprimierung das Wichtigste, was wir tun sollten. Die meisten Replikationsdienste unterstützen jetzt die Verbindungskomprimierung, wodurch die Datenübertragungsgröße zwischen mehreren Standorten erheblich reduziert werden kann. Wenn Sie beispielsweise die Verbindungskomprimierung für MySQL-Master-Slave aktivieren, kann die Bandbreitennutzung problemlos auf das 1,5-fache reduziert werden, ohne dass eine zusätzliche Konfiguration der Komprimierungsstufe oder des Algorithmus erforderlich ist. Dies wird als verlustfreie Datenkomprimierungstechnik bezeichnet. Sie können ein noch höheres Komprimierungsverhältnis einstellen, mit einem Kompromiss der Verarbeitungsleistung für Komprimierung und Dekomprimierung auf beiden Endpunkten.

Die Platzierung der Arbeitsbelastung ist ebenfalls wichtig. Bei der Hybrid-Cloud-Einrichtung können Anwendungen und Workloads sowohl in privaten als auch in öffentlichen Clouds vorhanden sein. Für interne Anwendungen ist es viel besser, sie mit geringerer Netzwerklatenz in der privaten Cloud näher an der lokalen Umgebung zu platzieren. Um die Leistung öffentlicher Anwendungen zu verbessern, platzieren Sie die Anwendungen auf den Edge-Servern des Content Delivery Network (CDN), wodurch die Belastung des Hauptservers erheblich reduziert wird, nur die dynamische Anforderung zu verarbeiten und die statische Inhaltsbereitstellung auf mehrere Edge-Server auszulagern. die geografisch näher an den Endnutzern liegen.

Schnellere Verschlüsselung

In-Transit- und At-Rest-Verschlüsselung ist in einem Hybrid-Cloud-Setup obligatorisch, da wir nur einen Bruchteil der Infrastruktur besitzen. Wir möchten nicht, dass neugierige Augen auf unsere Daten blicken, während sie übertragen werden, oder das Risiko von Datenschutzverletzungen durch Diebstahl oder Außenstehende, die physischen Zugriff auf unsere Daten haben. Mit einfachen Worten, jeder Teil von beweglichen Daten oder nicht physisch zugänglichen Daten muss verschlüsselt werden, Punkt. Einige Verschlüsselungscodes können jedoch die Geschwindigkeit und Leistung der Workloads beeinträchtigen.

Ein häufiger Irrtum ist die Annahme, dass eine mit AES256 verschlüsselte Nachricht schwieriger zu knacken ist als die gleichen Informationen, die mit AES128 geschützt sind. Es ist logisch, dass eine größere Schlüsselgröße eine größere Komplexität mit sich bringt, aber wie bei allen Systemen unterliegen Implementierungen Schwächen. Angenommen, wir sprechen von AES128 versus AES256, gibt es eine bekannte Schwäche in der Schlüsselerweiterungsfunktion, die AES256 betrifft. Grundsätzlich reduziert die Schwachstelle die Komplexität von AES256 auf eine niedrigere als AES128.

Einige der Tunneling-Tools wie WireGuard sind bekannt für ihre schnellere Verschlüsselung und relativ einfach zu implementieren, wenn zwischen mehreren Standorten getunnelt wird. Es funktioniert ähnlich wie die SSH-Verschlüsselung und verwendet einen asymmetrischen Kryptographie-Ansatz. Laut dieser Studie ist WireGuard an allen getesteten Standorten im Durchschnitt 58 % schneller als OpenVPN. Eine schnellere Verschlüsselung bedeutet weniger Zeit zum Verschlüsseln und Entschlüsseln von Daten, wodurch die Leistung Ihres Datenaustauschs erheblich gesteigert werden kann.

Wenn Sie sich fragen, wie Sie WireGuard VPN für eine hybride Cloud-Umgebung einrichten, lesen Sie diesen Blog-Beitrag, Multi-Cloud-Bereitstellung für MariaDB-Replikation mit WireGuard.

Alles überwachen

Cloud-basierte Umgebungen sind auf einen komplizierten Satz von Ressourcen angewiesen, und es ist eine Herausforderung, die Verfügbarkeits- und Leistungsprobleme zu identifizieren, die sich am stärksten auf Unternehmensdienste auswirken. Das Betriebsteam muss in der Lage sein, den Anwendungszustand einschließlich der zugehörigen Cloud-Infrastrukturkomponenten ganzheitlich zu überwachen.

Die Leistungssteigerung in einer Hybrid-Cloud kann nicht ohne umfassende Transparenz aller Ressourcen zu jeder Zeit erfolgen. Ressourcen wie Instanz- und Netzwerkauslastung, Anwendungsleistung, Benutzererfahrung, Latenz und Protokolldateien müssen unbedingt erfasst und abgetastet werden, um sicherzustellen, dass wir Leistungs- und Verfügbarkeitsprobleme proaktiv beheben können, bevor sie die Endbenutzer erreichen oder sich verschlimmern. In einer schlechten Bereitstellungsumgebung kommt es immer zu einer Fehlallokation von Ressourcen, was letztendlich zu einer schlechten Kapazitätsplanung und einer Verschwendung von Geld und Ressourcen führt.

Die meisten öffentlichen Cloud-Anbieter bieten umfassende Überwachungsdienste an, die mehrere Schichten und Komponenten der abonnierten Cloud-Dienste abdecken. Das fehlende Stück ist jedoch häufig eine Überwachungsvereinheitlichung zwischen verschiedenen Cloud-Plattformen, Anbietern und Umgebungen. Open-Source-All-in-One-Überwachungstools wie Icinga, Nagios Core und Zabbix können so konfiguriert werden, dass sie fast alles überwachen, was an einer Hybrid Cloud beteiligt ist, insbesondere Cloud-Instanzen, Netzwerke, Dienste und Anwendungen.

Bei der Leistungsüberwachung für Datenbankserver in der Hybrid-Cloud-Umgebung können die folgenden Ressourcen hilfreich sein:

  • Überwachung der MariaDB-Leistung in einer Hybrid Cloud

  • Überwachung von PostgreSQL in einer Hybridumgebung