Checkliste für den Container-Einsatz

Breite und flexible Entwicklungsbasis ist Grundvoraussetzung für erfolgreiche Containerisierung geschäftsrelevanter Software-Anwendungen. InterSystems erklärt, worauf bei der Entwicklung gebündelter Anwendungen zu achten ist. [...]

Einsatz finden Container etwa bei der Implementierung von Microservices. (c) contrastwerkstatt - Fotolia
Einsatz finden Container etwa bei der Implementierung von Microservices. (c) contrastwerkstatt - Fotolia

Containerisierung, also das Bündeln einer Applikation mit all ihren Abhängigkeiten, ist ein wichtiger IT-Trend. Wichtigstes Ziel: die schnelle Implementierung von Funktionen, eine zügige Verteilung von Updates und eine verbesserte Synchronisierung von Entwicklungsabläufen. Gleichzeitig optimieren Container Abläufe und erhöhen die Transparenz. Unternehmen und Entwickler, die diese Vorteile der Software-Container nutzen wollen, stehen aber immer vor der Frage: Wie bestmöglich vorgehen? Die Experten von InterSystems haben jetzt einen Routenplan zum Thema zusammengestellt: Auf die folgenden Tipps und Fallstricke gilt es bei der Containerisierung von Anwendungen zu achten, um ihr Potenzial umfassend zu nutzen.

Begrifflichkeiten verstehen und abgrenzen

Zu Beginn ist es ratsam, ein besseres Verständnis zu entwickeln. Worum geht es speziell? Wie lassen sich Container einsetzen, um das Tagesgeschäft zu vereinfachen? Vielerorts fehlt sogar das grundlegende Wissen, wie sich ein Container von einer virtuellen Maschine (VM) unterscheidet, da beides zunächst ähnlich aussieht. Die VM lässt sich als Haus beschreiben, während ein Container einer Wohnung entspricht. VMs sind eigenständig mit einem vollständigen Gastbetriebssystem, das in der VM läuft. Sie sind unabhängig wie freistehende Gebäude. Container hingegen sind sehr schlank und nutzen eine gemeinsame Infrastruktur, beispielsweise den Kernel des Host-Betriebssystems. Sie lassen sich also mit einer Wohnung vergleichen. In einem Wohngebäude werden Heizungsanlagen, Elektroleitungen und mehr gemeinsam genutzt. Ähnlich verwenden auch Container die verfügbaren Ressourcen des Hosts.

Einsatz finden Container etwa bei der Implementierung von Microservices, die   untereinander kommunizieren können. Hierbei lassen sich die jeweiligen Microservices und der entsprechende Container einzeln aktualisieren, was das Ausrollen neuer Releases erleichtert. Um der komplexen Service-Architektur zu begegnen, sind in diesem Zusammenhang Ansätze wie API-Management sinnvoll und notwendig.

Voraussetzungen schaffen, Anwendungen aufbrechen

Was trotz der zahlreichen Vorteile des Container-Ansatzes viele Unternehmen noch von ihrer Einführung abhält, ist, dass Anwendungen nicht ausreichend vorbereitet sind. Werden große, verzahnte und komplexe Applikationen in den Container verlagert, widerspricht dies dem eigentlichen Containergedanken verringerter Komplexität. Ein erster Schritt sollte daher sein, festzustellen, ob sich Anwendungen sinnvoll aufsplitten lassen. Wo können funktionale oder logische Blöcke gebildet und dann in einen eigenen Container überführt werden? Ein konkretes Beispiel: Bei einem Warenwirtschaftssystem, das Bestellabwicklung, Kundenverwaltung und mehr beinhaltet, ließen sich etwa Wissensdatenbank, CRM, Module oder anderes in einen Container auslagern. Der erste Schritt erfolgreicher Containerisierung ist demnach, kleinere Einheiten zu bilden. Achtung: Die Aufsplittung sollte weder zu klein- noch zu großteilig sein, um Container bestmöglich beherrschen zu können. Wer ein ganz neues Tool plant, kann gleich zu Beginn überlegen, ob dies containerisiert werden kann. 

