Automate everything? Nur ein Buzzword oder schon gelebte Praxis?
Keine vorgegebene Agenda, keine Frontalvorträge: Wir laden euch zu uns ein, um gemeinsam zu diskutieren und voneinander zu lernen.
- 03.04.2025
- 17:30
Docker ist eine Plattform zur Containerisierung von Anwendungen. Entwickler:innen können Anwendungen samt aller benötigten Abhängigkeiten in sogenannten Containern verpacken. Diese Container laufen isoliert vom Host-System und sind dadurch portabel und konsistent über verschiedene Umgebungen hinweg. Für Anwender:innen bedeutet das eine einfache Installation und Nutzung: Alles, was zur Ausführung der Anwendung erforderlich ist, ist bereits im Container enthalten – zusätzliche Tools oder Bibliotheken müssen nicht manuell installiert werden.
Docker Hub ist eine cloudbasierte Registry, die Entwickler:innen die Möglichkeit bietet, Docker-Images zu speichern, zu verwalten und zu teilen. Es ist die offizielle Plattform von Docker Inc. für das Hosting und den Austausch von Container-Images.
Auch Atlassian nutzt Docker Hub, um die Images seiner Anwendungen zur Verfügung zu stellen.
Docker-Container ermöglichen eine schnelle und standardisierte Bereitstellung von Atlassian-Anwendungen. Die Container enthalten alles, was Jira oder Confluence für den Betrieb benötigen, d. h. beispielsweise sind die Java Runtime Environment, Python oder andere Tools schon im Container vorinstalliert.
Sollten weitere Software-Tools oder Bibliotheken benötigt werden, kann der Container mittels Konfiguration angepasst bzw. erweitert werden.
Ein Beispiel: Confluence benötigt für das Diagrammtool PlantUML das Tool Graphviz, welches im Container hinzugefügt werden kann.
Durch vordefinierte Docker-Konfigurationen z.B. mit Docker-Compose kann die Installation in deutlich kürzerer Zeit erfolgen, ohne Kenntnisse der komplexen Konfigurationsschritte einer normalen Installation haben zu müssen.
Zudem können Container problemlos horizontal skaliert werden, sodass neue Knoten für ein Data Center schnell einsatzbereit sind.
Mit Docker-Containern sind Atlassian-Anwendungen unabhängig von der zugrunde liegenden Infrastruktur. Das bedeutet, dass sie auf lokalen Entwicklungsmaschinen, Testservern und in der Cloud identisch laufen.
Docker-Images können sowohl auf eigenen Linux-Servern wie auch bei AWS, Azure oder Google Cloud betrieben werden.
Da Konfigurations-Anpassungen an den Docker-Containern ausschließlich mittels zentraler Konfigurationsdateien (docker-compose.yaml und/oder Dockerfile) gemacht werden, ist es z.B. einfacher und schneller Anpassungen an alle Knoten eines Data-Centers zu verteilen.
Diese Konsistenz minimiert Fehlerquellen und erleichtert es auch Anpassungen zwischen verschiedenen Umgebungen auszutauschen z.B. bei einer D-Q-P Strecke.
Updates für Atlassian-Applikationen können durch den Austausch des Docker-Images effizient durchgeführt werden. Anstatt eine bestehende Installation manuell zu aktualisieren, kann einfach eine neue Container-Version gestartet werden.
Data Center Funktionalitäten wie das "Rolling Update" bei Confluence oder das "Zero Donwtime Upgrade" bei Jira sorgen dafür, dass insbesondere Hotfixes innerhalb kürzester Zeit im laufenden Betrieb eingespielt werden können.
Es gibt für die Benutzer:innen keine Downtime der Applikation, da immer mindestens ein Knoten des Data Centers während des Updates verfügbar ist. Dies setzt natürlich eine Data Center Installation mit mindestens zwei Knoten voraus.
Bei Major Updates, bei denen Downtime nicht immer vermeidbar ist, lässt sich diese auf ein Minimum reduzieren. Auch die Vorbereitungszeit für ein Update wird durch den Einsatz von Docker erheblich verkürzt.
Da Docker-Container immer alle Tools und Abhängigkeiten mitliefern, die zum Betrieb der Anwendung benötigt werden, diese jedoch im Container gekapselt sind, gibt es keine Probleme, wenn z.B. zwei Container ausgeführt werden, die unterschiedliche Versionen der gleichen Bibliothek benutzen.
Zudem können durch den Einsatz von Docker-Compose Container mit spezifischen Netzwerk- und Sicherheitsrichtlinien betrieben werden, was die Gesamtstabilität und Sicherheit der Atlassian-Umgebung verbessert.
Der Betrieb von Atlassian-Applikationen in Docker-Containern bietet zahlreiche Vorteile wie eine einfache Bereitstellung sowie bessere Skalierbarkeit und einfachere Wartung.
Unternehmen, die ihre IT-Infrastruktur modernisieren und effizienter gestalten möchten, sollten den Einsatz von Docker für Atlassian-Anwendungen ernsthaft in Betracht ziehen.