Hallo Kristian,
Am 02.06.2020 um 07:54 schrieb Kristian Rink:
Diese Frage treibt mich auch schon seit längerem um. Dann schaue ich mir
an, was etwa konkret Google im Blick auf Energie-Effizienz und "Green
IT" tun, und was ich (mit KMU-Brille) dort realistisch umsetzen kann.
Auch im Blick auf Datenhoheit, digitale Autonomie und Selfhosting: Gibt
es belastbare Studien zur Frage, wie Energie-Effizienz in diesem oder
jenem Szenario aussieht? Ist ein System mit einigen wenigen Anbietern,
die optimiert große Infrastruktur betreiben, wirtschaftlicher als eines
mit sehr vielen kleinen?
Vermutlich funktioniert die "Optimierung" noch am besten bei Anbietern,
die feingranulare Services anbieten (vgl. Amazon Lambda), welche die
Infrastruktur dazu komplett unter eigener Kontrolle haben und damit
gewisse Zeit nicht abgerufene Ressourcen tatsächlich herunterskalieren.
Natürlich auch für die MS/Office365 Welt und Mitbewerber, die dem Tenant
keine dedizierten Ressourcen garantieren müssen.
Anders sieht es aus, wenn Unternehmen ihre Bestands-IT ohne grundlegende
Architekturänderung in die "Cloud" migrieren, d.h. der VMWare-Host nur
vom lokalen Serverschrank in einen Cage im Rechenzentrum wandert. Hier
sind meist vertraglich Ressourcen zugesichert - ob die dann auch
tatsächlich abgerufen werden oder nicht, ist dann ein anderes Thema. Ich
denke in diesem Bereich wird nach wie vor unter dem Label "Cloud" viel
Energie verbrannt.
Das ist aber nur mein Gedanke und Beobachtung aus dem letzten Projekt
dazu, mit echten Zahlen die Du berechtigterweise gern sehen würdest,
kann ich leider nicht aufwarten. Interesse habe ich daran auch, ebenso
ob meine Einschätzung in etwa zutrifft oder völlig daneben liegt.
Simples Beispiel: Wenn ich die Bilder von der Smartphone-Kamera einfach
auf den Linux-Laptop bekommen will (der 10cm daneben steht), dann führen
nahezu alle "Standardwege" vom Smartphone über irgendein
Fernverkehrsnetz zu irgendeinem Server und von dort zurück zum Laptop.
Warum muss das so sein? Manchmal glaube ich, bei allen guten Ideen, die
es in den letzten Jahr(zehnt)en gab, ist an vielen Stellen hier unsere
Fantasie auf Client/Server-Lösungen beschränkt. Warum haben wir noch
nicht so etwas wie "syncthing-in-gut/-schnell", das die 10cm zwischen
> den beiden Geräten im Beispiel überbrücken kann ohne Server? Warum kann
> ich nicht selbiges für Office-Dokumente, Musik, ... tun - Geräte
> nebeneinanderlegen und mit zwei Taps oder Knopfdrücken lokal *schnell*
> synchronisieren? Als Nerd bekomme ich das mit etwas Frickelei hin, aber
> das funktioniert weder bequem noch schnell. Als End-User schaffe ich das
> vermutlich nicht. Was könnte man hier an Energie sparen für
> Netzwerk-Traffic, der mit besserer Implementation, mehr echter
> Dezentralität, mehr P2P vermeidbar wäre?
Danke dass Du Syncthing erwähnst. Konzeptionell finde ich das richtig
gut. Funktionell ist es zuweilen mit entsprechender Vorkonfiguration und
Einweisung meiner Erfahrung nach auch für Endanwender schon ganz
brauchbar. Ein Standalone-Binary, sinnvolle Defaults... meine Eltern
gleichen darüber im LAN ihren Bilderordner auf zwei verschiedenen
Laptops ab. Gestartet wird es per Desktop-Verknüpfung bei Bedarf.
Dadurch konnte ich dort die Einrichtung und Betrieb eines Fileservers
bzw. Cloud-Dienstes sparen. Die Einrichtung des auf einem Windows-System
naheliegenden OneDrive (oder respektive Nextcloud / Seafile / ...) ist
für Endanwender ohne IT-Hintergrund ebenfalls nicht immer intuitiv. Ich
teile allerdings deine Grundkritik an Syncthing: schnell ist es nicht
gerade und gefühlt sehr ressourcenhungrig. Auf Linux bzw. BSD-Systemen
werden schnell die ulimits (maxfiles) zum Problem. Das ist für Anfänger
schon die erste Hürde. Zusätzlich steht das Web-UI als primäre
Konfigurationsoberfläche dem Endanwender eher im Wege und passt für mich
nicht so recht ins Konzept einer Desktop-orientierten
Infrastrukturkomponente. Klar, das ist der Tribut an die
Plattformunabhängigkeit und die Tatsache, dass sich für Golang noch kein
de-facto-Standard native GUI-Toolkit herausgebildet hat, dass auf allen
Plattformen gleichermaßen einfach übersetzt werden kann. Die meisten
Projekte, die sich der nativen Desktop-Integration von Syncthing widmen,
setzen nicht auf Golang sondern auf .NET und Python.
Die Verbesserungsvorschläge zur Usability gehen allerdings in die
richtige Richtung[1], leider nicht plattformübergreifend...
Viele Grüße
Matthias
[1] https://github.com/canton7/SyncTrayzor/issues/77