Geschrieben von Christian Bittner
am 23. Juni 2022
Sowohl im privaten als auch im unternehmerischen Umfeld ist das Einsatzszenario LAN-externer IoT Sensoren (bzw. Aktoren; gerne auch in hoher Stückzahl) häufig anzutreffen.
Damit diese mit einem im LAN befindlichen MQTT-Broker kommunizieren k...
Geschrieben von Thomas Kruse
am 2. Juni 2022
Cassandra ist eine noSQL Datenbank, die insbesondere im Kontext großer Datenmengen bei sehr hoher Verfügbarkeit eingesetzt wird.
Dabei ist bei Cassandra entscheidend, dass das Schema passend zu den jeweils zu unterstützenden Anwendungsfällen konzipiert ist:
Nur so wird die hohe Geschwindigkeit von Cassandra und die Verfügbarkeit sicher gestellt.
Doch Anforderungen können sich ändern, und damit muss auch die Anwendung angepasst werden.
Das kann sich auch auf die Datenstrukturen in Cassandra auswirken.
Ein Weg, damit umzugehen, sind Cassandra Materialized Views oder ein kompletter Datenexport als CSV und Re-Import.
Bei den für Cassandra typischen großen Datenmengen ist das selten praktikabel.
Unabhängig davon, um man sehr kleine Datenmengen in Cassandra vorhält, zum Beispiel zur Entwicklungszeit, oder eine spezielle Migrationsanwendung für den produktiven Einsatz mit Cassandra erstellt:
Die Migrationen sollten sich einfach verwalten und in der Versionskontrolle ablegen lassen.
Geschrieben von Christian Bittner
am 19. Mai 2022
Um sich in das Thema Penetrationstest einzuarbeiten, wird gerne eine Kombination aus der Pentest Linux Distribution Kali und einer mit Sicherheitslücken versehenen virtuellen Maschine (z.B. von vulnhub) verwendet.
Insbesondere im Kontext von...
Geschrieben von Christian Bittner
am 2. Mai 2022
In unseren modernen Cloud-affinen Zeiten gehen viele Anwendungsfälle in Richtung Serverless Computing.
Auch bei unseren trion-internen Systemen setzen wir zunehmend darauf, u.a. im Kontext Kommunikationskanäle von und zu Kunden.
Geschrieben von Till Schulte
am 18. April 2022
Android-Entwicklung kommt mit seinen Eigenheiten, spezifischen Dos and Don’ts einher. Dieser Artikel fasst einige praktische Entwickler Erfahrungen zusammen. Man muss ja nun nicht alle Fehler selber machen 😉.
Eine "responsive" App entwickeln
Geschrieben von Christian Bittner
am 2. April 2022
In dem Artikel Serverless kaskadiert haben wir einen Serverless Service
mit Cloudflare vorgestellt. Dieser Cloudflare Worker hat eine Mail examplarisch via Mailgun versendet.
Was aber macht der Entwickler, wenn er in einem Worker Kontext Daten...
Geschrieben von Thomas Kruse
am 1. März 2022
Im vorherigen Artikel PostgreSQL in Kubernetes und OpenShift wurden die Grundlagen zum Betrieb von PostgreSQL in Containern und Kubernetes vorgestellt.
Für eine einzelne Umgebung funktioniert das Verfahren soweit ganz gut.
Wenn jedoch verschiedene Varianten, z.B. für mehrere Umgebungen, bereitgestellt werden sollen, steigt der Aufwand und auch das Risiko von Configuration Drift.
Helm tritt an, um dabei Abhilfe zu schaffen.
Geschrieben von Christian Bittner
am 6. Februar 2022
Bei unseren Schulungen ist es immer wieder eine interessante Herausforderung, prägnante Übungsaufgaben zu erstellen, die von den Teilnehmer erfolgreich in einer passenden Zeitspanne umgesetzt werden können.
Für Aufgaben im Kontext Stream- ...
Geschrieben von Thomas Kruse
am 1. Februar 2022
Cassandra 4 ist ein lang erwartetes Release der Cassandra Datenbank.
Dabei hat sich nicht nur einiges in der Datenbank selbst geändert, sondern auch die Java Libraries für den Zugriff haben einige API Änderungen erfahren.
In dem Zuge sind viele andere Projekte aktuell noch nicht soweit, gute Unterstützung für Cassandra 4 zu bieten.
Spring Boot bzw. Spring Data Cassandra ist jedoch bereits soweit, dass aktuelle Treiber genutzt werden.
Dort stellt sich die Frage, wie das Thema Unit Test bzw. Integrationstest mit Cassandra 4 umgesetzt werden kann.
Geschrieben von Thomas Kruse
am 17. Januar 2022
Dank der Java GraalVM in Kombination mit dem Werkzeug native-image lassen sich Java Anwendungen in nativ kompilierte Binaries überführen, die sogar statisch gelinkt sein können.
Damit entfällt die Initialisierung der HotSpot VM sowie das Laden und Initialisiern von Klassen.
Eine derartig gebaute Java Anwendung lässt sich in sehr kurzer Zeit starten.
Selbst mit umfangreichen Abhängigkeiten wie Thymeleaf und Spring Security kann man hier im Bereich von einer Sekunde den vollständigen Anwendungsstart erwarten.
Dazu kommt ein gut vorhersagbarer Speicherverbrauch zur Laufzeit, der zudem auch geringer ausfällt, als bei der sehr dynamischen HotSpot VM.
Der Tradeoff von GraalVM-Native-Anwendungen ist, dass die Peakperformance im Vergleich zu HotSpot geringer ausfällt und Oracle zudem bestimmte Performanceoptimierungen nur in einer kommerziellen Variante anbietet.
Wie verhält sich Spring Boot mit Spring native - derzeit in Version 0.11.1 als beta - in Bezug auf den produktiven Einsatz?
Worauf gilt es zu achten und was funktioniert nicht, wie man es erwartet?
Diese Aspekte werden im folgenden betrachtet.