Direkt zum Inhalt
Bild
Terraform%20Drupal%20Blog%20banner.png

„Terraforming“ mit Drupal

AI-Translated
article publisher

Shankar

Drupal

Wenn man im Oxford English Dictionary nach dem Wort „Terraforming“ sucht, erinnert die dort gefundene Bedeutung vielleicht an einige Science-Fiction-Filme oder Fernsehserien, die man gesehen oder von denen man gehört hat. Und man fragt sich vielleicht, ob so etwas wie „Terraforming“ überhaupt möglich ist. Die Umwandlung eines anderen Planeten, um ihn der Erde ähnlicher zu machen, was Terraforming bedeutet, wäre eine großartige Idee. Da es aber immer ein „Aber“ gibt, wenn wir einen brillanten Gedanken haben, ist dieses Terraforming des Mars oder eines anderen Planeten mit den derzeitigen Technologien nicht möglich, so die NASA.

Terraforming-Prozess eines Planeten, dargestellt durch einen offenen Himmel voller weißer Kurven, die an Sternschnuppen erinnern


Wie dem auch sei, auf der Erde ist Terraforming möglich. (Obwohl sich dies in keiner Weise auf die Bekämpfung des Klimawandels bezieht, wäre es schön, einige starke Maßnahmen zu sehen). Die Erde, unsere Heimat, erlebt in diesem 21. Jahrhundert eine Welle der Digitalisierung. Unter den verschiedenen digitalen Innovationen, die stattfinden, ist eines der Open-Source-Tools, das zufällig und zu Recht Terraform genannt wird, hier, um die Web-Arena zu verwandeln. Und die Drupal-Webanwendungsinfrastruktur kann in hohem Maße von Terraform profitieren.

Infrastructure as Code mit Terraform

Logo von Terraform mit großem T, das aus violetten Parallelogrammen gebildet wird, und Hashi Terraform darunter geschrieben


Um Terraform besser zu verstehen, beginnen wir mit einem Beispiel, bei dem Sie eine Drupal-Site auf AWS hosten. Die Verwaltung der Infrastruktur ist hier ein entscheidender Aspekt. Sie müssen eine Amazon Elastic Compute Cloud (EC2)-Instanz mit Ihrem Drupal-Code erstellen, um den Datenverkehr zu bedienen. Aber das ist noch nicht alles. Es gibt noch mehr Dinge, um die man sich kümmern muss. Sie müssen sich um die Identitäts- und Zugriffsverwaltung (IAM), Subnetze, Auto-Scaling-Gruppen, Virtual Private Cloud, Sicherheitsgruppen, Zielgruppen, Load Balancer, Elastic Load Balancing und vieles mehr kümmern. Infrastructure as Code (IaC) ist Ihre Lösung, um Infrastrukturressourcen effektiv zu verwalten.

IaC automatisiert die Bereitstellung von Infrastruktur und ermöglicht es Ihrem digitalen Unternehmen, Cloud-Anwendungen schnell, kostengünstig und mit minimalen Risiken zu erstellen, bereitzustellen und zu skalieren. Es verwendet modernste deskriptive Programmiersprachen, um den Prozess der Bereitstellung von IT-Infrastruktur zu automatisieren. Dies reduziert die Notwendigkeit für Entwickler, Server, Betriebssysteme, Datenbankverbindungen, Speicher und verschiedene andere Infrastrukturelemente manuell bereitzustellen und zu verwalten. Um IaC anzuwenden, ist die Nutzung von Terraform die beste Wahl.

Was ist Terraform überhaupt? Es ist ein Konfigurationsorchestrierungstool, das mit Private Cloud, Public Cloud oder On-Premise-Systemen arbeiten kann und die Möglichkeit für sicheres und bequemes Design, Governance und Verbesserung für Infrastructure as Code bietet. Als plattformübergreifendes, erweiterbares Tool kodifiziert Terraform APIs in deklarative Konfigurationsdateien. Diese können dann mit Teammitgliedern geteilt, als Code behandelt, bearbeitet, analysiert und versioniert werden.

„Terraform ist ein Tool zum sicheren und effizienten Aufbauen, Verändern und Versionieren von Infrastruktur.“ - Terraform.io

Terraform ermöglicht es Ihnen, Infrastruktur in Konfiguration/Code zu definieren und ermöglicht es Ihnen, Änderungen an der Infrastruktur einfach neu aufzubauen/zu ändern und zu verfolgen. Die Geschwindigkeit und die Operationen von Terraform sind tadellos. Sein Plan-Befehl stellt sicher, dass Sie Änderungen an der Infrastruktur vorhersehbar und sicher vornehmen. Das heißt, Sie wissen, was Terraform tun wird, bevor Sie Änderungen vornehmen, was keine Möglichkeit für Überraschungen später lässt. Durch den Aufbau eines Graphen aller Ihrer Ressourcen und die Parallelisierung des Aufbaus und der Modifizierung aller nicht-abhängigen Ressourcen gibt es Einblicke in Abhängigkeiten in der Infrastruktur. Und komplizierte Changesets können mit Hilfe minimaler menschlicher Interaktion auf die Infrastruktur angewendet werden. Da es sich um Open-Source handelt, gibt es auch eine lebendige Community, mit der Sie sich leicht austauschen und es nutzen können.

Tabelle mit Zeilen und Spalten, die Vergleiche zwischen Terraform, Ansible, Chef, Puppet und SaltStack zeigt
Vergleich von Terraform mit ähnlichen Tools | Quelle: IBM

IBM gibt an, dass Ansible, Puppet, SaltStack und Chef im Allgemeinen als Konfigurationsmanagement-Tools betrachtet werden, bei denen die Software auf bestehenden Serverinstanzen installiert und verwaltet wird. Terraform hingegen wird als Orchestrator betrachtet, der selbst Serverinstanzen bereitstellt und die Konfiguration dieser Server anderen Tools überlässt.

