Big Data der Geräte – Cloud-gestützte Lösungsansätze für vernetzte Produkte

von am 04.10.2013
1
Drei Puzzleteile auf denen blauer Himmel und Wolken abgebildet sind werden zusammengefügt.

Mein Kollege Moritz Gomm hat in seinem Blog-Beitrag Von Raketen und Teflon-Pfannen. Oder: Was steckt hinter dem Hype um “Big Data”? dargestellt welchen Einfluss Big-Data-Technologien und Cloud Computing auf die IT für vernetzte Produkte haben. In diesem Beitrag möchte ich näher auf konkrete Anforderungen aus diesem Bereich eingehen und erörtern inwiefern aktuelle Cloud-Dienste zum Aufbau einer geeigneten Lösung genutzt werden können. Dabei spielen neben Architektur- auch Kostenaspekte eine wichtige Rolle, die man berücksichtigen sollte.

Anforderungen an das Back-End für vernetzte Geräte

Smart Home Devices sind ein oft genanntes und typisches Beispiel für vernetzte Geräte. Dieses Anwendungsszenario zeigt sehr gut die drei Hauptbereiche auf, die bei fast jeder Produktvernetzung eine Rolle spielen.

Echtzeitfähigkeit: Es gibt viele verschiedene Arten von Sensoren, die kontinuierlich Messwerte aufzeichnen und an ein Backend übermitteln. So können beispielsweise Temperatur oder Verbrauchsinformationen des Eigenheims überwacht und zeitnah in einem Webportal dargestellt werden. Für bestimmte Sensorinformationen, wie die von Rauchmeldern oder Bewegungsmeldern, ist dieser Echtzeitcharakter von besonderer Bedeutung; bei Rauchmeldern gibt es hier sogar ganz klare gesetzliche Vorgaben und Richtlinien. Aber auch der technologieaffine Eigenheimbesitzer ist sicher daran interessiert, zeitnah zu erfahren, dass der Bewegungsmelder im Wohnzimmer ausgelöst wurde, obwohl momentan niemand zuhause ist.

Sicherer Rückkanal: Weiterhin ist es wichtig, die Geräte zu Hause fernsteuern zu können, im Idealfall über das gleiche Webportal, in dem die Sensorinformationen zusammen laufen.  Das bedeutet, dass der Kommunikationsrückkanal zu den vernetzten Geräten zuverlässig und vor dem Zugriff Fremder geschützt realisiert werden muss.

Skalierbarkeit: Für das Back-End besteht die Herausforderung, eine leistungsfähige Kommunikationsinfrastruktur zur Verfügung zu stellen, die mit einer steigenden Anzahl vernetzter Geräte skaliert.

Doch das alleine ist nicht genug, denn den größten Geschäftsnutzen erhofft man sich oft durch die Auswertung der anfallenden Daten. Je diverser der Informationsgehalt und je größer die angesammelte Datenmenge, desto größer sind die Möglichkeiten, aus der angesammelten Datenbasis wertvolle Zusatzinformationen abzuleiten. Technologien und Methodiken in diesen Bereich werden unter dem Begriff ‚Big Data‘ zusammen gefasst. Es gibt rege Diskussionen dazu, was nun genau ‚Big Data‘ ist und wie es sich von klassischen Datenanalysemethoden kleinerer Datenmengen unterscheidet. Ich denke, es handelt sich bei vernetzten Geräten um einen besonderen Anwendungsfall von ‚Big Data‘. Dabei ist die Assoziation durch die in Zukunft steigende Anzahl vernetzter Geräte, der Diversität der gesammelten Informationen und dem Potential, das der Auswertung dieser Daten zugeschrieben wird, durchaus gerechtfertigt.

Ein bunter Strauß von Cloud-Diensten

Die großen Public Cloud-Anbieter werben mit einer Vielzahl spezialisierter Services zur Verarbeitung großer Datenmengen. Es handelt sich dabei um Storage Services, NoSQL-Datenbanken, Hadoop-Cluster-Umgebungen oder komplette Data-Warehouses. On-Demand, versteht sich! Eine Skalierung der Datenmenge bis in den Petabyte-Bereich soll laut Anbieterinformationen problemlos möglich sein.

