Sprache

Eine umfangreiche Website sofort veröffentlichen: rsync vs. FTP in WebAcappella Fusion

Neuigkeiten

WebAcappella Fusion macht die Erstellung von Websites leicht zugänglich. Die direkte Folge: Die Nutzer werden mutiger. Was eigentlich eine fünfseitige Visitenkarte sein sollte, wird zu einem 200-seitigen Portal, einem über fünf Jahre gewachsenen Blog oder einem Shop mit 600 Produkten. Am Anfang wächst das Ganze ganz natürlich. Und dann dauert das Veröffentlichen eines Tages zehn Minuten. Dann fünfzehn. Dann zwanzig. Und es ist nicht der Aufbau der Website, der träge ist – es ist die Übertragung auf den Server.

Der Erfolg, der Websites wachsen lässt

Je zugänglicher ein Tool ist, desto mehr zieht es ambitionierte Projekte an. Genau das ist das Schicksal von WebAcappella Fusion: ein Rathaus, das alle seine Beschlüsse aus fünf Jahren hinzufügt (300 Seiten), eine Anwaltskanzlei, die pro Entscheidung ein Dokument veröffentlicht (450 Seiten), ein Fotograf, der pro Hochzeit eine Seite erstellt (800 Seiten mit Galerien), ein Shop, der am Ende 1.200 Artikel umfasst. Diese Websites existieren. Sie passen problemlos in WA Fusion: Die Multiprozess-Erstellung generiert sie in wenigen Dutzend Sekunden, selbst wenn sie mehr als 500 Dateien umfassen.

Aber sobald die Website erstellt ist, muss sie noch auf den Server hochgeladen werden. Und genau da wird es kompliziert.

Der Moment, in dem die Veröffentlichung zur Qual wird

Bei einer Website mit fünf Seiten ist die FTP-Veröffentlichung kaum spürbar: drei Sekunden, und es ist erledigt. Bei einer Website mit 500 Seiten, mit Bildern, CSS, JS und Produktseiten, sieht die Sache anders aus. Das erleben Nutzer großer Websites:

  • Eine Veröffentlichung, die 15 bis 30 Minuten dauert, während derer man den Computer nicht mehr anzurühren wagt
  • 80 % Fehlschläge: Die Verbindung bricht ab, der FTP-Client trennt sich, man muss von vorne beginnen
  • Fehlende Dateien: Eine unterbrochene Übertragung lässt einen Teil der Website in der alten Version, den anderen in der neuen
  • Beschädigte Dateien: eine schlecht verwaltete Binärübertragung, und das Bild erscheint online fehlerhaft
  • Ständige Unsicherheit darüber, was nach einer chaotischen Veröffentlichung tatsächlich online ist

Das ist kein Fehler von WebAcappella, weder von Ihrem Hosting-Anbieter noch von Ihrer Internetverbindung. Es handelt sich um eine strukturelle Einschränkung des verwendeten Protokolls.

FTP: ein Protokoll aus dem Jahr 1971

FTP, kurz für File Transfer Protocol, wurde 1971 festgelegt. Der Kontext damals: Einige Forscher schickten sich über das ARPANET Dateien zwischen Laboren hin und her. Zu diesem Zeitpunkt war die Übertragung von hundert Dateien auf einmal noch nicht einmal ein vorgesehener Anwendungsfall. FTP wurde für einfache Transaktionen konzipiert, nicht für die effiziente Synchronisation von Tausenden von Dateien.

Fünfzig Jahre später gibt es das Protokoll immer noch, und seine strukturellen Grenzen ebenfalls:

  • Keine inkrementelle Übertragung innerhalb von Dateien: Wenn sich eine Datei um nur ein Byte geändert hat, sendet FTP sie komplett neu
  • Eine Verbindung (oder fast) pro Datei: Die TCP-Verhandlung summiert sich Datei für Datei, was Websites mit vielen kleinen Dateien stark belastet
  • Keine native Integritätsprüfung: FTP kann nicht feststellen, ob eine Datei identisch mit dem Original angekommen ist
  • Keine automatische Wiederaufnahme: Bei einem Netzwerkausfall beginnt die Übertragung von vorne (oder hinterlässt einen inkonsistenten Zustand)
  • Teilweiser Fehler = defekte Website: Wenn die Hälfte der Dateien übertragen wird und die andere Hälfte fehlschlägt, ist Ihre Website in einem gemischten Zustand online, der nicht diagnostiziert werden kann

