Watch a demoFree trial
Blog

Häufige Fallstricke bei der Drupal-Bereitstellung und wie die Cloud-Automatisierung sie behebt

DrupalBereitstellung
11 Juli 2025
Teilen Sie
Dieser Beitrag ist auch auf Französische und auf Englische.

Die Bereitstellung einer Drupal 10- oder Drupal 11-Anwendung kann sich wie ein Gang durch ein Minenfeld potenzieller Probleme anfühlen. Selbst eine gut aufgebaute Drupal-Website kann während der Bereitstellung aufgrund einiger häufiger Fallstricke ins Straucheln geraten. Wenn IT-Manager und technische Projektleiter diese Fallstricke verstehen und wissen, wie die Cloud-Automatisierung sie lösen kann, bedeutet das weniger Notfälle bis spät in die Nacht und reibungslosere Starts.

In diesem Artikel werden wir die häufigsten Herausforderungen bei der Drupal-Bereitstellung (Inkonsistenzen in der Umgebung, Abhängigkeitsmanagement, Konfigurationsabweichungen, End-to-End-Tests, Sicherheitsrisiken und Skalierungsprobleme) untersuchen und sehen, wie eine Cloud Application Platform wie Upsun diese Probleme lösen kann. Lassen Sie uns mit kurzen, fokussierten Abschnitten eintauchen, die Sie schnell scannen und anwenden können.

Unstimmigkeiten in der Umgebung

Wir haben alle schon einmal einen Kollegen sagen hören : "Aber auf meinem Rechner hat es funktioniert!" Umgebungsinkonsistenzen treten auf, wenn sich Ihre Entwicklungs-, Staging- und Produktionsumgebung in der Konfiguration unterscheiden. Vielleicht ist die PHP-Version oder die Datenbank-Engine in der Prod-Umgebung etwas anders, oder eine Caching-Einstellung ist in einer Umgebung aktiviert und in einer anderen nicht. Diese Unterschiede können im schlimmsten Fall zu unerwarteten Fehlern führen. So kann sich beispielsweise ein Drupal-Modul anders verhalten, wenn eine PHP-Erweiterung in der Produktionsumgebung fehlt oder wenn die Dateiberechtigungen und PHP-Speichergrenzen auf den verschiedenen Servern unterschiedlich sind. Der Fallstrick besteht darin, dass die Parität zwischen den Umgebungen nicht aufrechterhalten wird, was zu Überraschungen bei der Bereitstellung führt.

Wie die Cloud-Automatisierung dieses Problem löst: Eine Cloud-Plattform kann sicherstellen, dass jede Umgebung ein identischer Zwilling der Produktionsumgebung ist. Upsun zum Beispiel ermöglicht es Ihnen, den gesamten Produktionsstapel (Code, Datenbank und Konfiguration) in eine Staging-Umgebung zu klonen, und zwar über die Funktion zum Klonen von Umgebungen. Durch diesen Prozess wird eine Replik Ihrer Produktionsumgebung erstellt, so dass Sie Änderungen problemlos mit echten Daten und Konfigurationen testen können. Das bedeutet, dass Ihre Entwickler immer in einer Umgebung testen, die die Produktionsumgebung widerspiegelt, keine "sensiblen"-Server oder mysteriöse, nur in der Produktion auftretende Fehler mehr. Konfigurationsdateien und Umgebungsvariablen können in allen Umgebungen einheitlich verwaltet werden.

In der Praxis folgt dieser Ansatz dem Dev/Prod-Paritätsprinzip: Umgebungen sollen so ähnlich wie möglich sein, um Probleme frühzeitig zu erkennen. Durch die Automatisierung der Umgebungseinrichtung beseitigt eine Cloud-Anwendungsplattform das "funktioniert auf meinem Rechner"-Syndrom und standardisiert die Betriebsbedingungen von Drupal auf breiter Front.

Probleme bei der Verwaltung von Abhängigkeiten

