Heute schnitzen wir uns ’ne Cloud

Cloud am praktischen Beispiel

Ich schätze dass mindestens 90% aller Leser die Cloud schon benutzen:

Um Mails schreiben zu können benötigt man einen Mail-Server. Dieser kümmert sich um das Senden/Empfangen von Mails. Das bedeutet, dass man einen Rechner braucht auf dem die Dienste laufen. Des Weiteren muss dieser permanent mit dem Internet verbunden sein um jederzeit Mails entgegen nehmen zu können. Gibt es Updates für das Betriebssystem oder für die Software so muss man sich selbst darum kümmern und das System pflegen.

Und genau das tun besagte 90% der Benutzer nicht. Es gibt zwar einige Leute die ihren eigenen Mailserver betreiben (und durch schlechte Konfiguration als Spam-Schleuder missbraucht werden), aber die bilden die Minderheit. Die meisten aber werden einen Webmailer benutzen. Dieser kümmert sich um den Betrieb der Software, Updates, die Hardware und vieles mehr. Anmelden, Mails lesen/schreiben und der ganze Rest der dahinter hängt ist nicht das Problem des Nutzers. Genau das bezeichnet einen Teil des Cloud Computings. Man benutzt nur die reine Software und hält selbst keine Infrastruktur/Software dafür bereit.

Problematik der Cloud

Dienste wie Google Music, Apples iCloud oder von Amazon sind derzeit stark im kommen und erweitern bisherige Cloud-Dienste wie z.B. Webmail. Sie bieten die Möglichkeit seine Daten dort hochzuladen und sie überall verfügbar zu haben. In Zeiten von (verhältnismäßig) günstigen mobilen Datentarifen und der immer weiter fortschreitenden Durchdringung des Lebens mit Smartphones ist dies grundsätzlich eine sehr praktische Sache. Immer wenn ich die Daten benötige sind sie verfügbar. Egal wo, egal wann. Um bei dem Vergleich mit dem Webmailer zu bleiben: ich benötige keinen Speicherplatz, da sich der Cloudanbieter darum kümmert.

Problematisch an dem Ganzen ist eine Sache: ich gebe Kopien meiner Daten (oder auch die Originale sofern ich ausschließlich dort ablege) einem Anbieter, bei dem ich nicht genau weiß was er damit macht. Schließlich machen die Firmen dies nicht aus reiner Nächstenliebe, sondern aus monetären Beweggründen. Anstatt einer monatlichen Gebühr bezahlt man indirekt mit den Daten die man dort ablegt. Angepasste Werbung aufgrund des Inhalts ist nur eine Möglichkeit. Hausdurchsuchung um an Daten von „Feinden der rechtsstaatlichen Grundordnung” zu kommen? Wenn die Regime Regierungsseite freundlich mit der Aussage  „Lockerung des Datenschutzes für Internetdienstprovider“  Richtung $Cloudanbieter winkt, dann fließen die Daten ohne Wissen des Besitzers. Überspitzt, aber möglich.

ownCloud

Genau bei diesem Problem setzt ownCloud an. Die Leute hinter dem Projekt entwickeln eine Software mit der es möglich ist seine eigene Cloud zu bauen.

Die Software gibt es nun schon seit einiger Zeit und Version 2 erschien Anfang Oktober. Es gibt zwar noch ein paar Ecken und Kanten, aber generell kann man es zur täglichen Benutzung empfehlen.

Bisher unterstützt die Software die reine Dateiablage ähnlich Dropbox, Musikstreaming wie bei Google Music, Kontakte- und Kalenderapplikation und eine Bildergallerie. Dabei können die Dateien/Kalender/Kontakte es von verschiedenen Stellen hochgeladen und synchronisiert werden. Sei es die Webanwendung, eine App auf dem Smartphone oder direkt der Desktoprechner.