Bei einer Website mit fünf Seiten sind diese Einschränkungen kaum spürbar. Bei einer Website mit 500 Seiten werden sie jedoch zum Hindernis.

rsync: ein Algorithmus, der genau dafür entwickelt wurde

rsync, 1996 von Andrew Tridgell für seine Doktorarbeit entwickelt, ist kein Übertragungsprotokoll: Es ist ein differenzieller Synchronisationsalgorithmus. Der Unterschied ist grundlegend. Während FTP Daten überträgt, vergleicht rsync zunächst und überträgt dann – und zwar nur das, was sich geändert hat.

Konkret macht rsync Folgendes, was FTP nicht kann:

  • Intra-Datei-Delta-Kodierung: Wenn Sie zwei Absätze in einer HTML-Seite ändern, sendet rsync nur die geänderten Blöcke innerhalb der Datei zurück – nicht die gesamte Datei
  • Eine einzige multiplexierte SSH-Verbindung: Die gesamte Übertragung erfolgt über einen einzigen sicheren Kanal, ohne dass bei jeder Datei eine Neuverhandlung erforderlich ist
  • Komprimierung während der Übertragung: Die Daten werden vor dem Versand komprimiert und bei der Ankunft dekomprimiert, was das Datenvolumen im Netzwerk drastisch reduziert
  • Integritätsprüfsumme für jede übertragene Datei: kein Risiko für beschädigte Dateien
  • Automatische Wiederaufnahme bei Unterbrechung: Wenn die Verbindung abbricht, setzt rsync genau dort fort, wo es aufgehört hat
  • Koordiniertes Löschen (Option --delete): Lokal gelöschte Dateien werden auch auf dem Server gelöscht, wodurch die Ansammlung alter Geisterdateien vermieden wird

Das Ergebnis: Auf einer Website mit 500 Seiten, auf der Sie drei Absätze ändern, würde FTP möglicherweise mehrere ganze Dateien zurücksenden. rsync sendet ein paar Kilobyte und fertig.

Nativ in WebAcappella Fusion integriert

rsync ist normalerweise Systemadministratoren vorbehalten: Befehlszeile, Verwaltung von SSH-Schlüsseln, Optionen, die man sich merken muss. Nichts davon wird vom Benutzer von WebAcappella Fusion verlangt. Die Integration ist vollständig und unsichtbar.

In den Veröffentlichungseinstellungen Ihrer Website steht der rsync-Modus neben FTP und SFTP zur Verfügung. Sie geben Ihre SSH-Anmeldedaten ein, WA Fusion kümmert sich um den Rest: Synchronisierung, Komprimierung, Fortschrittsbericht, Wiederaufnahme im Falle eines Fehlers. Sie klicken auf „Veröffentlichen“, und das war’s.

Tip

Ihre Projekte, Ihre Inhalte und Ihre Zugangsdaten bleiben unverändert: Nur der Mechanismus für die Übertragung auf den Server ändert sich. Sie können bei einer bestehenden Website von FTP auf rsync umstellen, ohne dass Daten verloren gehen.

Unsere Expertise in Sachen rsync beschränkt sich nicht nur auf WebAcappella Fusion. Intuisphere entwickelt und pflegt außerdem RsyncBrowser, einen eigenständigen grafischen SSH/rsync-Client für Nutzer, die ihre Synchronisierungen außerhalb des Website-Editors koordinieren müssen: Server-Backups, Datenspiegelungen, Skript-Bereitstellungen, punktuelle Übertragungen großer Datenmengen. Es ist zum Teil diese in der Praxis gesammelte Erfahrung, die es uns ermöglicht hat, rsync so nahtlos in WA Fusion zu integrieren – Verwaltung von SSH-Schlüsseln, saubere Wiederaufnahme, übersichtlicher Fortschrittsbericht.