Modernes Drupal stützt sich auf Composer für die Verwaltung von PHP-Abhängigkeiten, Modulen und Bibliotheken. Damit ein zentralisiertes Abhängigkeitsmanagement effektiv ist, muss es in allen Umgebungen einheitlich angewendet werden. Es ist wichtig, einen automatisierten Prozess für die Installation und Aktualisierung von Abhängigkeiten zu haben und beispielsweise das manuelle Kopieren von Dateien (einschließlich des Herstellerverzeichnisses) zwischen Umgebungen zu vermeiden, was zu Inkonsistenzen und menschlichen Fehlern führen kann.

Wie die Cloud-Automatisierung dieses Problem löst: Der Schlüssel liegt darin, die Automatisierung Abhängigkeiten überall auf die gleiche Weise behandeln zu lassen, indem ein Bereitstellungsprozess erstellt wird, der sich auf Composer stützt und die composer.lock als Evangelium behandelt. Eine Plattform wie Upsun kann so konfiguriert werden, dass sie während der Build-Phase des Deployments automatisch den composer install und dabei genau die in composer.lock angegebenen Versionen verwendet. Dies garantiert, dass, wenn es in der Testphase funktioniert hat, die gleichen Module und Bibliotheken (bis hin zur Version) in der Produktion vorhanden sein werden. Es gibt kein "es funktioniert auf Dev, aber nicht auf Prod" mehr, weil Abhängigkeiten fehlen oder inkonsistent installiert sind. Durch die Automatisierung von Composer-Läufen und die Synchronisierung von Abhängigkeiten verhindern Cloud-Deployment-Plattformen Composer-Albträume. Das Ergebnis ist eine konsistente Drupal-Codebasis überall, ohne Überraschungen.

Konfigurationsabweichung

Mit Drupal 8 wurde ein robustes Konfigurationsmanagement eingeführt, das Website-Einstellungen, Ansichten und Inhaltstypen in YAML-Dateien speichert, die exportiert und importiert werden können. Theoretisch bedeutet dies, dass Sie Konfigurationsänderungen (z. B. einen neuen Inhaltstyp oder eine aktualisierte Ansicht) in einer Entwicklungsumgebung entwickeln und diese kontrolliert in die Produktion einbringen können. In der Praxis stoßen Teams häufig auf Konfigurationsdrift. Dieser Fallstrick tritt auf, wenn Konfigurationsänderungen ad hoc in einer Umgebung vorgenommen werden (z. B. eine schnelle Korrektur der Verwaltungsoberfläche der Produktionssite) und nicht im Code nachverfolgt werden. Mit der Zeit weichen die Konfigurationen in der Produktionsumgebung von denen in der Versionskontrolle ab. Das nächste Deployment könnte diese Änderungen versehentlich überschreiben oder mit ihnen kollidieren, was zu fehlenden Funktionen oder fehlerhaften Einstellungen auf der Live-Site führt.

Die manuelle Verwaltung der Drupal-Konfiguration über mehrere Umgebungen hinweg ist fehleranfällig. Sie könnten vergessen, drush config:export auszuführen, oder vergessen, die Konfigurationen nach der Bereitstellung in die Produktionsumgebung zu importieren. Selbst kleine Unstimmigkeiten, wie eine umgeschaltete Einstellung oder ein aktiviertes Modul, können Fehler verursachen, die schwer zu finden sind.

Wie die Cloud-Automatisierung dieses Problem löst: Cloud-Plattformen bekämpfen die Konfigurationsabweichung, indem sie einen "Alles als Code"-Ansatz fördern. Mit Upsun zum Beispiel können Sie den Import der Drupal-Konfiguration und die Aktualisierung der Datenbank als Teil des Bereitstellungsprozesses automatisieren. Bei jedem Deployment kann ein Post-Deploy-Hook drush updb (um ausstehende Änderungen am Datenbankschema zu übernehmen) und drush cim (um die übergebenen Konfigurationsänderungen zu importieren)ausführen. Dadurch wird sichergestellt, dass Ihre Produktionsumgebung immer mit der Konfiguration in Git synchronisiert ist. Es gibt keine Möglichkeit, einen Schritt zu überspringen, die Automatisierung erledigt das jedes Mal. Da Sie außerdem problemlos ephemere Umgebungen erstellen können, die die neuesten Konfigurations- und Produktionsdaten enthalten, kann Ihr Team Konfigurationsänderungen an einem echten Datensatz testen, bevor sie in die Produktion übernommen werden. Durch diesen Workflow werden Probleme bei der Konfigurationsintegration frühzeitig erkannt und es wird verhindert, dass sich unkontrollierte Änderungen in die Produktion einschleichen. Kurz gesagt, die Cloud-Automatisierung behandelt die Konfiguration von Drupal als einen Bürger erster Klasse in der Bereitstellung und beseitigt die Drift und die mysteriösen Fehler, die sie verursacht.