Balkendiagramm mit horizontalen, blau gefärbten Balken, um Statistiken über den Marktanteil von Terraform, Ansible, Chef, Puppet und Salt zu zeigen


Auch wenn Ansible die Adoptionscharts anführt, ist es Terraform, das in letzter Zeit einen Anstieg der Nutzerzahlen erlebt hat. Laut einer 2019 State of the Cloud-Umfrage, die von RightScale durchgeführt wurde, zeigte Terraform das stärkste Wachstum. Es stieg von 20 % im Jahr 2018 auf 31 % im Jahr 2019.

Implementierung einer serverlosen Architektur mit Terraform und Drupal

Eine Session auf den Decoupled Days 2019 zeigte, wie Terraform in der Drupal-Webanwendungsinfrastruktur eingesetzt werden kann. Sie demonstrierte, wie man eine serverlose Lösung architektonisch gestaltet, um das Frontend mit Daten zu versorgen, die über eine API von Drupal abgerufen werden. Die serverlose Frontend-Anwendung wurde mit mehreren Cloud-Providern gehostet, die über ein CDN (Content Delivery Network) verfügbar sind. Eine solche Anwendung könnte mit Hilfe von Terraform mehrmals in mehreren Regionen von mehr als einem Cloud-Provider bereitgestellt werden. Das Schreiben von Wrapper-Skripten für Terraform rationalisierte den Prozess der Bereitstellung von Infrastruktur.

Die Multisite-Fähigkeiten von Drupal, bei denen mehrere separate Websites von einer einzigen Codebasis aus betrieben werden können, vereinfachten die Hosting-Anforderungen für das Backend. Der Frontend-Teil war nicht einfach, da er mehrere Instanzen benötigte, um die Anzahl der Web-Properties zu emulieren. Alle Websites wurden auf einem gemeinsamen Stack aufgebaut und die Infrastrukturressourcen konnten bei Bedarf einfach gemeinsam genutzt werden.

Die Multisite-Fähigkeiten von Drupal, bei denen mehrere separate Websites von einer einzigen Codebasis aus betrieben werden können, vereinfachten die Hosting-Anforderungen für das Backend.

In diesem entkoppelten Drupal-Setup benötigte die Infrastruktur für statische Web-Assets (bestehend aus HTML, CSS, JavaScript, Fonts und anderen) Amazon S3 oder einen ähnlichen Speicher und eine CDN-Verteilung mit dem Ursprung, der auf den S3-Bucket gesetzt ist. Der Frontend-Code wurde mit Angular erstellt.

Mit dem Vorhandensein verschiedener Umgebungen und der Notwendigkeit eines Endpunkts für den Zugriff auf die API war das Hardcoding der URL während der Build-Zeit notwendig. Die IP-Whitelist wurde für den Drupal-Server für ein hohes Maß an Sicherheit verwendet. Alle Inhalte wurden von einem Proxy abgerufen. Der Proxy konnte hinter einem CDN platziert werden, wodurch die Leistung und Verfügbarkeit verbessert wurden.

Mit mehreren Websites und Umgebungen war eine Infrastrukturautomatisierung erforderlich. Terraform machte dies alles möglich. Es ermöglichte den Prozess des Schreibens ähnlicher Skripte für AWS und Aliyun, zum Beispiel. Terraform-Module wurden einmal ausgeführt, um die Umgebung vorzubereiten und IDs aller Ressourcen zu erstellen. Die IDs wurden in einer Konfigurationsdatei gesetzt, die für alle Jenkins-Läufe zugänglich war. Dies stellte sicher, dass der Frontend-Code von den CI (Continuous Integration)-Builds bereitgestellt werden konnte. Terraform half auch bei der Verwaltung des Zustands der gesamten Infrastruktur.

Fazit

Systemadministratoren und DevOps-Ingenieure sind bestrebt, mit weniger mehr zu erreichen. Die Definition der Infrastruktur im Code und die Automatisierung ihrer Bereitstellung führen zu betrieblicher Effizienz und geringeren administrativen Aufwand. Terraform ist bereit, Ihr Go-to-Toolset für die Infrastrukturautomatisierung zu sein. Und es kann ein großer Gewinn in der Drupal-Webanwendungsinfrastruktur sein.

Die Verwendung von Terraform kann Spaß machen. Für den Anfang können Sie Terraform ausprobieren und einfach damit spielen, um seine Effizienz für Ihr digitales Geschäft besser zu verstehen.

Das Angebot eines fantastischen digitalen Erlebnisses war schon immer das Ziel von OpenSense Labs. Sprechen Sie mit unseren Experten unter [email protected] und erfahren Sie mehr über die Fähigkeit von Terraform, die Landschaft Ihrer Webanwendungsinfrastruktur zu verändern.

Abonnieren

Ready to start your digital transformation journey with us?

Verwandte Blogs

Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

„Fit. Schnell. Für die Ewigkeit gebaut.“ Das war nicht nur ein Slogan, sondern die Denkweise, mit der wir zur DrupalCon…

Erklärbare KI-Tools: SHAPs Stärke in der KI

Explainable AI tools Explainable AI And SHAP OpenSense Labs

Wissen Sie, was erklärbare KI-Tools sind? Erklärbare KI-Tools sind Programme, die zeigen, wie eine KI ihre Entscheidungen…

KI-Chatbots: Präzision und Persönlichkeit in Perfektion

Creating AI Chatbot OpenSense Labs

In der Welt der künstlichen Intelligenz ist die Entwicklung eines KI-Chatbots, der nicht nur akkurate Informationen liefert…