Zum Inhalt wechseln

Bereitstellen & Hosten von Mendix Low-Code-Systemen

Technology

5 Mai 2021 - 8 Minuten lesen

Deployment_and_Hosting_Mendix_768x440
1394 DE Resources Thumbs

Teilen

Inhaltsverzeichnis

  1. Einleitung
  2. Mendix Cloud
  3. Warum woanders hosten?
  4. Jenseits der Mendix Cloud
  5. Öffentliche oder private Cloud?
  6. Cloud Foundry
  7. Spezielle Plattform-Optionen
  8. Die Herausforderungen
  9. Zusammenfassung

Die schnelle Entwicklung von Anwendungen ist großartig, da sie die Liefergeschwindigkeit erhöht und den Entwicklungsprozess für nicht-technische Mitarbeiter verständlicher macht. Aber was ist mit Bereitstellung und Hosting? Benötigen Sie eine spezielle Infrastruktur oder ist es möglich, überall zu hosten? In diesem Artikel werden wir uns mit den Bereitstellungsoptionen für die Mendix-Low-Code-Plattform befassen.

Einleitung

Die Möglichkeit, Software in Tagen oder Wochen anstelle von Monaten zu entwickeln und freizugeben, ist ein großer Vorteil von Mendix (und Low-Code-Lösungen im Allgemeinen). Geschwindigkeit und Flexibilität bei der Bereitstellung der Lösung können jedoch ebenso wichtig sein wie andere Faktoren wie die Kompatibilität mit der vorhandenen Infrastruktur oder die Isolierung von externen Netzwerken. Inzwischen wissen Sie wahrscheinlich, dass Mendix-Apps hauptsächlich mit Mendix Cloud gehostet werden. Was ist, wenn Sie von der Low-Code-Entwicklung profitieren möchten und außerhalb der Mendix Cloud hosten müssen? Ist es möglich? Die Antwort ist ja'! Dank seiner Architektur kann Mendix auf vielen Cloud-Plattformen von Azure und Amazon Web Services (AWS) bis zu SAP und RedHat gehostet werden. Darüber hinaus können Sie Mendix bei Bedarf lokal hosten.

Bevor wir uns mit den Alternativen befassen, lassen Sie uns die Funktionen und Eigenschaften der Mendix Cloud zusammenfassen und bestimmte Fälle untersuchen, in denen Sie möglicherweise auf eine andere Plattform wechseln möchten. Bitte beachten Sie, dass dieser Artikel nicht die Bereitstellung mobiler Anwendungen behandelt.

Mendix Cloud

Funktionen

Die Mendix Cloud basiert auf AWS, wobei Cloud Foundry als Zwischenschicht dient, wodurch es einfacher wird, Anwendungen in einer Cloud-Umgebung bereitzustellen und zu verwalten. Weitere Informationen zu dieser Plattform finden Sie auf der Webseite von Cloud Foundry Concepts.

Mendix Cloud ist in drei geografischen Zonen verfügbar: Im Osten von Nordamerika (1 Region), Europa (3 Regionen, 2 in der EU) und Asien-Pazifik (1 Region). Der Kunde bestimmt die Datenresidenz und die Daten bleiben garantiert in der ausgewählten Region. In Bezug auf Daten entspricht Mendix den Standards für Informationssicherheit und ist nach ISO / IEC 27001:2013 zertifiziert. Weitere Informationen zur Datensicherheit finden Sie auf der Seite von Mendix Trust.

Eines der attraktivsten Elemente der Mendix Cloud ist die Integration in das Entwicklerportal. Auf diese Weise können Sie Umgebungen verwalten, Bereitstellungen mit einem Klick durchführen und vieles mehr - auf einer einzigen Webseite.

Außerdem wurde die Mendix Cloud ausschließlich für das Hosting von Mendix-Lösungen entwickelt. Dies bedeutet, dass Sie ein gutes Ergebnis in Bezug auf die Leistung der bereitgestellten Ressourcen erwarten können. Selbst wenn Ihre Anwendung mehr Ressourcen benötigt, kann die vertikale und horizontale Skalierung für eine bestimmte Umgebung problemlos durchgeführt werden.

 

Warum woanders hosten?