Gleich zu Anfang aber erst mal die negativen Punkte die damit einher gehen eine eigene Cloud zu betreiben. Entgegen des eigentlichen Gedankens muss man sich selbst um die Installation und Wartung kümmern, man braucht einen Server (oder eine lokale Maschine) der permanent im Internet hängt und man benötigt genügend Bandbreite im Upload damit das Ganze geschmeidig auf das mobile Gerät/einen anderen Rechner kommt. Dafür gewinnt man an Freiheit. Die Daten bleiben bei einem selbst, man weiß was mit ihnen geschieht und man macht sich unabhängig von Anbietern (die gerne auch mal Dienste wegen Unwirtschaftlichkeit abschalten). Außerdem kann eine Instanz von ownCloud von mehreren Leuten gleichzeitig genutzt werden, also muss nur einer diese Arbeiten erledigen und der Rest bezahlt ihn durch Kostenübernahme des Hostings.

Jeder erhält seine eigene Cloud in der nur seine eigenen Daten vorhanden sind.

Installation von ownCloud

Ich werde hier nicht detailliert auf die Installation eingehen. Ich bin ein fauler Mensch und verlinke mal auf eine gute Anleitung. ;-) Generell dürfte es auf fast jedem Rechner funktionieren. Dabei sollte man aber berücksichtigen, dass der Rechner 24/7 läuft und entsprechend auch Strom verbraucht (ein Pentium 4 ist hier also eine schlechte Wahl ;-) ). Ein Raspberry Pi (Details dazu im vorletzten Post hier im Blog) wäre aufgrund des günstigen Preises und des geringen Stromverbrauchs gerade prädestiniert dazu.

Raspberry Pi (dies ist eine Alpha Version und größer als das finale Design). Quelle: engl. Wikipedia Ersteller: Paul Downey, Lizenz: Creative Commons Attribution 2.0 Generic Licence.

Direkt an den Router anschließen und eine externe Festplatte dran: et voila. Vorteil eines Homeservers ist der vergleichsweise günstige Plattenplatz. Hoster bieten meist wenig Speicherkapazität an, oder aber etwas mehr für einen hohen Preis.

Da die ISP die DSL-Verbindung alle 24 Stunden trennen (gerade um Homeserver zu erschweren) und ihr dadurch eine neue IP erhaltet, ist es eine gute Idee sich einen dynamischen DNS Eintrag bei dyndns, no-ip und co zu besorgen und so den Server immer unter dem gleichen Namen erreichen zu können.

Die Module

Nun werde ich die einzelnen Module von ownCloud erläutern.

Dateiablage

Dateien können direkt über die Weboberfläche hochgeladen, bestimmte Datentypen (Bilder, Musik und Textdateien – weitere Dateitypen sind in der Entwicklung) geöffnet und heruntergeladen werden. Dateien können für bestimmte Gruppen oder auch für User außerhalb der Cloud freigegeben werden. Nach einem Klick auf den entsprechenden Button wird ein kryptischer Link erzeugt mit dem der User in der Lage ist eine bestimmte Datei bzw. eine einzelne *.zip (bei mehreren Dateien die freigegeben werden) herunterzuladen. Also eine prima Sache wenn man bestimmte Dokumente an viele User weiter verteilen möchte.

Für die Dateifreigabe unterstützt ownCloud webdav. Dies ist ein offener Standard zur Bereitstellung von Daten. Möchte man nun die Dateien auch auf dem Desktop aus der Cloud heraus öffnen, so muss man nur webdav im Dateimanager einrichten. Sofern geschehen sind alle Dateien aus der Cloud sichtbar. Dort kann man sie mit allen installieren Anwendungen öffnen, bearbeiten etc. Löscht man eine Datei so wird sie in der Cloud gelöscht, erstellt man eine neue so erscheint sie auch in der Weboberfläche. Im Prinzip verhält es sich analog zu IMAP bei Mails. Leider gibt es noch keine Möglichkeit des Offline-Sync wie bei Dropbox. Die Daten werden nur übertragen wenn eine Internetverbindung besteht. Des Weiteren gibt es Pläne mehrere ownCloud Installationen untereinander zu syncen.

Für den Zugriff von unterwegs gibt auch viele Dritt-Anwendungen für Smartphones die webdav unterstützen.

Musikstreaming

