Das Backend

Ich wurde kürzlich gefragt, wie ich (rein technisch) neues Zeug hier in meinen Blog kotze. Selbstverständlich stehe ich gerne Rede und Antwort.

Seit dem Relaunch ist das Herzstück dieser Internetinsel ein Markdown-Interpreter, welcher aus einfachen Textdateien HTML-Code erzeugt. Dies hat zur Folge, dass Blogeinträge dementsprechend nicht in einer MySQL-Datenbank liegen, sondern direkt als Flat Files im Dateisystem.

Letztendlich ergeben sich daraus zwei Vorteile: Die Internetseite ist schön schlank und damit leicht zu pflegen und anzupassen. Außerdem lässt sich die verwendete Dateistruktur ohne großen Aufwand auf anderen Systemen abbilden.

Ich muss mich also nicht wie bei einem Wordpress-Blog auf der Seite direkt anmelden und in einem Admin-Backend meine Beiträge verfassen. Somit wird ebenfalls die Angriffsfläche deutlich reduziert.

Vor einiger Zeit erwähnte ich eine Dropboxanbindung für den Webspace, die sich in meinem Fall gut fürs Bloggen eignet. Nach einiger Zeit stellte sich aber heraus, dass der Dropbox-Daemon stellenweise recht unsauber arbeitet und sich gerne verschluckt – manuelles Neustarten und später die permanente Trennung waren die Folgen. Im Zuge meiner persönlichen Backsourcing-Initiative war mir dieser Umstand jedoch auch ganz recht.

Der jetzige Workflow ist zwar etwas umfangreicher, im Gegenzug aber deutlich zuverlässiger:

  1. Blogeintrag schreiben – Auf dem Rechner mit Writemonkey, unter iOS mit 1writer
  2. Eintrag auf das lokale Test-/Backupsystem schieben (Am Computer via SMB, bei iOS über den FileBrowser)
  3. Kontrolle ob die Formatierungen und Links stimmen
  4. Per SSH auf dem Testserver anmelden (Windows: Putty, iOS: ServerAuditor) und mit rsync den Posts-Ordner auf den Webspace synchronisieren.
  5. Sich freuen, dass man wieder einen Post veröffentlicht hat, gleichzeitig im Heinmetzwerk noch ein Backup liegt und dass nichts explodiert ist.

Natürlich könnte man auch einfach FTP nutzen, aber das wäre im höchsten Maße uncool und auch nicht so schnell, gerade wenn man zwischendurch eine kleine Korrektur loswerden möchte.