Die Mendix Cloud scheint die richtige Lösung zu sein. Warum also mit anderen Hosting-Umgebungen arbeiten? Einer der häufigsten Gründe, der jedoch nicht an technische Fähigkeiten gebunden ist, ist die strategische Entscheidung des Kunden, einen bestimmten Cloud-Anbieter als Kernanbieter zu übernehmen. Auf der anderen Seite können wir aus den Erfahrungen des Low-Code-Teams bei Objectivity erkennen, dass es auch Fälle gibt, in denen andere Plattformen Ihnen zusätzliche Vorteile bieten können.

Wenn Sie beispielsweise davon ausgehen, dass sich der Benutzerverkehr Ihrer Anwendung innerhalb kurzer Zeit erheblich ändern wird, sollten Sie andere Lösungen in Betracht ziehen. Wie bereits erwähnt, können Sie Ihre Umgebung problemlos skalieren. Es werden jedoch keine neuen Instanzen erzeugt, um den erhöhten Datenverkehr zu verringern oder überschüssige Ressourcen dynamisch freizugeben.

Es kann vorkommen, dass die Sicherheitsrichtlinie des Kunden nicht zulässt, dass seine Daten außerhalb einer vorgesehenen (möglicherweise lokalen) Infrastruktur verarbeitet werden. In diesem Fall können Sie weiterhin eine Mendix-App bereitstellen - entweder durch Bereitstellen der Anwendung auf Ihrem Server oder in einer privaten Cloud.

Jenseits der Mendix Cloud

Sie sollten zwei Faktoren beachten, bevor Sie sich für eine andere Bereitstellungsoption entscheiden. Zunächst sind Sie für die Verwaltung der Infrastruktur nach dem Wechsel von der Mendix Cloud verantwortlich. Zweitens erfordert die Enterprise-Plan-Lizenz, dass Mendix in einer Nicht-Mendix-Cloud oder vor Ort ausgeführt wird.

Für die Ausführung einer Anwendung außerhalb der Mendix Cloud müssen Informationen zur Lizenz in Form eines Abonnements „Secret of a Licence-ID / Key“ weitergeleitet werden. Diese Informationen erhalten Sie beim Mendix-Support. Detaillierte Informationen zum Lizenzieren Ihrer Anwendung für eine bestimmte Bereitstellungsoption finden Sie auf der Dokumentationsseite zum Lizenzieren von Apps.

Öffentliche oder private Cloud?

Mendix bietet Ihnen die Möglichkeit, Ihre Anwendung sowohl in öffentlichen als auch in privaten Cloud-Umgebungen zu hosten. Sie können in jeder Cloud bereitstellen, sofern sie das Ausführen von Docker-Images unterstützt. Oder Sie möchten ein ähnliches Setup für eine lokale Bereitstellung mit einer virtuellen Maschine neu erstellen. Im Allgemeinen gibt es mehrere Optionen für das Hosting in einer Cloud-Umgebung, die alle in der Übersicht der Cloud-Anbieter aufgeführt sind. Wie bereits erwähnt, können Sie in jeder Cloud hosten. Einige Anbieter haben jedoch eine formelle Partnerschaft mit Mendix geschlossen, sodass Sie bei Problemen einen besseren Support erwarten können.

Mendix ist Partner von:

  • Microsoft Azure
  • AWS
  • SAP Cloud Platform
  • IBM Cloud

Sie können Mendix auch in einer privaten Cloud verwenden - eine Lösung, welche die Bereitstellung mit einem Klick mit Ihrem Kubernetes-Cluster verbindet. Diese interessante Lösung wurde hauptsächlich für die Bereitstellung in der Cloud entwickelt und kann einen Großteil der Bereitstellung für Sie automatisieren. Für diese Lösung müssen Sie den Mendix Gateway Agent und den Mendix Operator installieren, um eine sichere Verbindung herzustellen und Clusterressourcen zu verwalten. Wenn Sie bereits Mendix-Benutzer sind, ist das Tutorial der Mendix Academy zur Simulation der Bereitstellung in einer privaten Cloud mit Minikube möglicherweise sehr nützlich. Es wird gezeigt, wie Sie einen Cluster registrieren und die erforderlichen Installationsskripts abrufen. Der Prozess ist auch in der Dokumentation beschrieben.

Cloud Foundry

