Softwarearchitektur Qualitätssicherung

Einführung

Die Softwarearchitektur ist eine wichtige Voraussetzung für die Verständlichkeit und Veränderlichkeit von Code, sowie für die Einhaltung von Software Qualitätszielen. Drei Ziele der Softwarearchitektur sind Wartbarkeit, Austauschbarkeit und Erweiterbarkeit. Durch die Einführung von Mustern und Konventionen können die Ziele erreicht werden. Diese werden vom gesamten Entwicklungsteam definiert.

Doch wie kann jetzt sichergestellt werden, dass die Muster und Konventionen eingehalten werden?

Oft werden dafür in regelmäßigen Abständen aufwändige Code Reviews durchgeführt. Im Zeitraum zwischen den Reviews können sich jedoch viele technische Schulden ansammeln. Die Behebung dieser Verstöße kann dann viel Zeit in Anspruch nehmen.

Tools wie ArchUnit und jQAssistant helfen solche Konventionsverstöße schon bei der Entwicklung zu vermeiden. Im nachfolgenden werden diese Tools miteinander verglichen und eine Empfehlung ausgesprochen.

Mehr

OpenShift Pods mittels Java starten

Um in der OpenShift dynamisch neue Kubernetes Objekte zu erzeugen, kann der Java Client für Kubernetes und OpenShift 3 von fabric8.io verwendet werden. Dieser Client nutzt die REST API der Kubernetes/OpenShift Plattform, um verschiedene Aktionen auszuführen.

Wir verwenden den Kubernetes Client beispielsweise, um in der OpenShift neue Pods zu starten und nach der Berechnung diese wieder zu beenden. Wir haben uns ganz bewusst für den Kubernetes und nicht für den OpenShift Client entschieden. So sind wir plattformunabhängig und können auf andere Kubernetes Plattformen wechseln, ohne unsere Implementierung ändern zu müssen (Open-Closed Prinzip).Mehr

Datenbankdump in PostgreSQL

Um die Daten einer PostgreSQL Datenbank zu sichern, kann ein Datenbankdump erstellt werden. Der Dump ist im Grunde nur eine Textdatei die die SQL Statements enthält, um die Datenbank wiederherstellen zu können.Mehr

Konfiguration der PostgreSQL Datenbank mit pgtune optimieren

Die Standardkonfiguration der PostgreSQL ist so eingestellt, das die Datenbank auf jedem System lauffähig ist. Was bedeutet, dass sie Performance technisch auf Sparflamme unterwegs ist.

Um die optimale Konfiguration zu erhalten, kann das kleine Tool/Skript pgtune verwendet werden. Dieses Tool erstellt die Konfiguration anhand der Systemparameter (RAM, CPUs,…).Es ist jedoch ratsam das ganze danach noch zu prüfen, da pgtune nicht automatisch erkennt ob noch andere Datenbanken oder Systeme auf dem Server konfiguriert sind.

Die Verwendung ist ganz einfach:

  1. pgtune herunterladen
  2. Das Skript pgtune mit den Parametern „aktuelle Konfiguration“ und „neue Konfiguration“ ausführen

Beispiel: