Migrieren Sie Ihre WordPress-Website auf die Cloud-Plattform
Veröffentlicht: 2020-06-05Das weltberühmte WordPress-CMS basiert im Wesentlichen auf PHP und MySQL und unterstützt seit über zwei Jahrzehnten alles, von persönlichen Blogs bis hin zu stark frequentierten Websites. Seit seiner Einführung und ersten Veröffentlichung im Jahr 2003 haben seine Entwickler es jedoch nicht mit Blick auf moderne elastische und skalierbare Cloud-basierte Infrastrukturen entwickelt. Wer hätte vorhersagen können, wie sich die Technologie bisher entwickelt hat?
Glücklicherweise haben sich mit der Erweiterung der WordPress-Community und der späteren Veröffentlichung reiferer WordPress-Versionen ihre Fähigkeiten erheblich erweitert. Letztendlich haben wir jetzt Szenarien, in denen es möglich ist, eine WordPress-Infrastruktur aufzubauen, die Cloud-Server und -Infrastrukturen angemessen nutzt.
In diesem Blog werden wir die Beziehung zwischen WordPress und Cloud-Servern untersuchen und wann sie in Kombination verwendet werden sollten. Aus Kontextgründen stellen wir sicher, dass wir die Konzepte, die sich auf dieses Thema beziehen, sehr detailliert durchgehen. Lassen Sie uns also ohne weiteres eintauchen!
Was ist die Wolke?
Kurz zusammengefasst und für Laien ausgedrückt: Die Cloud ist ein allgegenwärtiges Mittel zur Bereitstellung von IT-Diensten und -Ressourcen über das Internet, auf die bei Bedarf oder nach Bedarf zugegriffen werden kann. Cloud-Server fungieren also im Grunde genommen als bequeme „Speichereinheiten“ im Internet, daher der Begriff „Cloud“. Dies könnte die einfachste Antwort sein, die ich je in Bezug auf die Cloud gegeben habe, jedenfalls weitermachen!
Allerdings gibt es zahlreiche Anbieter von Cloud-Diensten, wobei die bemerkenswertesten Amazon Web Services (mit dem größten Marktanteil) sind, gefolgt von Microsoft Azure und Google Cloud. Diese drei werden gelegentlich als „Hyperskalierer“ bezeichnet, obwohl es andere öffentliche Cloud-Anbieter wie AlibabaCloud, DigitalOcean, IBM Cloud und Linode gibt. Fairerweise muss erwähnt werden, dass einige Public-Cloud-Anbieter auch Standard-Hosting-Dienste (z. B. WordPress Shared Hosting) anbieten, während andere dies nicht tun. Aber darauf gehen wir später noch ein.
Das Schöne an der Cloud ist, dass sie das Spielfeld für kleine Unternehmen erheblich ebnet. Dies geschieht, indem ihnen der Zugriff auf hochmoderne Online-Ressourcen ermöglicht wird, die zuvor nur größeren Spielern zur Verfügung standen. Und das alles ohne die Notwendigkeit großer Kapitalinvestitionen, die den Kauf von Hardware, die Einrichtung teurer Rechenzentren und die Einstellung einer Vollzeit-IT-Abteilung für die Wartung umfassen.
Die meisten Cloud-Anbieter bieten größtenteils auch ein Pay-as-you-go-Modell mit Managed Services wie Auto-Scaling und Database Management Services etc. an. Das ist also für viele Unternehmen sehr attraktiv, die dies nicht beabsichtigen oder können es sich leisten können, in eine vollwertige IT-Infrastruktur zu investieren. Im Wesentlichen, damit sie sich auf ihr Kerngeschäft konzentrieren und einen Cloud-Anbieter mit technischen Angelegenheiten beauftragen können.
Die Cloud bietet Zugriff auf eine Vielzahl von Vorteilen; Die bemerkenswerten Vorteile sind jedoch:
- Es bietet eine allgegenwärtige und serviceorientierte Architektur, die überall auf der Welt verfügbar ist.
- Es bietet bequemes und flexibles Computing
- Es nutzt verschiedene Stufen von On-Demand-Diensten
- Bietet reduzierte Gesamtbetriebskosten
- Liefert reduzierten IT-Overhead