Wenn man sich etwas intensiver mit diesen Services beschäftigt, insbesondere bezüglich der oben beschriebenen Anforderungen vernetzter Produkte, fällt auf, dass sie in erster Linie für eine batchorientierte Verarbeitung von Daten gedacht sind. Echtzeitnahe Datenverarbeitung durch Stream- oder Complex-Event-Processing fehlt im Serviceportfolio. Das Gleiche gilt für Services zur Verwaltung und Steuerung von Endgeräten (sofern sie mit keinem Smartphone-Betriebssystem ausgestattet sind). Somit konzentrieren sich die angebotenen Services primär auf die Aufnahme und Auswertung angesammelter Daten.

Ein besonders Merkmal ist wie angesprochen ihr On-Demand-Charakter. Die Möglichkeit, ohne hohe Anfangsinvestition Rechenressourcen bedarfsgerecht einzusetzen, ist das Argument für die Kosteneffizienz von Public Cloud Computing. Für Datenverarbeitung im großen Stil bringt dieses Paradigma aber auch einige Nachteile mit sich. Ein Hadoop Cluster, das nur für nächtliche Batchverarbeitung aufgebaut wird, steht tagsüber zur Aufnahme von Daten nicht zur Verfügung. Stattdessen wird empfohlen die Daten in einem Storage Service oder einer NoSQL-Datenbank abzulegen. Wenn dann der Hadoop Cluster erzeugt wird, müssen alle für die Verarbeitung relevanten Daten über das Netzwerk in den Cluster kopiert werden. Bei großen Datenmengen ist das ein nicht unerheblicher Overhead. Deshalb ist das Hadoop File System (HDFS) und Map Reduce Framework auch eigentlich darauf optimiert, Datenhaltung und Verarbeitung möglichst nahe zusammen zu führen und Netzwerkzugriffe wenn möglich zu vermeiden. Eine Kostenersparnis durch die On-Demand-Nutzung bestimmter Dienste geht also automatisch mit einer längere Verarbeitungszeit einher.

Hadoop steht aber neben der On-Demand-Variante auch in Form von Open-Source-Distributionen zur Verfügung. Diese sind im Vergleich zu den Cloud-Diensten meistens auf einem neueren technischen Stand und bieten mehr Features. Andere Dienste, wie NoSQL Stores oder Data-Warehouse-Systeme sind sehr anbieterspezifisch und lassen sich in gleicher Form weder auf eigener Hardware noch bei einem anderen Cloud-Anbieter betreiben. Daher kann es durch die Nutzung dieser Services zu einem Vendor-Lock-In kommen! Man sollte sich also zumindest darüber im Klaren sein, in welche Abhängigkeiten man sich begibt. Die Nutzung eigener Hardware oder ein Wechsel des Cloud-Anbieters wird so unter Umständen unwirtschaftlich. Dem gegenüber stehen die einfache Nutzbarkeit und die Kostenstruktur von On-Demand-Services, die ideal zur schnellen Erstellung von Prototypen geeignet sind.

Cloud-unabhängige Software und IaaS

Es gibt eine Reihe kommerzieller und Open-Source-Softwareprodukte, die sich sehr gut dazu eignen eine leistungsfähige Lösung zur Vernetzung von Geräten aufzubauen, insbesondere, was Stream- oder Complex-Event-Processing angeht kann man hier auf etablierte Produkte zurückgreifen. Durch die reine Nutzung von Infrastrukturdiensten lassen sich diese Produkte auch in der Cloud betreiben. Wenn es um die batchorientierte Verarbeitung großer Datenmengen geht, kann ein Hadoop Cluster oder eine NoSQL-Datenbank auch in Eigenregie in der Cloud aufbaut werden. Viele Open-Source-Projekte nutzen dies bereits für Tests ihrer Software, da sie nicht über die notwendige eigene Hardware verfügen. Der dafür erforderliche Automatisierungscode wird zum Teil der Community zur Verfügung gestellt. So ist es trotz des vordergründigen Mehraufwands der Automatisierung möglich, schnell eine Testumgebung in der Cloud aufzubauen.

