Wie man ThingWorx auf Azure Kubernetes Service einsetzt

12.05.2022

Die ThingWorx IoT Plattform von PTC auf Microsoft Azure Kubernetes Service (AKS) zu betreiben kann Unternehmen viele Vorteile bringen.

In diesem Beitrag erfahrt ihr mehr über das Zusammenspiel von Thingworx und Azure Kubernetes Service und wie die Implementierung durch unsere Experten in diesem Bereich erfolgt.

Welche Herausforderungen gibt es und wie sieht eine optimale Lösung mit Azure Kubernetes aus?

Für Unternehmen ist die Hochverfügbarkeit (High Availability) einer komplexen und kritischen IoT-Applikation ein wesentlicher Faktor, um einen zuverlässigen Betrieb zu gewährleisten. Denn Applikationen, die hochverfügbar sind, können selbst möglich auftretende Ausfälle des Systems oder Komponenten des Systems problemlos auffangen. Mit der Azure Plattform ist Microsoft einer der größten Anbieter, die High Availability zu mindestens 99,9 Prozent sicherstellen können und das auch in ihren SLA´s (Service Level Agreements) so aufführen. Dabei gilt: Je mehr Nachkommastellen desto besser und ausfallsicherer. [1]

 

doubleSlash ist Experte im „Active-Active“-Cluster Betrieb in Azure Kubernetes

Im High Availability Umfeld wird oftmals zwischen „Active-Active“ und „Active-Passive“ Clustering unterschieden.
Im „Active-Passive“ Clustering ist immer nur ein Server aktiv, die weiteren Server stehen als Backup zur Verfügung, falls ein System ausfällt. Bei der Übertragung auf den Backupserver kann es jedoch zu einer Unterbrechung der Services kommen. Nichtsdestotrotz kommt es hierbei zu keinerlei Beeinträchtigung in der Leistungsfähigkeit, da der Backupserver eine 1:1 Replikation des primären Servers ist.
Im „Active-Active“ Cluster übernimmt ein Load-Balancer die Verteilung von Pods im „Round Robin“-Prinzip an mehrere Server. Kommt es zu einem Serverausfall, wird die Auslastung an die übrigen Server verteilt, wodurch die Leistungsfähigkeit geringfügig abnimmt. Der Endnutzer nimmt diesen Ausfall aufgrund einer globalen Serververteilung im Azure Umfeld nicht wahr. Azure bietet dafür drei verschiedene Verfügbarkeitszonen an, die sowohl physisch als auch logisch voneinander separiert sind und sicherstellen, dass je nach Anforderungslevel eine entsprechende Ausfallsicherheit erfüllt wird. Dadurch wird außerdem eine geringe Latenz in der Wiederherstellung der Daten sichergestellt. [2] Um einen zuverlässigen Betrieb einer kritischen IoT-Anwendung zu gewährleisten, eignet sich also der Betrieb im „Active-Active“ Cluster. Zusätzlichen Schutz bietet dazu der Betrieb in der eigenen Cloudumgebung, sodass die Datenhoheit im eigenen Unternehmen liegt. doubleSlash ist eine der wenigen deutschen Anbieter, die den Einsatz eines „Active-Active“ Clusterbetriebs von ThingWorx in AKS in einer Private Cloud umsetzen können.

 

Native Cloud Umgebung und Azure DevOps – ein optimaler Lösungsansatz

Als ideale Lösung für kürzere Release—Zyklen und einer einfacheren und schnelleren Skalierung, stellt sich die Implementierung und der Betrieb von ThingWorx in eine native Cloud Umgebung wie bspw. Microsoft Azure heraus. Ein weiterer Vorteil, ist die Serververteilung im Azure Umfeld, sodass die darauf betriebene Applikation global verfügbar ist.

Mit Azure DevOps wird außerdem sichergestellt, dass sämtliche Prozesse in der Entwicklung von IoT-Anwendungen sowie im Betrieb und Testing automatisiert unterstützt und effizienter realisiert werden können. Dies wirkt sich schließlich direkt auf die kürzer werdenden Release Zyklen aus, wodurch das zur Verfügung stellen der entwickelten IoT-Produkte bzw. neuer Funktionen an den Endkunden in kürzeren Abständen erfolgen kann. [3]

 

Welche Komponenten werden für die Zusammenführung von ThingWorx und AKS (Azure Kubernetes Service) benötigt?

Für die Integration der ThingWorx IoT-Plattform in Azure Kubernetes werden vor allem folgende Komponenten benötigt:

  • Azure Container Registry
  • Azure Container Instances
  • Azure IoT Hub
  • PostgreSQL as a Service (DB)
ThingWorx in die Azure Kubernetes Service Überblick
Abbildung 1: Architekturbild der Implementierung von ThingWorx in die Azure Kubernetes Service Umgebung

 

In welchen Schritten erfolgt die Implementierung von ThingWorx auf Azure Kubernetes Service?

Voraussetzungen die vorab seitens des Unternehmens erfüllt sein müssen, ist eine bestehende PTC ThingWorx Lizenz (wir unterstützen ab ThingWorx Version 9.2) sowie die Azure Umgebung. Im Folgenden wird die Implementierung in drei Schritten erläutert:

Schritt 1: Sizing
Im ersten Schritt übernimmt ein Consultant das Sizing. Dies umfasst Hardware Sizing, Requirements Engineering, Deployment sowie die Bestimmung der High Availability Strategie.

Schritt 2: Setup
Im zweiten Durchlauf wird Azure Kubernetes Service, die Azure Container Registry sowie ein Monitoring aufgesetzt. Im Anschluss dazu kann das Deployment der ThingWorx Komponenten in Azure Kubernetes Service und der Kunden Subscription erfolgen.

Schritt 3: Run & Operate
Als finaler Schritt wird das ThingWorx Cluster in Kubernetes hochgefahren und der Betrieb sowie Monitoring an den Kunden übergeben.

 

Microsoft Azure Marketplace – Azure Service auf einen Blick

Microsoft bietet mit dem Azure Marketplace eine Plattform, auf der Apps und Beratungsdienste, die basierend auf Azure oder für Azure erstellt werden, aufgelistet sind. Darunter bietet auch doubleSlash als Microsoft Gold Partner verschiedene Dienste an, wie z.B. die Implementation von Thingworx auf Azure Kubernetes Service.

Mehr Infos zu unserem Leistungsangebot finden Sie auf dem Microsoft Azure Marketplace.

__________________________________________________________________________________________

Weitere Infos zu unserer IoT Partnerschaft mit PTC Thingworx und Microsoft finden Sie hier.

Mehr zu unseren Themen im Connected Things Umfeld finden Sie hier.

 

 

Quellen:

[1] Drei bewährte Methoden für High Availability in der Cloud (computerweekly.com)

[2] Azure-Verfügbarkeitszonen: Hochverfügbarkeit im großen Stil | Microsoft Azure

[3] DevOps mit Microsoft® Azure – eine Übersicht der Services – Cloud Business Group

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*