Neuigkeiten von trion.
Immer gut informiert.

Blog-Archiv 2025

Unterbrechungsfreies Deployment mit Docker Compose 22. Dezember 2025

Geschrieben von Thomas Kruse am 22. Dezember 2025
Docker Compose

Ab und zu kommen Wünsche, die sich extrem einfach mit Kubernetes umsetzen lassen würde, aber …​
Kubernetes ist viel zu komplex!
Wir haben kein Kubernetes!
Es ist doch nur ein Server (aber Ausfallsicherheit brauchen wir schon) …​

Wie könnte also ein unterbrechungsfreies Deployment aussehen, wenn lediglich Docker und Docker Compose zur Wahl stehen, und was sind die Tradeoffs, die damit einher gehen?
Schauen wir es uns an einem praktischen Beispiel an.

GitLab CI: Zeitverzögertes Deployment 5. Dezember 2025

Geschrieben von Thomas Kruse am 5. Dezember 2025
GitLab

GitLab hat mit GitLab CI eine angenehme Integration von Builds in die Repositoryverwaltung. Damit lassen sich Pipelines umsetzen, die schnelles Feedback liefern und damit helfen, die Software- und Systemqualität zu verbessern.
Die GitLab CI Runner helfen dabei, den Build zu skalieren, damit es auch hier nicht zu unnötigen Verzögerungen kommt.

Doch was, wenn der Wunsch besteht, dass genau das passiert? Es soll bis zu einem gewissen Zeitpunkt verzögert werden, da die bisherige Anwendung noch Session-basiert ist, und zu einem Zeitpunkt mit der geringsten Wahrscheinlichkeit für Störungen das Deployment erfolgen soll.

etcd Wartung in Kubernetes 19. November 2025

Geschrieben von Thomas Kruse am 19. November 2025
etcd

etcd spielt in Kubernetes Clustern typischerweise eine essentielle Rolle, denn hier wird der gesamte Zustand des Clusters gehalten. Die einzelnen Kubernetes API Server Instanzen selbst sind zustandslos.

etcd ist ein verteilter Key-Value-Store, der mit Multi-Version-Concurrency-Control arbeitet und darüber Change-Notification and Zugriff auf ältere Versionen ermöglicht.

Die Implementierung verwendet dazu einen Revisions-Zähler. Werden Daten gelöscht, hinzugefügt oder überschrieben, so werden diese Operationen stets zu einer neuen Revision assoziiert. Die vorheigen Zustände bleiben zunächst gespeichert, auch wenn sie überholt sind.

Damit diese quasi unendliche Geschichte nicht dazu führt, dass die Festplatte volläuft, müssen regelmäßig Wartungsaufgaben erfüllt werden.

etcd Schreiblast reduzieren und Performance steigern 22. Oktober 2025

Geschrieben von Thomas Kruse am 22. Oktober 2025
etcd

Kubernetes speichert sämtliche Konfigurationsdaten des Clusters in einer Datenbank, typischerweise etcd.

etcd ist ein verteilter Key-Value-Store, durch mehrere Instanzen kann die Verfügbarkeit und Datensicherheit gewährleistet werden. Damit keine Daten verloren gehen, signalisiert etcd dem Betriebssystem per fsync()-Aufruf, dass ein sofortiges Schreiben auf Festplatte erfolgen soll.

Doch etcd kann auch zum Flaschenhals werden: Wenn keine Schreiboperationen möglich sind, ist auch die Clusteradministration blockiert. Ein weiterer Aspekt ist, dass selbst in einem relativ stabilen Cluster kontinuierliche Aktualisierungen diverser Kubernetes-Objekte erfolgen, wie z.B. zur Leader-Election.
Das führt zu recht hoher I/O-Last und kann bei günstigen SSDs/NVMe Speichern zu schneller Alterung führen.

Container Inhalt inspizieren ohne Shell 27. September 2025