Musik kann wie schon erwähnt direkt im Browser abgespielt werden. Einfache Playlists funktionieren auch. Interessant ist hier die Integration von Ampache. Ampache ist ein Streaming-Server auf PHP Basis. Damit ist es möglich seine Musik in eine Anwendung zu integrieren und sie darüber abspielen zu lassen. Eine Liste von unterstützen Anwendungen kann man auf der Projektseite von Ampache einsehen. Amarok und Banshee (mit Extension) unterstützen dies. Da man aber auch unterwegs seine Musik hören möchte gibt es auch Apps für Android und iOS. Sucht einfach nach „ampache“ im Android Market bzw. in Apples Appstore. Leider ist es mit diesen nicht möglich Musik auch in die eigene Cloud hochzuladen. Da muss man leider über den „webdav“-Weg gehen.

Kontakte und Kalender

Wie bei den anderen Modulen können auch Kalendereinträge und Kontakte im Browser bearbeitet werden. Um eine Anbindung an die Außenwelt zu erhalten verlässt sich ownCloud auf die Protokolle „caldav“ (Kalender) bzw. „carddav“ (Kontakte). Diese lassen sich in eure Desktop-PIM (Kontakt, Thunderbird, …) einbinden. Wie gewohnt können Einträge angelegt, bearbeitet und gelöscht werden und diese Daten erscheinen entsprechend in ownCloud. Kategorien und mehrere verschiedene Kalender werden ebenfalls unterstützt. Man könnte z.B. einen Vereinskalender anlegen, den speziellen caldav-Link an alle Vereinsmitglieder verteilen und schon können alle Termine einsehen und bearbeiten.

iOS und Android…ach, wozu viel schreiben: ja, es gibt Apps von Drittanbietern für die Synchronisation. ;-)

Administration

Als Admin der Cloud kann man neue Benutzer und Gruppen anlegen. Den Benutzern kann man „Quota“ zuweisen, also wie viel Speicherplatz sie benutzen dürfen. Gerade in Umgebungen in denen der Speicherplatz ein kritischer Faktor ist eine praktische Sache. Des Weiteren können bestimmte Module – es gibt noch einige mehr als hier beschrieben, aber der Post ist so schon viel zu lang geworden – ein- und ausgeschaltet werden.

Testen

Unter demo.owncloud.org gibt es eine fertige Installation mit der man nach Herzenslust rumspielen kann. Hat man Gefallen daran gefunden ist eine Installation schnell durchgeführt.

Verbesserungen an der Google Akonadi Ressource

Mal ein kurzes Statusupdate, da so viele durch Suchanfragen zu dem Thema „Akonadi und Google“ hier landen.

Einer der Entwickler von Akonadi, Dan Vratil, hat gerade über Verbesserungen an der Google Akonadi Ressource geschrieben. Neu hinzugekommen ist die Unterstützung für Multi-Accounts. Dies bedeutet dass man mit mehreren Google Accounts gleichzeitig arbeiten kann. Das ist schon mal ganz nett.

Viel schöner finde ich aber die Unterstützung von mehreren Kalendern. Bisher war dies nur über einen umständlichen Würg-Around möglich. Wer, so wie ich, mehrere Kalender zur besseren Ordnung unterhält kennt das Elend. Aber ein Ende ist nun abzusehen. Bei der Einrichtung des Kontos wird nun abgefragt welche Kalender man nutzen möchte. Einfach die gewünschten auswählen, OK klicken und fertig. Das Leben kann soooo einfach sein. ;) Des Weiteren wurden die Aufgaben in die Kalender Ressource integriert.

Bevor ihr euch aber zu früh freut: es ist noch nicht final. Dan versucht in der Weihnachtszeit das Ganze fertig zu hacken. Dürfte für das Ende Januar erscheinende KDE 4.8 leider zu spät sein. Für Fedora gibt es bereits einen Build-Service.

Einsatzmöglichkeiten für einen Raspberry Pi

Ich habe den Vormittag mal genutzt und den Artikel über den Raspberry Pi in der deutschen Wikipedia etwas erweitert (und mit der Wikipedia Syntax gekämpft). Von  3.850 Bytes in der vorherigen Revision auf 12.186 Bytes in der neuen. Kleinere Änderungen hatte ich vorher auch schon vorgenommen.