Verfügbar bei Hosting-Anbietern mit SSH-Zugang

rsync funktioniert nicht über FTP: Es benötigt serverseitigen SSH-Zugriff. Diese Anforderung erklärt, warum nicht alle Hosting-Anbieter es anbieten können. Günstige Shared-Hosting-Angebote beschränken sich oft auf einfaches FTP ohne SSH.

Webhosts, die SSH-Zugriff unterstützen (und damit auch rsync in WebAcappella Fusion):

  • o2switch: SSH ist standardmäßig auf allen Konten aktiviert – rsync funktioniert sofort, ohne besondere Konfiguration
  • OVH: bei bestimmten Angeboten verfügbar (Shared Hosting Performance, VPS- und dedizierte Hosting-Angebote). Überprüfen Sie im Kundenbereich, ob ein SSH-Zugang vorhanden ist
  • Linux-Hosting-Anbieter mit aktiviertem SSH: Jeder Anbieter, der Shell-Zugriff anbietet, funktioniert (Infomaniak, PlanetHoster und die meisten VPS)

Wenn Ihr aktuelles Angebot nur FTP bietet, haben Sie zwei Optionen: Behalten Sie die FTP-Veröffentlichung bei (die weiterhin voll funktionsfähig ist, bei großen Websites jedoch weniger effizient) oder wechseln Sie zu einem Angebot mit SSH, wenn die Größe Ihres Projekts dies rechtfertigt.

Der konkrete Vorteil: die maximale Geschwindigkeit Ihrer Verbindung

Mit dem in WebAcappella Fusion integrierten rsync entspricht die Veröffentlichungsgeschwindigkeit nahezu direkt dem Minimum zwischen der Upload-Geschwindigkeit Ihrer Internetverbindung und der Schreibkapazität Ihres Hosting-Anbieters. Es gibt keine protokollbedingten Mehrkosten mehr, die das Ganze verlangsamen.

Kurz gesagt:

  • Ein punktuelles Update (einige geänderte Seiten auf einer Website mit 500 Seiten) dauert nur wenige Sekunden – gerade so lange, wie es dauert, die Deltas zu senden
  • Eine vollständige Erstveröffentlichung einer großen Website dauert genau so lange, wie die Übertragung der Dateien bei Ihrer Verbindungsgeschwindigkeit dauert. Nicht länger
  • Keine Timeouts mehr, keine manuellen Wiederholungen mehr, keine Zweifel mehr über den Status der Website online

In Kombination mit der lokalen Multiprozess-Architektur erfolgt der gesamte Ablauf – von „Ich habe Inhalte geändert“ bis „Der Besucher sieht die neue Version“ – nahezu augenblicklich, selbst bei den umfangreichsten Websites.

Für wen und wann?

Wenn Ihre Website nur aus wenigen Seiten besteht und die FTP-Veröffentlichung zehn Sekunden dauert, brauchen Sie objektiv gesehen kein rsync. Bleiben Sie bei dem, was funktioniert.

Wenn Ihr Projekt wächst, wenn Sie anfangen, das Veröffentlichen zu vermeiden, weil es zu lange dauert, wenn Sie schon einmal eine unterbrochene Veröffentlichung hatten, die Ihre Website in einem zweifelhaften Zustand zurückgelassen hat: Das ist das Signal. Prüfen Sie, ob Ihr Hosting-Anbieter SSH anbietet, schalten Sie in den Veröffentlichungseinstellungen auf den rsync-Modus um, und der Unterschied ist sofort spürbar.

Das ist typischerweise die Art von Funktion, von der man nicht weiß, dass man sie braucht … bis zu dem Tag, an dem man sie hat und sich fragt, wie man das vorher gemacht hat.