End-to-End-Tests

Sie haben eine kleine Änderung an Ihrer Drupal-Codebasis vorgenommen. Vielleicht handelt es sich um eine Stil- oder Skriptverbesserung des Themas, eine Änderung in der Konfiguration des Filters "View exposed" oder eine Änderung an einem Textformatfilter. Oder vielleicht ist es eine größere Änderung: ein neues Modul, ein neuer Entitätstyp, ein neu gestaltetes Menü. Wie sorgfältig haben Sie Ihre Änderung getestet? Sind Sie sicher, dass Ihre Änderung an einem Formular zur Eingabe von Inhalten nicht zu einem 500-Fehler führt? Sind Sie sicher, dass Ihre Änderungen an den Twig-Vorlagen für jede Inhaltsvariante, die sie wiedergeben, funktionieren werden?

Wie die Cloud-Automatisierung diese Probleme löst: Da die Bereitstellung einer neuen Funktion in einer Entwicklungs- oder Staging-Umgebung auf konsistente, replizierbare Weise auf einer konsistenten, replizierbaren Infrastruktur erfolgen kann, können Sie automatisierte Tests auf diese Umgebung anwenden und sicher sein, dass die Ergebnisse auch in der Produktion funktionieren. Sie könnten zum Beispiel einen Testschritt in CI durchführen, der jede Seite in der Sitemap anfordert, um sicherzustellen, dass keine 500-Statuscodes auftreten. Oder Sie setzen Lighthouse Performance-Tests ein, um sicherzustellen, dass die Layoutverschiebung nicht zugenommen hat, oder visuelle Regressionstests, um zu bestätigen, dass eine Stiländerung das Layout nicht an unerwarteten Stellen verändert hat. Unabhängig von der Testsuite bedeuten die grünen Häkchen in der CI, dass Sie Ihre Codeänderungen mit Vertrauen in die Produktion bereitstellen können.

Sicherheitsrisiken bei Implementierungen

Sicherheit ist für jede Webanwendung von größter Bedeutung, und Drupal ist da keine Ausnahme. Ein häufiger Fallstrick bei der Bereitstellung ist die Verzögerung bei der Anwendung von Sicherheitsupdates oder Fehlkonfigurationen, die zu Schwachstellen führen. Bei einer manuellen Bereitstellung können sich kritische Aktualisierungen des Drupal-Kerns oder der Module verzögern, weil der Prozess umständlich ist. Das Ergebnis? Ihre Website könnte mit bekannten Sicherheitslücken betrieben werden.

Wir haben gesehen, wie schlimm das sein kann: Die berüchtigte Sicherheitslücke Drupalgeddon2 im Jahr 2018 betraf beispielsweise über eine Million Drupal-Websites und ermöglichte die Ausführung von Remote-Code, wenn sie nicht umgehend gepatcht wurde.

Weniger dramatisch ist es, wenn ein Entwicklungsmodul (z. B. Devel) in der Produktion aktiviert bleibt oder ausführliche Fehlermeldungen angezeigt werden, so dass Angreifer sensible Informationen erhalten. Ein weiteres Risiko ergibt sich aus der Art und Weise, wie Geheimnisse und Anmeldeinformationen gehandhabt werden, die harte Kodierung von API-Schlüsseln oder Datenbankkennwörtern in Konfigurationsdateien, die weitergegeben oder weitergegeben werden, kann die Sicherheit gefährden. Insgesamt schaffen manuelle, nicht wiederholbare Bereitstellungsprozesse eher Möglichkeiten für Sicherheitslücken, entweder durch Nachlässigkeit oder einfaches menschliches Versagen.