Arten von Cloud-Diensten
Im Allgemeinen bieten Public-Cloud-Anbieter ihre Dienste in drei Branchen an, nämlich: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) und Software as a Service (SaaS). Lassen Sie uns aus Gründen des Kontexts die Unterschiede zwischen all diesen Servicetypen zusammenfassen und was jeder von ihnen mit sich bringt, sollen wir?
- IaaS: Infrastructure as a Service bietet Benutzern verschiedene Cloud-Infrastrukturen wie Virtual Computing, Betriebssysteme, Warteschlangen, Speicher, VLANs, Load Balancer und andere. Diese Art von Cloud-Branche erfordert fundiertes technisches Wissen, um eine Anwendung bereitzustellen und zu betreiben. Beispielsweise erfordert jede Komponente ein technisches Management, um eine Auf- oder Abwärtsskalierung einzuleiten oder einen Lastausgleich durchzuführen.
- PaaS: Auf der anderen Seite bietet das Platform-as-a-Service-Modell mehr Managed Services. Dies bedeutet im Grunde, dass die Verantwortung für Software-Updates und -Patches in erster Linie beim Cloud-Anbieter liegt. Darüber hinaus erfolgen bei PaaS infrastrukturspezifische Vorgänge, die von der Cloud selbst orchestriert werden, wie Skalierung, Backup, Datenreplikation, transparent.
- SaaS: Die wohl bekannteste dieser Branchen ist das Software-as-a-Service-Modell, das voll funktionsfähige Software bereitstellt, die in der Cloud verwaltet wird. Das SaaS-Modell kann sowohl IaaS-Komponenten als auch PaaS-Anwendungen umfassen oder eine der beiden Vertikalen separat verwenden.

Letztendlich werden trotz aller oben hervorgehobenen Modelle die Grenzen zwischen Cloud-Plattformen schnell dünner, da immer mehr Anbieter gemischte Dienste einsetzen, die entweder unter IaaS oder PaaS fallen können. Beispielsweise begann Amazon Web Services mit IaaS-Angeboten (EC2, SQS und S3) und fügte später PaaS-Komponenten hinzu (relationale Datenbanken und nicht relationale Datenbanken). Im Vergleich dazu erweitert Microsoft Azure sowohl PaaS-Komponenten (Azure-Websites und SQL-Datenbank) als auch IaaS (Virtual Machines and Storage).

Wann ist der richtige Zeitpunkt für die Migration in die Cloud?
Ungeachtet dessen und ohne Zweifel können die meisten Softwareanwendungen auf die eine oder andere Weise auf „Hyperscalern“ gehostet werden. Die Frage war jedoch immer – ist es vertretbar, ist es redundant, vielleicht übertrieben oder führt es in einigen Fällen zu einer Unterauslastung von Ressourcen?
Abgesehen davon ist es erwähnenswert, dass bestimmte Anwendungen aufgrund ihres dringenden Bedarfs an bestimmten Cloud-Funktionen hervorragend für die Cloud geeignet sind. Beispielsweise benötigen sie möglicherweise eine Kombination aus Encodern, CDNs, relationalen Datenbanken oder die Möglichkeit, Ressourcen automatisch zu skalieren. Wie dem auch sei, es gibt Fälle, in denen andere Anwendungen nur um der Cloud willen in die Cloud verlagert werden und nicht alle Ressourcen voll ausschöpfen können. Was jedenfalls kein Verbrechen ist.
Welche WordPress-Anwendungstypen sind ideal für die Cloud-Migration?
Da wir festgestellt haben, dass die Cloud jede Offsite-Computing-Anwendung handhaben kann, in welcher Kapazität auch immer, bleibt unser Vorbehalt bestehen, da wir betont haben, dass dennoch nicht jede Anwendung für die Cloud geeignet ist. Welche WordPress-Anwendungstypen sind also für die Cloud ausreichend?