Migrationsaufwand bei Windows-Anwendungen beachten

Container kommen klassisch aus der Linux-Welt, in der sie auch am einfachsten funktionieren. Wer heute eine Anwendung hat, die nativ unter Windows läuft, muss daher einen gewissen Migrationsaufwand berücksichtigen. Daher sollten sich Projektverantwortliche und Entwickler bereits im Vorfeld Gedanken machen, ob es möglich ist, die jeweilige Anwendung in die Linux-Welt zu bringen – eine Kosten-Nutzen-Abwägung. Dies ist für den serverseitigen Teil der Applikationen oft gut möglich, bei komplexen GUI-Clients jedoch schwieriger.

Auf eine flexible und breit angelegte Entwicklungsbasis setzen

Eine breite Operationsgrundlage für zahlreiche Entwicklungsumgebungen ist für die Entwicklung von Anwendungen sowie in diesem Zusammenhang auch Containern sehr hilfreich. Ratsam ist hierbei eine Datenplattform, die sich leicht implementieren lässt, und die auch bei Programmierprojekten in einem Container eingesetzt werden kann. Beispiel InterSystems IRIS: Eines der Entwicklungsziele für InterSystems IRIS war es, dass die Plattform ein „First Class Citizen“ für Container sein sollte. Das spiegelt sich auch in der Release-Strategie wider. Während das erste Release eines Jahres gleichzeitig als konventionelles Anwendungspaket und als Containerrelease angeboten wird, sind alle nachfolgenden Versionen des Kalenderjahres ausschließlich als Container zu beziehen. Auch ein API Manager ist in IRIS integriert, was die Implementierung neuer Funktionen und Anwendungen zusätzlich vereinfacht. Neben der gesamtheitlichen und zentralen Entwicklung und Kontrolle datenintensiver Anwendungen und Container lassen sich so auch APIs transparent verwalten. Alle benötigten Funktionen finden sich in einer einzigen Datenplattform.


Mehr Artikel

Gregor Schmid, Projektcenterleiter bei Kumavision, über die Digitalisierung im Mittelstand und die Chancen durch Künstliche Intelligenz. (c) timeline/Rudi Handl
Interview

„Die Zukunft ist modular, flexibel und KI-gestützt“

Im Gespräch mit der ITWELT.at verdeutlicht Gregor Schmid, Projektcenterleiter bei Kumavision, wie sehr sich die Anforderungen an ERP-Systeme und die digitale Transformation in den letzten Jahren verändert haben und verweist dabei auf den Trend zu modularen Lösungen, die Bedeutung der Cloud und die Rolle von Künstlicher Intelligenz (KI) in der Unternehmenspraxis. […]

News

Richtlinien für sichere KI-Entwicklung

Die „Guidelines for Secure Development and Deployment of AI Systems“ von Kaspersky behandeln zentrale Aspekte der Entwicklung, Bereitstellung und des Betriebs von KI-Systemen, einschließlich Design, bewährter Sicherheitspraktiken und Integration, ohne sich auf die Entwicklung grundlegender Modelle zu fokussieren. […]

News

Datensilos blockieren Abwehrkräfte von generativer KI

Damit KI eine Rolle in der Cyberabwehr spielen kann, ist sie auf leicht zugängliche Echtzeitdaten angewiesen. Das heißt, die zunehmende Leistungsfähigkeit von GenAI kann nur dann wirksam werden, wenn die KI Zugriff auf einwandfreie, validierte, standardisierte und vor allem hochverfügbare Daten in allen Anwendungen und Systemen sowie für alle Nutzer hat. Dies setzt allerdings voraus, dass Unternehmen in der Lage sind, ihre Datensilos aufzulösen. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*