Wie die Cloud-Automatisierung dieses Problem löst: Eine verwaltete Cloud-Plattform verringert diese Risiken erheblich, indem sie sichere Verfahren zur Standardeinstellung macht. Zum einen bedeuten automatisierte Bereitstellungen, dass Sie Aktualisierungen schnell auf alle Umgebungen anwenden können. Wenn ein Sicherheitspatch für Drupal Core veröffentlicht wird, kann Ihr Team das Update durch eine kontinuierliche Bereitstellungspipeline (mit robusten Integrationstests) schieben und es innerhalb von Minuten, nicht Tagen, in der Produktion einsetzen. Diese Agilität ist entscheidend, wenn es um Zero-Day-Exploits geht.

Darüber hinaus sorgen Upsun und ähnliche Plattformen für eine Vielzahl von Sicherheitsvorkehrungen unter der Haube: Isolierung Ihrer Anwendungscontainer, Erzwingen von schreibgeschützten Produktionsdateisystemen (so dass eine ausgenutzte Site Systemdateien nicht einfach ändern kann) und standardmäßige Bereitstellung von TLS/HTTPS. Sie bieten auch eine integrierte Verwaltung von Geheimnissen, so dass Datenbankpasswörter, API-Schlüssel usw. als Umgebungsvariablen eingefügt und nicht im Code oder im Repo gespeichert werden können.

Durch den Wegfall der manuellen Serverkonfiguration stellt die Cloud-Automatisierung schließlich sicher, dass Dinge wie Dateiberechtigungen, PHP-Einstellungen und andere sicherheitsrelevante Konfigurationen konsistent und geprüft sind. Die Plattform steuert Ihre Drupal-Bereitstellung im Wesentlichen so, dass sie Best Practices befolgt (wie die Deaktivierung der PHP-Ausführung im Uploads-Verzeichnis, die Verwendung der richtigen Dateiberechtigungen und die Aktualisierung der Software). Das Ergebnis ist eine Drupal-Website, die nicht nur einfacher zu implementieren, sondern auch für Angreifer viel schwieriger zu knacken ist.

Herausforderungen bei der Skalierung

Ihre Drupal-Website startet vielleicht auf einem einzigen Server mit mäßigem Traffic, aber was passiert, wenn die Kampagne Ihres Marketing-Teams eine Flut von Besuchern bringt oder Ihr eCommerce-Drupal-Shop einen saisonalen Höhepunkt erreicht? Die Skalierung einer Drupal-Anwendung birgt eine weitere Reihe von Fallstricken. Zu den Herausforderungen gehören: die Sicherstellung, dass die Website einen hohen Datenverkehr ohne Ausfallzeiten bewältigen kann, die Skalierung auf mehrere Server und die Aufrechterhaltung der Leistung unter Last.

Herkömmliche Bereitstellungen auf einer selbst verwalteten Infrastruktur erfordern einen erheblichen Aufwand für die Skalierung: Sie müssen möglicherweise zusätzliche Server oder Container bereitstellen, Load Balancer einrichten, ein CDN oder eine Caching-Schicht konfigurieren und sicherstellen, dass die Datenbank mehr Lese-/Schreibvorgänge verarbeiten kann. Ohne Automatisierung erfordert dies oft manuelle Anpassungen und kann zu Fehlern führen (z. B. wenn vergessen wird, eine Konfiguration für einen neuen Server in den Cluster aufzunehmen, was dazu führt, dass ein langsamer Knoten alles nach unten zieht).

Auch nach der Skalierung kann es zu Konsistenzproblemen kommen, wenn Ihre Anwendung nicht für Gleichzeitigkeit ausgelegt ist (z. B. wenn Sie Dateien nicht ordnungsgemäß in ein gemeinsames Verzeichnis schreiben oder keinen gemeinsamen Cache verwenden). Eine schlecht geplante Skalierungsstrategie kann das Benutzererlebnis beeinträchtigen, langsames Laden von Seiten oder im schlimmsten Fall Abstürze bei Spitzenbelastungen.