Geschrieben von Thomas Kruse am 27. September 2025
Docker

Container haben den Betrieb von Softwaresystemen seit einigen Jahren modernisiert. Mit Docker, Podman und Kubernetes ist ein effizienter und automatisierter Betrieb möglich, der früher undenkbar war. Doch manchmal stört die Isolation, die Container mit sich bringen:
Was, wenn es gilt, den Inhalt eines Containers zur Laufzeit zu inspizieren und es ist keine Shell installiert?

Frontend / Backend Synchronisierung in der Webentwicklung 20. September 2025

Geschrieben von Jonas Winkelmann am 20. September 2025

In modernen Webanwendungen ist die Synchronisierung zwischen Frontend und Backend von zentraler Bedeutung. Nutzer erwarten reaktive Oberflächen, unmittelbares Feedback und konsistente Daten – selbst wenn mehrere Personen gleichzeitig an denselben Inhalten arbeiten. Doch die Umsetzung ist technisch anspruchsvoll und erfordert je nach Anforderungen der Anwendung verschiedene Ansätze.

Im Folgenden werden einige Methoden vorgestellt, mit denen das Frontend mit dem Backend kommunizieren kann, sowie weitere Methoden, die im Frontend und Backend eingesetzt werden können.

React Compiler: Die Lösung für eine langsame React Anwendung ? 15. September 2025

Geschrieben von Jonas Winkelmann am 15. September 2025

React zählt seit geraumer Zeit zu den beliebtesten JavaScript Frontend Frameworks. Der Einstieg ist sehr leicht und die große Community hat zu einem breiten Ökosystem beigetragen. Doch eines hört man immer wieder. React soll langsam sein. Ein Grund dafür ist, dass Komponenten öfter neu geladen werden als sie müssten. Manuelle Optimierungen mit memo, useCallback und useMemo gehören zum Alltag von Entwicklern.

Nun entwickelt Meta den React Compiler, der sich aktuell noch in der Release-Candidate Phase befindet. Der Compiler verspricht, diese Optimierungen automatisch anzuwenden. Doch wie funktioniert er und kann er wirklich jede App schneller machen?

Kubernetes kubectl Konfigurationen zusammenführen 9. August 2025

Geschrieben von Thomas Kruse am 9. August 2025
Kubernetes

Die Kubernetes Lernkurve fängt typischerweise mit einem Cluster an.
Das kann ein Minikube, mikrok8s, k3s, der Docker Desktop Kubernetes Cluster oder auch ein Cluster in der Cloud sein.

Ein Kubernetes Cluster kommt jedoch selten allein: Zumindest für Entwicklung und den produktiven Betrieb ist es sinnvoll, mit getrennten Clustern zu arbeiten.

Client IP-Adresse ermitteln in Spring Boot Anwendungen 21. Juli 2025

Geschrieben von Leonard Wagner am 21. Juli 2025

Die IP-Adresse eines Clients stellt für Web-APIs einen wichtigen Datenpunkt dar. Sie wird für Anwendungsfälle wie der Personalisierung von Diensten, Protokollierungen und auch für Sicherheitsaspekte wie z.B. Rate Limiting benötigt. In diesem Artikel soll es daher darum gehen, wie sich die tatsächliche IP-Adresse eines Clients in einer Spring Boot Anwendung zuverlässig und sicher ermitteln lässt.

Rate Limit pro IP für Spring Boot 11. Juli 2025

Geschrieben von Leonard Wagner am 11. Juli 2025

Um eine Anwendung vor unliebsamen Traffic wie Spam oder andere Formen von automatisierten Requests zu schützen, können Rate Limits genutzt werden. In diesem Artikel beschreibe ich, wie sich Rate Limits pro IP-Adresse in einer Spring Boot Anwendung umsetzen lassen.

Suche

Los geht's!

Bitte teilen Sie uns mit, wie wir Sie am besten erreichen können.