Für einen produktiven Betrieb ist das aber nicht ausreichend. Hierfür empfiehlt sich der Einsatz geeigneter Konfigurationsmanagementtools wie Chef oder Puppet in Zusammenhang mit Tools zur Steuerung virtueller Infrastruktur. Diese Tools ermöglichen es, Software-Systeme weitgehend von der darunter liegenden Infrastruktur zu abstrahieren, was wiederum mit der Flexibilität einhergeht eine auf diesem Weg erstellte Lösung entweder bei einem Infrastructure-as-a-Service-Anbieter oder im eigenen Rechenzentrum zu betreiben. Dies ist insbesondere dann interessant, wenn die Lösung über das Stadium eines Prototyps hinaus ist, sich der Business Case rechnet und man mittel oder langfristig daran interessiert ist Betriebskosten zu optimieren. Bei extrem hohem Datenaufkommen und Rechenbedarf amortisieren sich die Investitionen in dedizierte Cloud-Infrastruktur oder dedizierte Hardware schnell.

Auch in Sachen Private Cloud Computing tut sich in letzter Zeit einiges. Zum einen gibt es ernst zu nehmende Standardisierungsbestrebungen von Infrastructure as a Service, wohingegen Platform oder Software-as-a-Service-Angebote naturgemäß eher proprietär geprägt sind. So gibt es mit dem Open Cloud Computing Interfac (OCCI), die ersten Spezifikationen für eine einheitliche API von IaaS-Diensten. Das Open-Source-Projekt OpenStack® implementiert unter anderen dieses Interface und stellt eine umfassende Plattform zum Aufbau von Private und Public-Cloud-Umgebungen zur Verfügung. Die Liste der Firmen, die das Projekt aktiv unterstützen und nutzen, spricht für sich. Wussten Sie schon worauf ein großer Teil der von der NSA eingesetzten Infrastruktur basiert? Eine Keynote vom OpenStack Summit im April 2013 gibt Aufschluß darüber: Was CERN und die NSA gemeinsam haben.

Datensicherheit in der Cloud

Spätestens seit den letzten Enthüllungen von Edward Snowden darf dieses Thema nicht unerwähnt bleiben. Leider beschränken sich die Spionageaktivitäten nicht nur auf Daten, die bei amerikanischen Cloud-Anbietern gespeichert sind, sondern auf die gesamte Internet-Infrastruktur (How spy agencies defeat internet privacy and security). Somit sind nicht nur Nutzer von Cloud-Diensten betroffen, sondern jeder sollte sich verstärkt Gedanken über Datensicherheit bei der Nutzung des Internets machen. Auf der anderen Seite ist eine wirtschaftliche Zukunft ohne Internet kaum vorstellbar. Der Stellenwert, den das Thema mittlerweile auf wirtschaftlicher und politischer Ebene einnimmt, unterstreicht zumindest die Tatsache, dass Daten tatsächlich das Öl des 21. Jahrhunderts zu sein scheinen.

Fazit

Spezielle SaaS- oder PaaS-Angebote für vernetzte Geräte sind noch dünn gesät. Eine auf den Anwendungsfall spezialisierte Lösung lässt sich durch den Einsatz unabhängiger Softwareprodukte auf Basis von reinen Infrastrukturdiensten in der Public und/oder Private Cloud realisieren. Dabei ist zu erwarten, dass Cloud-Technologie auch in die Rechenzentren vieler Firmen Einzug halten wird und sich die Bereitstellung von Infrastruktur ‚per Knopfdruck‘ etabliert. Entsprechend prognostizieren Analysten, dass mehr und mehr Firmen dazu übergehen werden, Software in Form von Cloud Services zu nutzen, anstatt sie selbst zu betreiben.

Was hält Sie da noch davon ab, Ihre Cloud-Lösung per Knopfdruck anderen zur Verfügung zu stellen? Ihre Lösung selbst als Cloud-Dienst anzubieten ist eine interessante Möglichkeit zur Refinanzierung Ihres Cloud-Vorhabens.

Haben Sie Lust bekommen, mehr über Big-Data-Themen zu erfahren? Dann besuchen Sie unser Seminar Willkommen im Datenrausch, das nach Frankfurt und München im November auch in Hannover stattfinden wird.

Einen Kommentar hinterlassen

Ihre E-Mail-Adresse wird weder veröffentlicht noch weitergegeben. Pflichtfelder sind mit einem * markiert.

Ein Kommentar zu “Big Data der Geräte – Cloud-gestützte Lösungsansätze für vernetzte Produkte

  1. Pingback: Daten als Rohstoff: Big Data in der Industrie (1)