Wie die Cloud-Automatisierung dieses Problem löst: Eine Cloud-Anwendungsplattform vereinfacht die Skalierung durch Abstrahieren der schweren Arbeit. Mit Upsun ist die vertikale Skalierung (mehr Ressourcen pro Knoten) oder die horizontale Skalierung (Hinzufügen weiterer Anwendungsinstanzen) in der Regel eine Konfigurationsänderung oder ein einfacher Befehl, keine Überholung. Die Plattform kümmert sich um die Bereitstellung neuer Server, die Aktualisierung von Routing-Regeln und stellt sicher, dass jede Instanz denselben Code und dieselbe Konfiguration hat. Dies steht im Zusammenhang mit der Konsistenz der Umgebung, ob Sie nun eine oder zehn Instanzen haben, alle führen denselben Code aus, so dass Sie auf den zusätzlichen Knoten kein seltsames Verhalten feststellen.

Bei der Cloud-Automatisierung sind auch Caching- und Leistungstools standardmäßig integriert. So können Sie beispielsweise problemlos einen Redis-Cache hinzufügen oder das in Drupal integrierte Caching aktivieren, da Sie wissen, dass die Plattform die Cache-Daten entsprechend aufbewahrt. Bei einem Anstieg des Datenverkehrs (z. B. wenn Ihre Drupal-basierte E-Commerce-Website einen Flash-Sale durchführt) können Sie mit einer Cloud-Plattform wie Upsun die Ressourcen schnell nach oben oder unten skalieren, um die erhöhte Last zu bewältigen. Sie können die CPU-, Arbeitsspeicher- und Speicherzuweisung pro Umgebung anpassen oder zusätzliche Anwendungsinstanzen durch horizontale Skalierungskonfigurationsänderungen hinzufügen.

Das Ergebnis ist Ausfallsicherheit und Flexibilität: Ihr Team kann Wachstum oder Lastspitzen sicher bewältigen, ohne dass es zu Feuergefechten kommt. Und da diese Skalierungsvorgänge getestet und wiederholbar sind, vermeiden Sie die Fallstricke der manuellen Skalierung (wie falsch konfigurierte Server oder Panik bei der nächtlichen Bereitstellung). Letztendlich können Sie mit der Cloud-Automatisierung nahtlos auf die Nachfrage der Benutzer reagieren und Ihre Drupal-Website schnell und verfügbar halten, wenn es am wichtigsten ist.

Fazit

Das Deployment von Drupal muss keine nervenaufreibende Tortur sein. Die üblichen Fallstricke, Inkonsistenzen in der Umgebung, Abhängigkeitschaos, Konfigurationsabweichungen, Integrationstests, Sicherheitslücken und Skalierungsprobleme lassen sich alle mit dem richtigen Ansatz beheben. Das Thema, das Sie vielleicht schon bemerkt haben, ist Automatisierung und Konsistenz. Durch den Einsatz einer verwalteten Cloud-Plattform wie Upsun können Teams die fehleranfälligen Teile der Drupal-Bereitstellung automatisieren. Das bedeutet, dass Ihre Entwickler weniger Zeit damit verbringen, Schritte zurückzuverfolgen oder Fehler zu beheben, die nur in der Produktion auftreten, und mehr Zeit mit der Entwicklung von Funktionen verbringen, die Ihr Unternehmen voranbringen.

Wir kennen diese Probleme, weil wir sie selbst erlebt haben, und wir wissen auch, dass moderne DevOps-Tools und Cloud-Anwendungsplattformen sie fast vollständig beseitigen können. Letztendlich geht es bei der Vermeidung von Bereitstellungsfallen nicht um Glück, sondern um die Verwendung der besten verfügbaren Verfahren und Tools. Mit Drupal und der Cloud-Automatisierung in Ihrem Toolkit können Sie Aktualisierungen und neue Websites mit Zuversicht bereitstellen, da Sie wissen, dass die Plattform Ihnen bei den kniffligen Teilen den Rücken freihält.

Möchten Sie diese Vorteile aus erster Hand erfahren? Unser Leitfaden für den Einstieg in Drupal auf Upsun führt Sie durch die Einrichtung Ihres ersten Projekts und die Implementierung dieser automatisierten Bereitstellungspraktiken.

Viel Spaß beim (problemlosen) Deployment!

Ihr größtes Werk
steht vor der Tür

Kostenloser Test
Discord
© 2025 Platform.sh. All rights reserved.