d12g

Blog von Daniel Grewing

Minikompendium zum Thema Microservices

26. Juli 2015 Softwareentwicklung, Systemadministration

Neues zum Thema Microservices: Martin Fowler hat eine Art Minikompendium über Microservices erstellt.
Dieses ist unterteilt in die folgenden vier Bereiche:

Was sind Microservices?
Sehr kurz, aber prägnant beschreibt Fowler Microservices anhand ihrer Eigenschaften. Diverse Verlinkungen geben dann einen genaueren Einblick in das Thema.

Wann sollte ich sie nutzen?
Ob man diesen Architekturstil einsetzen möchte hängt natürlich auch immer von den aktuellen Anforderungen ab. Fowler beschreibt Vor- und Nachteile und zieht Vergleiche mit dem monolithischen Ansatz.

Wie erstellt man Microservices?
Dieser Bereich ist eine Linksammlung auf ein Buch und diversen Beiträgen und Vorträgen.

Wer nutzt sie?
Hier findet man Informationen zu den Vorreitern des Architekturstils: Netflix, Amazon und Google. Sehr interessant ist ein Beitrag der REA Group, einer australischen Firma in der Immobilienbranche. Die Firma teilt ihre Erfahrungen bei der Umstellung eines monolithischen Systems auf Microservices.

Windowsbackup mit rsync

7. März 2015 Systemadministration

windows, backup, rsync, cygwin
Für die Durchführung von regelmäßigen Backups auf Linuxsystemen ist rsync eine gute Option. Das Programm ist flexibel und sehr performant. Für Windows vermisse ich immer noch ein ähnliches Werkzeug. Nun habe ich eine Möglichkeit gefunden mit dem Linuxprogramm auch unter Windows zu arbeiten.
Der erste Schritt ist die Einrichtung von Cygwin. Cygwin erlaubt die Ausführung von Linuxprogrammen unter Windows. Es ist eine Art Wrapper, das die Unix-API unter Windows bereitstellt. Einmal installiert und ausgeführt öffnet sich ein Terminal und man fühlt sich wie auf einem Linuxsystem. Die Laufwerke von Windows werden wie gewohnt als Verzeichnisse gemountet (im Cygwin Installationsordner).
Für die Sicherung kann man nun ein Bashskript erstellen und ausführen lassen. Ein Backup eines Ordners unter Windows kann mit rsync dann so aussehen:

#bash
rsync -aP --delete /zu-sichern-pfad /backup-pfad

Diese Konfiguration nutze ich für eine 1-zu-1 Sicherung meiner Entwicklungsumgebung. Auf ältere Backups bin ich nicht angewiesen, da ich dafür eine Versionsverwaltung nutze.
Backups in eine Datei oder inkrementelle Sicherungen kann man unter cygwin mittels tar und gzip realisieren.