Hast du dir einmal Gedanken darüber gemacht, wie du deine Dokumente am besten verwaltest? Dich vielleicht auch schon darüber geärgert, dass man darin nicht nach Begriffen suchen kann? Die Lösung liegt in einer Cloud basierenden Software für das papierlose Büro.
Ich hatte die Idee, dass ein plattformunabhängiger Container simpel in die Cloud geschoben werden kann – wurde aber eines Besseren belehrt. Ist ein Container nicht in sich geschlossen und von Umsystemen abhängig, kann es schnell komplex werden. Trotz vielen Jahren an Berufserfahrung war die Lösungsfindung alles andere als einfach und es gab einige grössere Herausforderungen zu meistern.
Mit ecoDMS zum papierlosen Büro
Im Zeitalter der Digitalisierung ist es naheliegend, dass Dokumente elektronisch und nicht mehr in Papierform aufbewahrt werden. Die Vorteile überwiegen klar. Man kann von überall auf seine Dokumente zugreifen und schnell abrufen. Nach Abschluss der Recherche für ein benutzerfreundliches Datenmanagementsystem (DMS) im Privatgebrauch fiel die Wahl auf ecoDMS.
Die Software darf für den nicht kommerziellen Gebrauch mit bis zu drei Benutzern Lizenzfrei genutzt werden. Der spannende Ansatz dabei war, dass sich der ecoDMS-Server auf einem NAS-System mit Docker-Container-Unterstützung ausführen lässt.
Wieso Docker-Container?
Da Container plattformunabhängig sind, müsste ecoDMS auch auf einer Cloud-Plattform die Docker-Engine unterstützt, ausführbar sein.
Die Vorteile der Container sind:
- In sich geschlossene und eigenständige Anwendungen.
- Sind portabel und können einfacher auf andere Infrastrukturen verschoben werden.
- Schnelle Bereitstellung bzw. reduzierter Installation – und Wartungsaufwand.
- Sie haben kein vollständiges Betriebssystem, sind damit kleiner und schneller.
- Unterstützen DevOps-Prozesse und beschleunigen damit die Test- und Produktionszyklen.
Design, Umsetzung und Realität!
Als Plattform zur Ausführung des ecoDMS Containers wird ACI (Azure Container Instances) eingesetzt. Meine designte Anwendungsarchitektur sieht folgendermassen aus:
- ecoDMS wird als Docker-Image bereitgestellt.
- ACI bezieht den Container von Docker Hub und führt diesen aus.
- Die postgreSQL Datenbank von ecoDMS soll auf Azure File Shares ausgeführt werden.
- SMB-Share für scanimport der Dokumente.
- Client kommuniziert mit dem ecoDMS Server.
Doch nicht so einfach…
Durch das Aneignen von Fachwissen über den Bereich Container und deren Technologie, konnte eruiert werden, welche Werkzeuge und Plattformen angeboten und wie diese optimal für diesen spezifischen Bedarf zu nutzen sind.
Da Container flüchtig sind und deren Daten beim Ausschalten verloren gehen, wurde nach einem Weg gesucht diese zu archivieren und auszulagern. Mein Lösungsansatz ist die Azure File Shares als persistenten Speicher für die PostgreSQL, wie in Punkt 3 der Abbildung beschrieben, zu verwenden – bislang leider ohne Erfolg.
Fazit
ecoDMS als Container auf ACI auszuführen, schätzte ich mit meinem IT-Background als eine schnell lösbare Aufgabe ein. Denn plattformunabhängige Container sollten, egal ob auf NAS oder in die Cloud, überall ausführbar sein. Wie sich aber herausstellte, war dieses Projekt nicht so trivial wie ursprünglich angedacht. Die Realität hat aufgezeigt, sobald Umsysteme dazukommen, kann es schnell komplex werden. Das Produkt wie auch die Container-Technologie bleibt unverändert spannend. Daher wird dieser Ansatz weiterverfolgt und eine Lösung für das Problem erarbeitet.
Weiterführende Links
- ecoDMS
- Docker: Accelerated, Containerized Application Development
- Deploy a Docker image to an Azure Container Instance
- Microsoft Learn – Deploy Docker container to container instance – Portal – Azure Container Instances
- Microsoft Learn – Deploy multi-container group – template – Azure Container Instances
- Store SQL Server files in Persistent Storage for Azure Container Instances