1. Anwendungen mit periodischen und anspruchsvollen Verarbeitungsanforderungen
Im Allgemeinen führen solche Anwendungen typischerweise sehr rechenintensive Operationen wie Stapelanalysefunktionen auf verschiedenen Datenformen durch. Solche Stapelanalysefunktionen können verschiedene Formen annehmen, darunter: Dateikonvertierung von einem Format in ein anderes, semantische Textanalyse, Datenklassifizierung, Berichterstellung, Textindizierung, Datenclustering oder sogar neuronales Netzwerktraining für maschinelles Lernen usw.
Da diese Vorgänge in der Regel zeitlich vorhersehbar sind, erfordern sie letztendlich eine erhebliche Rechenleistung, die von Hyperscale-Cloud-Anbietern angeboten wird. Dies liegt daran, dass Public-Cloud-Anbieter immer über modernste Hardware verfügen, um diesen großen Anforderungen gerecht zu werden. Im Wesentlichen hilft die Cloud also kleinen Unternehmen mit solchen Anwendungen, solche hohen und unnötigen Hardwareinvestitionen zu umgehen (die manchmal reaktionäre Investitionen sein können).
Darüber hinaus kann eine Organisation ihre Stapelverarbeitungsfunktionen mit der Cloud weiter beschleunigen – um schneller fertig zu werden, beispielsweise in weniger als einer Stunde statt in 3 oder 4 Stunden. Dies ist in einer Cloud-Umgebung recht überschaubar, da Administratoren einfach einige weitere Recheneinheiten hochfahren können. Während beim WordPress-Standard-Hosting eine solche Ausführung aufgrund von Hardwarebeschränkungen ziemlich schwierig wäre.
2. Anwendungen, die Hochverfügbarkeit (HA) und Skalierbarkeit erfordern.
Wir haben im Wesentlichen zwei Kategorien zu berücksichtigen. Die erste Kategorie sind Anwendungen, die ihren Endbenutzern einen HA-Dienst (High Availability) bereitstellen möchten. Dann haben wir Anwendungen, die eine Zunahme ihrer Nutzung erwarten oder planen, ihre Dienste auf eine größere Benutzerbasis auszudehnen.
Ein Hochverfügbarkeits-Setup bedeutet, dass die Anwendung keinen Single Point of Failure (SPOF) hat. Dies wird normalerweise erreicht, indem jedem Endpunkt, jeder Komponente oder jedem Dienst der Anwendung eine Redundanz hinzugefügt wird. Darüber hinaus setzt dieses Setup natürlich voraus, dass mehr Hardware und Mechanismen erforderlich sind, um Hochverfügbarkeit zu erreichen, wie automatische Failover-Prozesse, Lastverteilung und Überwachung.
Die zweite Kategorie betrifft Anwendungen, die beabsichtigen, ihre Benutzerbasis zu vergrößern (und eine flexible Skalierbarkeit aufweisen). Sie könnten beispielsweise planen, ihr Produkt-/Dienstleistungsangebot zu erweitern; oder erwarten, später in neue Märkte zu expandieren. Dies erfordert also ein signifikantes Cloud-Upgrade und eine geeignete Verwaltungsebene darüber, damit es funktioniert.
3. Anwendungen mit unvorhersehbaren Nutzungsspitzen
Solche Anwendungen interagieren normalerweise häufig mit Benutzern über Online-Shops, Produktseiten, beliebte Blogs usw. Daher haben solche Webdienste normalerweise eine vorhersehbare und beständige Benutzerbasis, in einigen Fällen können sie jedoch zufällig eine sehr große Anzahl von Benutzern anziehen . Beispielsweise können Spitzen auftreten, wenn sie auf einer beliebten Webseite referenziert werden oder wenn ein damit verbundenes Video viral wird. Oder vielleicht nachdem eine Marketingkampagne aufgrund von Coupons und Promo-Codes erfolgreicher wird als ursprünglich erwartet.