Die Bereitstellung mit Cloud Foundry ist hoch automatisiert. Vor der ersten Verwendung müssen Sie die Hosting-Umgebung konfigurieren, z.B. bereiten Sie die Datenbank und (optional) den Dateispeicher vor. Anschließend wird die Bereitstellung auf ein einfaches Ein-Klick-Verfahren reduziert.

Bemerkenswerte Beispiele für Plattformen, die eine Cloud Foundry-basierte Bereitstellung ermöglichen, sind Pivotal Web Services, die SAP Cloud Plattform und die IBM Cloud.

Es gibt verschiedene Möglichkeiten, die Bereitstellung auf einer Cloud Foundry-basierten Plattform durchzuführen. Aus dem Mendix Studio Pro, dem Entwicklerportal oder mit der Cloud Foundry CLI. Wenn Sie mit Mendix Studio Pro die Umgebung für Ihre Anwendung konfiguriert haben, können Sie sie mit einem Klick bereitstellen, indem Sie einen Endpoint und Anmeldeinformationen angeben. Mit Cloud Foundry CLI geben Sie einen Befehl mit einem Link zum cf-mendix-buildpack (GitHub) und zu Ihrem Bereitstellungspaket aus. Das Entwicklerportal ist die empfohlene Bereitstellungsmethode, wenn Cloud Foundry von IBM oder SAP verwendet wird.

Docker Images

Die wahrscheinlich vielseitigste Bereitstellungsoption besteht darin, ein Docker-Image der Mendix-Anwendung zu erstellen. Dies kann mit Mendix-Docker-Buildpack (GitHub) erfolgen - einem Open-Source-Tool, welches von Mendix erstellt wurde.

Um es zu verwenden, müssen Sie das Repository klonen und dann den Befehl "Docker Build" ausführen. Dies erfordert, wie in der Readme-Datei beschrieben, ein paar Dinge z.B. eine andere Version des Cloud Foundry-Buildpacks. Dies liegt daran, dass das Mendix-Docker-Buildpack das cf-Mendix-Buildpack verwendet, um Docker-Images zu erstellen.

 

Sie können sie dann in jeder Infrastruktur verwenden, die das Ausführen von Docker-Images unterstützt. Beispielsweise kann in eine Containerregistrierung, wie die Azure Container Registry (ACR) oder die Amazon ECR hochgeladen werden und sie von dort aus in Ihren benutzerdefinierten CI / CD-Pipelines verwenden. Danach können Sie diese in einem der Cloud-Dienste wie dem Azure Kubernetes-Dienst, Amazon EKS oder Amazon ECS ausführen. Die Namen der Dienste variieren je nach Cloud-Anbieter.

Beachten Sie, dass für die Ausführung der Bilder zusätzliche Informationen erforderlich sind, die als Umgebungsvariablen weitergeleitet werden sollten. Eine vollständige Liste der Variablen finden Sie in der Readme-Datei des Mendix-Docker-Buildpacks.

On-Premises

Zu guter Letzt können Sie eine Mendix-Anwendung in Ihrer eigenen Infrastruktur bereitstellen, sofern sie den Anforderungen von Mendix entspricht. Dies kann entweder mithilfe eines herkömmlichen Webservers oder eines Setups erfolgen, mit dem Docker-Images ausgeführt werden können (Einzelheiten zum Erstellen eines Images einer Mendix-Anwendung finden Sie im obigen Abschnitt).

Bevor Sie sich für die lokale Bereitstellung entscheiden, sollten Sie Beispiele der Architekturen überprüfen. Mendix beschreibt, wie Sie sowohl auf Windows, als auch auf einem Unix-ähnlichen Server bereitstellen. Im letzteren Fall werden nur eine Handvoll Distributionen und Versionen offiziell unterstützt: Debian 8 (Jessie) oder 9 (Stretch), Red Hat Enterprise 7 oder CentOS 7.

Da die Konfiguration langwierig ist und die Dokumentation alle Schritte umfassend abdeckt, werden wir hier nicht alle behandeln und nur die Meilensteine für die Bereitstellung auf lokalen Servern erwähnen. Einige der gemeinsamen Voraussetzungen für beide Systeme sind:

  • Bereitstellungspaket für Ihre Anwendung
  • Java Runtime Environment
  • Eine Datenbank für Ihre Anwendung
  • Web-Server; Microsoft IIS und ARR für Windows oder nginx (Beispiel) für GNU/Linux

