Continuous Digitalization

Ziel

Unser Ziel ist es, eine Plattform anzubieten, die es Unternehmen ermöglicht, Geschäftsprozesse Schritt für Schritt zu digitalisieren. Wichtig hierbei ist es flexibel zu bleiben, um auf Veränderungen reagieren zu können und gleichzetig die maximale Freiheit bei der Umsetzung zu bieten. Wir wissen, jedes Unternehmen ist individuell und genau so sollte sich eine Digitalisierungsplattform verhalten.

Plattform

Das Herzstück der Plattform besteht aus fünf Grundsteinen, die aufeinander aufbauen.

plattform

Durch diese Architektur erreichen wir maximale Flexibilität, Freiheit und sind in der Lage die Plattform sowohl in einer Cloud Umgebung als auch On-Premises zu betreiben. So bleiben Sie stets skalierbar und können selbst definieren in welchem Umfeld Ihre Workflows laufen sollen.

Worker

Worker sind die die Arbeitstiere der Plattform. Hierbei handelt es sich um die Hardware Ressourcen z.B. Server oder PCs die gebündelt werden um die anfallenden Aufgaben zu erledigen.

Kubernetes

Kubernetes stammt aus dem Griechischen und bedeutet Steuermann. Es handelt sich um eine Open-Source-Plattform zur Verwaltung von Container-Apps. Kubernetes koordiniert Computer-, Netzwerk- und Speicherinfrastrukturen und ist in der Lage, Ressourcen von einem oder mehereren Workern in einem Cluster zu bündeln. So teilt Kubernetes jeder Aufgabe (Container) einen Worker zu, der diese Aufgabe erledigen soll. Gleichzeitig überwacht Kubernetes alle Aufgaben und verfügbare Ressourcen. Sollten die verfügbaren Ressourcen einmal knapp werden, kann man diese problemlos erweitern. Man stellt Kubernetes z.B. einfach einen weiteren Worker zur Verfügung und ist so in der Lage Ressourcen einfach zu skalieren.

Container

blog-img

Aus technischer Sicht kann man sich einen Container wie ein ZIP Archiv vorstellen. Dieses Archiv enthält dann ein ausführbares Programm oder ein Skript und alles was für die Ausführung notwendig ist z.B. Konfigurationsdateien, Bibliotheken, Runtimes.

Bei der Prozessdigitalisierung analysieren wir einen Geschäftsprozess und zerlegen diesen dann in seine Bestandteile. So werden Aufgaben definiert, die während des Prozesses erledigt werden müssen. Für jede Aufgabe entwickeln wir dann einen maßgeschneiderten Container, welcher sich dann genau um eine einzige Sache kümmert. Dieser Container enthält dann ein Programm oder ein Skript was die gewünschte Aufgabe durchführt. Daher bezeichnen wir Container auch gerne als Aufgaben.

Einem Container ist dabei egal, was er enthält, es muss nur ausführbar sein. So kann man Anforderungen mit einer beliebige Programmiersprache umsetzen und erhält so bei der Umsetzung größtmögliche Freiheit.

Workflows

blog-img

Ein Workflow ist ein Ablaufplan, der beschreibt, in welcher Reihenfolge bestimmte Aufgaben ablaufen sollen. So lassen sich, mit Hilfe eines Workflows Geschäftsprozesse modellieren.

Zudem kann man in einem Workflow weitere Merkmale definieren:

  • Soll der Workflow Zeit- oder Ereignisgesteuert sein
  • Abhängigkeiten zwischen Aufgaben z.B. darf eine Aufgabe erst eredigt werden, wenn eine weitere Aufgabe zuvor erledigt wurde
  • Bedingungen unter welchen Umständen eine Aufgabe ausgeführt werden darf
  • Daten / Informationen, die für die Ausführung benötigt werden
  • Ein- und Ausgabeparameter von Aufgaben

Workflow Engine

Bei der Workflow Engine handelt es sich um eine sog. Container basierte Workflow Engine, sie ist also für einen Betrieb mit Containern optimiert.

Nachdem man seine Workflows definiert hat, werden diese in der Workflow Engine installieren. Die Workflow Engine sogt dafür, dass der Workflow zum definieten Zeitpunkt bzw. Ereignis ausgeführt wird. Sobald ein Workflow getriggert wurde, gibt die Workflow Engine die auszuführenden Aufgaben an Kubernetes weiter, wo sie dann dann auf die verfügbaren Worker verteilt und ausgeführt werden.

Zudem sorgt die Workflow Engine dafür, dass der Zustand aller Aufgaben überwacht wird, Logs gesammelt und alle Workflow Bedingungen eingehalten werden.

Workflow-Engine.svg