Drupal-PaaS: Was abgestimmte PaaS-Umgebungen auszeichnet

Leistungsstarke Web-Appli­katio­nen, die etwa Content und Commerce ver­knüpfen, sind für Unter­nehmen in wett­bewerbs­intensivem Um­feld essenziell. Ist die PaaS-Umgebung eines CMS optimal auf Amazon Web Services ab­ge­stimmt, profi­tie­ren Unter­nehmen von einer ein­fachen Ver­waltung und guten Skalierbarkeit.

Handels-, Inhalts- und Entwicklerplattform

Von Christian Steiger, Acquia

Oft haben Unternehmen vor einigen Jahren mit beachtlichem finanziellen und personellen Aufwand erste Websites für das Content Management erstellt, die dann in den Folgejahren weitgehend unverändert blieben. Vor allem die Kombination von selbst entwickelten Anwendungen und Standardsoftware erwies sich häufig als zeitaufwendige und langwierige Aufgabe für den On-premises-Betrieb.

Heute erwarten die Fachabteilungen als Auftraggeber von Web-Applikationen, Landing Pages für Produkteinführungen oder anderen Marketing– und Vertriebsaktionen, dass die Anwendungen innerhalb weniger Tage einsatzfähig sind. Eine Lösung dafür bietet ein Content-Management-System, das als LAMP-Stack in einer PaaS-Umgebung bereitsteht – mit dem Betriebssystem Linux, dem Webserver Apache, dem Datenbankmanagementsystem MySQL und der Programmiersprache PHP.

IaaS-Plattform als Fundament

Die Infrastruktur ist die Grundlage bei der Erstellung von Websites. Eine IaaS-Plattform wie Amazon Web Services (AWS) stellt die benötigten Services bereit, auf denen man beispielsweise hochverfügbare und skalierbare Drupal-Applikationen betreibt. Der wichtigste Vorteil: Die Entwickler müssen sich nicht mehr um die zugrunde liegende physikalische Infrastruktur wie Server, Storage-Systeme und Netzwerkressourcen kümmern. Die Server der CMS-Plattform nutzen dann AWS Elastic Compute Cloud (EC2), Elastic Block Storage (EBS) und Elastic IPs (EIP).

Eine wichtige Rolle spielt dabei auch, dass die PaaS-Umgebung des CMS optimal auf die Sicherheits- und Compliance-Funktionalitäten der IaaS-Plattform abgestimmt ist. Das betrifft etwa Anforderungen wie das Identitäts- und Zugangsmanagement, die Bereitstellung und Verwaltung von SSL-Zertifikaten oder das Key Management. Ebenso bedeutsam sind Features für die Plattformorchestrierung und -automation komplexer Workloads, etwa dann, wenn ein Unternehmen eine Content-und-Commerce-Lösung auf mehreren Kontinenten und in einer Vielzahl von Regionen und Sprachen entwickeln und ausliefern will. Dazu kommen Anforderungen wie Konfigurationsmanagement und eine permanente Optimierung des Load Balancing. Notwendig ist hier eine effiziente Abstimmung mit Applikationskomponenten wie Datenbankserver (beispielsweise MySQL von Percona), dem Network File System (zum Beispiel GlusterFS), den Apache-Webservern mit PHP-Code sowie den Reverse-Proxy-Caching- und Load-Balancing-Servern von Varnish bzw. nginx.

Applikationen entwickeln

Damit man zuverlässige Anwendungen erstellen kann, sollten Tools zur Verfügung stehen, die Best-Practice-Workflows für Build, Testing und Deployment unterstützen. Recht nützlich sind vorgefertigte Development Staging Production Environments, die Unternehmen bei Bedarf erweitern können. Diese getrennten Umgebungen fördern und unterstützen Continuous Integration und Delivery, indem klar abgetrennte Testeinheiten zu einem festen Bestandteil des Workflows werden.

Rechenzentren 2017-03.jpg

Schwarz auf Weiß
Dieser Beitrag erschien zuerst in unserer Magazin­reihe „Rechen­zentren und Infra­struktur“. Einen Über­blick mit freien Down­load-Links zu sämt­lichen Einzel­heften bekommen Sie online im Presse­zentrum des MittelstandsWiki.

Mithilfe automatisierter Tests lassen sich außerdem frühzeitig Unstimmigkeiten bei der Übergabe von Code und Content zwischen den Umgebungen feststellen und beseitigen. Über einen Activity Log sollte es dabei möglich sein, die Probleme einzugrenzen, indem Tester die letzten Änderungen analysieren. Continuous Delivery stellt einen Workflow bereit, der Build und Testing steuert und überwacht und damit bei jedem Release die Auslieferung effizienter gestaltet – und dies in der Regel bei einer höheren Codequalität. Gleichzeit entstehen mit Continuous Integration and Delivery die Grundlagen für die Einführung von DevOps-Methoden und -Verfahren.

Eine PaaS-Umgebung unterstützt Continuous-Integration-und-Delivery-Teams aus internen Entwicklern, Dienstleistern und Partnern, die damit über eine einheitliche Plattform verfügen. Das verbessert die Zusammenarbeit, gewährleistet die Einhaltung von Compliance- und Sicherheitsvorgaben und vereinfacht das Delivery Management. Ergänzt um ein Drag-and-drop-Deployment von Code, Files und Datenbanken zwischen den Umgebungen sollten Entwickler durch die Unterstützung von GitHub und privaten Repositories in der Lage sein, Builds und Artefakte komfortabel zu verwalten. Recht hilfreich ist darüber hinaus die Möglichkeit, eine lokale Entwicklungsumgebung einzusetzen und diese in regelmäßigen Abständen mit der PaaS-Umgebung zu synchronisieren.

MW-KommRZ3.2017.ID07-Orchestration-Layer.jpg
Bei der Drupal-basierten Open-Source Content-Management-Plattform Acquia Cloud ist die PaaS-Umgebung Teil eines Orchestration Layers und bietet Unternehmen einen umfassenden Stack zur Auslieferung von Digital Experiences. (Bild: Acquia)

Integration mit anderen Tools

Bei der Erstellung und Erweiterung von Websites, die Content und Commerce integrieren und Kunden personalisierte Angebote an allen digitalen Touchpoints ausliefern, müssen Entwickler auch immer wieder Third-Party-Tools integrieren. Das gilt zum Beispiel für die Einbindung von E-Commerce- und Marktplatzlösungen, wobei es mehrere Varianten gibt. So kann eine CMS-Lösung als führendes System den Content bereitstellen und über einen Service Layer auf die E-Commerce-Funktionalität zugreifen. Möglich ist auch, dass Unternehmen über das E-Commerce-System die Customer Experience ausliefern und das CMS als Content Repository nutzen.

In einer hybriden Architektur schließlich verbinden Entwickler die Systeme über APIs miteinander und machen über Schnittstellen auch weitere SaaS-Funktionalitäten wie anspruchsvolle Suchen, weitergehende Personalisierung, Content Syndication und Übersetzungen zugänglich. Ein Open-Source-CMS, das einer Microservices-basierten Architektur folgt, bietet hier deutliche Vorteile im Vergleich zu den traditionellen proprietären On-premises-Lösungen.

Acquia-Cloud.jpg

Christian Steiger ist Technical Account Manager bei Acquia. Acquia bietet eine leistungsstarke Cloud-basierte Plattform zum Erstellen, Hosten und Verwalten von digitalen Erfahrungen auf Drupal-Basis.


Acquia Inc., Erika-Mann-Straße 53, 80636 München, www.acquia.com

Nützliche Links