Darüber hinaus müssen Sie zusätzliche Mendix-Tools wie die Mendix Service Console und die Mendix Server Distribution für Windows oder m2ee-Tools für ein Unix-ähnliches System installieren. Die Software für Windows ist im Mendix App Store erhältlich, während sich m2ee-tools auf GitHub befinden.

Nach Vorbereitung der Voraussetzungen müssen Sie Ihre Anwendung bereitstellen und konfigurieren (mithilfe der Mendix Service Console oder der m2ee-Tools) und Ihren Webserver konfigurieren. Schließlich müssen Sie Ihre App entweder mithilfe der Mendix Service Console unter Windows oder mit dem m2ee-tools-Befehl auf einem Unix-ähnlichen System lizenzieren.

 

Spezielle Plattform-Optionen

Es gibt zwei weitere Optionen, die wir noch nicht erwähnt haben. Eines davon ist ein Azure Marketplace-Element, bei dem es sich um ein Mendix-Tool handelt. Der Bereitstellungsprozess ähnelt dem eines lokalen Webservers, mit der Ausnahme, dass das Mendix-Tool Sie durch den Prozess zum Erstellen einer Umgebung in Azure führt. Die gesamte Bereitstellung wird in der Dokumentation ausführlich beschrieben.

Die zweite Option ist die Mendix Cloud Dedicated VPC. Dies ist in der Tat eine Instanz der Mendix Cloud, die auf Ihrem AWS-Benutzerkonto ausgeführt wird. Die Instanz wird vollständig von Mendix verwaltet. Der Benutzer des Entwicklerportals hat dieselbe Umgebung wie bei der Arbeit mit einer Standard-Mendix-Cloud.

Die Herausforderungen

Sie müssen berücksichtigen, dass für die Bereitstellung außerhalb der Mendix Cloud möglicherweise zusätzliche Arbeit von Ihnen und Ihrem Team erforderlich ist. Denken Sie daher daran, die Stakeholder darüber zu informieren, dass die Entscheidung für die Bereitstellung außerhalb der Mendix-Cloud die für die Bereitstellung eines Projekts erforderliche Zeit beeinflussen kann.

Denken Sie beim Hosting in einer Nicht-Mendix-Cloud daran, dass die Last der Wartung auf Ihren Schultern liegt. Stellen Sie daher sicher, dass Sie über die benötigten Ressourcen verfügen, um Ihren Server auf dem neuesten Stand, sicher und hoch verfügbar zu halten, und dass Sie Ihre Anwendung überwachen können.

Packaging Ihrer App als Docker-Image erfordert die Verwendung des zuvor erwähnten Docker-Anhang-Buildpacks, eines Open-Source-Tools, das auf GitHub unter der 2.0-Lizenz verfügbar ist. Denken Sie beim Verweisen auf dieses Repository in Ihrer automatisierten Pipeline daran, dass es sich im Laufe der Zeit ändert und einige dieser Änderungen sich auf die Build-Pipeline auswirken können. Es ist eine gute Idee, das Projekt aufzuspalten oder herunterzuladen und dann auf Ihre Kopie zu verweisen.

Zusammenfassung

Mendix ist in Bezug auf Bereitstellungsoptionen sehr vielseitig. Da es sich um eine Cloud-native Plattform handelt, können damit erstellte Anwendungen auf nahezu jeder Cloud-Plattform auf dem Markt in vielen Konfigurationen gehostet werden - von einer virtuellen Maschine bis zu einem Kubernetes-Cluster. Auch wenn Sie nicht in die Cloud wechseln möchten, können Sie in Ihrer lokalen Infrastruktur hosten. Zu guter Letzt ist die Mendix Cloud selbst eine solide Hosting-Umgebung, die von Mendix-Ingenieuren vollständig für Sie verwaltet werden kann.

Probieren Sie es aus und erstellen Sie Ihr nächstes Projekt mit Low-Code.

1394 DE Resources Thumbs

Was Sie noch interesieren könnte

Kontakt

Starten Sie Ihr Projekt mit Objectivity

CTA Pattern - Contact - Middle