Im Wesentlichen kann eine Cloud-Migration also ideal sein, wenn Sie Ihr potenzielles eingehendes Datenverkehrsvolumen oder den genauen Zeitrahmen, in dem es auftreten wird, nicht vorhersagen können. Solche Websitebesitzer neigen dazu, einen Anstieg des Datenverkehrs genau vorherzusehen, wissen aber nicht, wie viel er sein wird oder wie er verteilt wird.
Lesen Sie mehr: 11 effektive Möglichkeiten, Ihre WordPress-Website für hohen Traffic zu skalieren
Für solche Szenarien lohnt sich also die Anschaffung von reaktionärer oder Notfallhardware aufgrund der fragmentierten Nutzung nicht, was dazu führen kann, dass viel Hardware saisonal ungenutzt bleibt. In solchen Szenarien wäre alles andere als eine Cloud-Implementierung töricht.
4. Anwendungen mit Bedarf an verschiedenen Testumgebungen
Vielen nicht bekannt, können Benutzer die Cloud zum Ausführen einer Testumgebung nutzen. Solche Testumgebungen können permanent oder temporär sein, wenn eine bestimmte Reihe von Tests durchgeführt werden muss, z. B. Sicherheitstests oder Belastungstests
Im Grunde ist also High-End-Hardware erforderlich, um solche Testumgebungen zu erreichen, und die Kosten für die Anschaffung von Hardware zur Durchführung von Sicherheitstests und Lasttests können ziemlich hoch sein. Dies liegt hauptsächlich daran, dass diese Tests einige Male im Jahr durchgeführt werden müssen und sie eine vollständige Produktionseinrichtung erfordern, um ihr Ziel zu erreichen. Aus diesem Grund kann der Kauf brandneuer Hardware für solche Tests aus Kostengründen eine ineffiziente oder überflüssige Maßnahme sein. Hier wird die Cloud zur Option.
Um unsere Punkte zusammenzufassen, sind die Hauptfaktoren, die die Cloud-Akzeptanz beeinflussen, folgende: Benutzerbasis, Nutzungsmuster, Fehlertoleranzanforderungen und Testanforderungen. Natürlich rechtfertigen weitere Faktoren eine Bewerbung für die Cloud, aber diese vier Faktoren stechen normalerweise heraus.
Verwenden von Cloud-Plattformen mit WordPress
Die meisten WordPress-Anwendungen nutzen Standard-Hosting, es gibt jedoch eine Zunahme von WordPress-Benutzern, die sich dafür entscheiden, ihre Websites auf Plattformen wie AWS Cloud und Google Cloud auszuführen.
Dies zeigt, dass sich mehr Website-Eigentümer Gedanken darüber machen, wie sie eine angemessen skalierbare Website erstellen können. Beispielsweise sollte es in der Lage sein, eine schwankende Besucherzahl zu bedienen und flexibel genug sein, um eine schnelle und einfache Aktualisierung von Inhalten zu ermöglichen, während es fehlertolerant bleibt. Dieser letzte Punkt ist wichtig, da er den Eigentümern die Gewissheit gibt, dass die Website ihre Funktionen immer noch angemessen ausführen kann, wenn etwas kaputt geht.
Für zusätzlichen Kontext ist typisches WordPress-Hosting also ein Managed Service, im Wesentlichen eine Software as a Service (SaaS). Während die Migration in die Public Cloud die Durchführung einer Platform as a Service (PaaS)-Installation darstellt. Im Wesentlichen lagert eine WordPress-Installation mit PaaS die Wartung der Infrastruktur, Backups, Replikationen und Verfügbarkeit an den Cloud-Anbieter aus.
Die Verwaltung eines Cloud-Servers kann schwierig sein
Das Konfigurieren oder Bereitstellen Ihrer Serverumgebung ist nicht leicht nachvollziehbar, es sei denn, Sie sind ein Sachkundiger oder Experte. Dazu müssen Sie wissen, wie Sie Ihre Cloud-Instanzen verwalten und gleichzeitig eine Schicht von Sicherheitsprotokollen einrichten, die den Schutz Ihrer Cloud-Instanzen gewährleisten.
Aus einer Perspektive erfordern solche Installationen möglicherweise, dass Sie über Kenntnisse im Umgang mit Linux-Befehlen verfügen, da standardmäßige AWS-Server nicht mit einer grafischen Benutzeroberfläche ausgestattet sind, mit der Sie arbeiten können. Daher ist die Fähigkeit zur Verwendung von CLI zwingend erforderlich, was für Benutzer mit begrenzten serverseitigen Kenntnissen eine Herausforderung darstellen kann.
Einige Cloud-Anbieter stellen jedoch Ressourcen bereit, um die Probleme der Serververwaltung zu verringern, damit Sie sich auf Ihre WordPress-Websites konzentrieren können. Dieselben Tools behalten die Sicherheit Ihres Servers im Auge, um Ihre Website vor Cyberangriffen zu schützen. Solche Lösungen bieten Benutzern die Möglichkeit, SSL zu integrieren, Staging-Sites zu erstellen, Websites zu klonen und Cron-Jobs mit nur wenigen Klicks zu verwalten.
Planung einer WordPress Cloud-Migration
Nachdem Sie sich entschieden haben, Ihre WordPress-Anwendung in die Cloud zu migrieren, ist es wichtig, einen geeigneten Architekturentwurf zu bestimmen, einen zuverlässigen Cloud-Anbieter auszuwählen, Ihre Anwendungsarchitektur zu verfeinern, Ihr Setup zu testen und dann zu veröffentlichen.
Die Bestimmung Ihres Architekturentwurfs ermöglicht es Ihnen, hauptsächlich die unabhängigen und skalierbaren Teile Ihrer WordPress-Anwendung zu identifizieren. Zweitens sollten Sie bei der Auswahl eines Cloud-Anbieters darauf achten, den am besten geeigneten auszuwählen und dabei Faktoren wie Datenbankfähigkeiten zu berücksichtigen. Beispielsweise kann eine SQL Server-Datenbank gut für Azure SQL Database oder AWS RDS geeignet sein, während eine MySQL-Datenbank auch gut für AWS RDS geeignet sein könnte.
Außerdem kann ein Cloud-Anbieter die endgültige Architektur Ihrer Anwendung beeinflussen. Berücksichtigen Sie außerdem beim Testen eines Setups immer Daten in Originalgröße, streben Sie also an, einen vollständigen Klon der Produktionsdaten zu erstellen, der hauptsächlich Datenbankdaten und benutzergenerierte Inhalte enthält.
Kosten
Die anfänglichen Gesamtkosten für jeden Cloud-Anbieter sollten ebenfalls sorgfältig berechnet werden. Da die meisten Cloud-Anbieter Online-Preisrechner haben, können Sie diese nutzen. Achten Sie auch auf Aspekte wie Rechenstunden, Bandbreite und Speicher sowie Metriken wie Anzahl der GET-Anfragen für den Zugriff auf bestimmte Objektspeicher und Load-Balancer-Stunden usw
Best Practices für WordPress-Installationen auf Cloud-Servern
1. Stellen Sie sicher, dass Sie ein Content Delivery Network (CDN) nutzen
Denken Sie daran, dass die meisten WordPress-Anwendungen eine Mischung aus statischen und dynamischen Inhalten liefern. Statischer Inhalt sind Bilder, JavaScript-Dateien oder Stylesheets. Während dynamischer Inhalt alles ist, was auf der Serverseite generiert wird und den WordPress-PHP-Code nutzt. Zum Beispiel Elemente, die aus der Datenbank generiert oder für jeden Betrachter personalisiert werden.
Da die Netzwerklatenz für das Endbenutzererlebnis wichtig ist, ist es unerlässlich, CDNs zu verwenden, da sie dazu beitragen, die Netzwerklatenz zu beheben, indem sie es Ihnen ermöglichen, Inhalte konsistent für Benutzer auf der ganzen Welt bereitzustellen.
Da Benutzer in der Regel geografisch über die ganze Welt verteilt sind, tragen CDNs im Wesentlichen dazu bei, die Verteilung von Inhalten mit geringer Latenz und hohen Datenübertragungsgeschwindigkeiten auf der ganzen Welt zu beschleunigen.
Lesen Sie mehr: Tipps zur Verbesserung der Geschwindigkeit der WordPress-Website
2. Datenbank-Caching
Datenbank-Caching kann die Latenz drastisch reduzieren und den Durchsatz von Anwendungen wie WordPress erhöhen. Dies wird erreicht, indem häufig aufgerufene Datenteile für den Zugriff mit geringer Latenz im Arbeitsspeicher gespeichert werden, z. B. die Ergebnisse von I/O-intensiven Datenbankabfragen. Wenn also ein großer Prozentsatz der Abfragen aus dem Cache bedient wird, bedeutet dies, dass die Anzahl der Abfragen, die die Datenbank treffen müssen, reduziert wird. Daraus resultieren niedrigere Kosten im Zusammenhang mit dem Betrieb der Datenbank.
3. Zustandslose Webschicht
Grundsätzlich ignoriert eine zustandslose Anwendung vorherige Interaktionen und speichert keine Sitzungsinformationen. Und für WordPress bedeutet dies, dass alle Endbenutzer die gleiche Antwort erhalten, unabhängig davon, welcher Webserver ihre Anfrage verarbeitet hat.
Um also mehrere Webserver in einer automatischen Skalierungskonfiguration zu nutzen, muss Ihre Webschicht zustandslos sein. Darüber hinaus können zustandslose Anwendungen horizontal skaliert werden, da jede Anfrage von allen verfügbaren Rechenressourcen bedient werden kann (was wir „Webserver-Instanzen“ nennen).
Standardmäßig speichert WordPress Benutzer-Uploads jedoch im lokalen Dateisystem und ist daher nicht zustandslos. Daher ist es wichtig, Ihre WordPress-Installation und alle Benutzerkonfigurationen, Plugins, Designs und benutzergenerierten Uploads in eine gemeinsam genutzte Daten-Cloud-Plattform zu verschieben, um die Last auf den Webservern zu reduzieren und die Webschicht zustandslos zu machen.
Weiterlesen: Sind WordPress-Plugins sicher zu verwenden?
Um dies zu erreichen, können Sie Speicher von Drittanbietern zum Speichern der PHP-Sitzungen verwenden. Dies kann entweder ein einfacher Schlüsselwertspeicher oder die Datenbank selbst sein. Alle großen Cloud-Anbieter bieten Schlüsselwertspeicher wie Azure Tables oder AWS DynamoDB an, und sie sollten hochverfügbar und für alle Anwendungskomponenten erreichbar sein, die mit Sitzungsdaten interagieren.
Abschließende Gedanken.
Zusammenfassend lässt sich sagen, dass Cloud Computing mit seiner konkurrenzlosen Fähigkeit, verbesserte Skaleneffekte, Datensicherheit, Interoperabilität, einfache Zugänglichkeit und Energieeffizienz zu erzielen, zur vorherrschenden Form des Datenmanagements geworden ist. Es verändert im Wesentlichen die Art und Weise, wie wir Computer-, Speicher- und Netzwerkressourcen weltweit verwalten, zuweisen und verbrauchen.
Daher können WordPress- und Cloud-Server vor allem dann performant kombiniert werden, wenn Sie mit hohen Verkehrsspitzen rechnen, wenn Sie eine hohe Verfügbarkeit benötigen, wenn Sie unerwartete Skalierbarkeitsanforderungen haben, dynamische Verarbeitungsanforderungen haben und wenn Sie eine einzigartige Testumgebung benötigen.