Was ist der Raspberry Pi:
Raspberry Pi (dies ist eine Alpha Version und größer als das finale Design). Quelle: engl. Wikipedia Ersteller:  Paul Downey, Lizenz: Creative Commons Attribution 2.0 Generic Licence.

Aber was ist dieses Raspberry Pi überhaupt wird sich der Leser nun fragen. Letztlich ist es nur ein Computer. Dieser wird von der Raspberry Foundation entwickelt um Schülern und Studenten den Spaß an Computern (und am Programmieren) näher zu bringen. Alle anderen können das Gerät aber auch kaufen. Da Schulen und Unis ein knappes Budget haben, wird es für 18 (Version A) bzw. 26€  (Version B) verkauft. Der Verkauf soll Anfang Dezember starten.

Spezifikationen:

Von den Spezifikationen her ist es unglaublich  (und das alles auf der Grundfläche einer Kreditkarte):

Version A:

Broadcom SoC Chipsatz, 700Mhz ARM11 CPU, 128 MB RAM, 1 USB Port, Composite und HDMI  zur Bildausgabe, 3,5mm Klinkenstecker oder HDMI zur Tonausgabe, SD-Kartenslot zur dauerhaften Datenspeicherung, diverse Anschlussmöglichkeiten für Datenbusse (GPIO, SPI, I²C, UART), Leistungsaufnahme von 2,5 Watt (Stromversorgung über Micro USB oder 4 AA Baterien)

zusätzlich hat Version B noch folgende Goodies:

256 MB RAM, 2 USB Ports, 10/100 Mbit Ethernetanschluss, Leistungsaufnahme von 3,5 Watt

Leistung:

Zahlreiche Demos zeigen wie leistungsfähig der „Raspi“ ist.

Hier ein Beispiel.  Quake 3 mit Antialiasing in 1080p (die FPS waren laut Video schon höher):

Der Chipsatz bietet außerdem Unterstützung für OpenGL ES 2.0.  Dies ist interessant da  KWin, Mutter und Compiz dies fürs Compositing nutzen können. FullHD Video Wiedergabe (1080p30 H.264 high-profile) und Ausgabe über HDMI stellt auch kein Problem da.

Einsatzmöglichkeiten:

Durch den günstigen Preis und die geringe Leistungsaufnahme ist das Board eine ideale Bastelkiste. Ich habe mir schon diverse Einsatzmöglichkeiten überlegt:

  • Musik Streaming-Client (WLAN Stick und Lautsprecher würden benötigt)
  • Homeserver für diverse Kleinigkeiten (Filesharing, Drucker, …)
  • Dropbox-Alternative mittels Owncloud am eigenen Router (und externer Festplatte)
  • als ganz gewöhnlicher Desktop-PC (wobei man da sehen muss wie sehr sich der wenige Speicher bemerkbar macht)
  • HTPC (Die XBMC Leute arbeiten schon dran. Problem ist hier die fehlende Unterstützung von 5/7.1 Audiofeatures)
  • Digitaler Bilderrahmen (mit einem ausgemusterten Monitor)

Weitere Ideen aus den Kommenataren:

  • Eine komplette FreedomBox: http://freedomboxfoundation.org/
  • Ampelsteuerung für den Bogenstand
  • Diaspora Server
  • Homeserver für TVHeadend, Syslog/MySQL DropZone, VPN Gateway, XMPP und vieles mehr.
  • Erweiterung eines Roboters
  • Wetterstation mit autonomer Stromversorgung (Solar/Wind)
  • Car-Entertainment-System
  • PXE-Server mit allerlei Rettungs-Systemen, Backup-Images, Live-Systemen, Analyse Tools und und und
  • Hardwarebasis für ein Internetcafé in armen Ländern
  • Mobiler Download-Server der sich in offene WLANs einhängt (automatisch).
  • OSM Tracker mit GPS-Maus
  • Zugangspunkt für Picidae http://de.wikipedia.org/wiki/Picidae_(Website)
  • Schmales Linux mit mini GUI Webmin zur Administration ( http://webmin.com/)
  • SoGo als workgroup software- administriert mit Webmin (http://www.sogo.nu)
  • Datenspeicher über NAS

Habt ihr weitere Ideen? Dann schreibt sie in die Kommentare und ich werde später die Liste erweitern.