Ressourcenschonende Entwicklung von IoT-Systemen
Das Internet der Dinge ist in aller Munde. Doch es stellt sich die Frage, wie neu der Gedanke ist und ob man aus der Vergangenheit lernen kann. Denn ein unüberlegter Einsatz moderner Technologien kann zu überdimensionierten, instabilen oder langsamen Systemen führen.
Die Vernetzung von Geräten hat ihren Ursprung Ende der 1960er-Jahre mit dem Entstehen des Arpanet. Die Idee, einen Rechner mit anderen Peripherien zu vernetzen, ist sogar noch älter und mit der Entwicklung der ersten Computer entstanden. Wie so oft haben auch auf dem Gebiet der Vernetzung der Dinge erst die schier endlose Ressourcenverfügbarkeiten den alten Ideen zum Durchbruch verholfen. Diese basiert auf dem immer noch gültigen "Moore’schen Gesetz" (Verdoppelung der Rechnerleistung alle 24 Monate bei gleichem Preis) und dem weniger bekannten, aber ebenfalls noch gültigen "Nielsen’s law of Bandwidth" (Verdoppelung der verfügbaren Internetbandbreite alle 21 Monate). Die Kombination beider hat zur Folge, dass erst jetzt günstig herstellbare Sensoren in grossen Mengen über schnelle Netzwerke mit leistungsfähigen Computern vernetzt werden können.
Gefragt sind einfache und robuste Lösungen
Ein Beispiel früher IoT-Anwendungen sind Alarmierungsanlagen, die in den 1980er-Jahren als vernetzte Systeme aus zahlreichen Sensoren und Rechnern entstanden und älter sind als der im Jahr 1999 entstandene Begriff IoT. Der Hauptunterschied zu heute liegt darin, dass sich die verfügbare Bandbreite höchstens im Bereich von einigen Kilobytes pro Sekunde bewegte. Ebenfalls waren CPU-Leistung und Speicherkapazität sehr gering. Nichtsdestotrotz waren Systeme möglich, die bezüglich Zuverlässigkeit, Robustheit und Performance den heutigen ebenbürtig waren. Sie benötigten aber weniger Ressourcen, waren diese doch schlichtweg nicht verfüg- und bezahlbar.
Die Benutzeroberflächen von damals können im Erscheinungsbild mit den heutigen natürlich nicht konkurrieren. Aber obwohl neue Frameworks, Virtualisierung, DevOps-Einsätze und moderne Entwicklungstools die Produktivität in der Softwareentwicklung verbessert haben, gilt das Moore’sche Gesetz in der Softwareentwicklung definitiv nicht. Dafür ist das "Wirthsche Gesetz" (Software wird in kürzerer Zeit langsamer als Hardware schneller) aktueller denn je. Gleichzeitig verschlechtert sich die Energieeffizienz und somit auch der CO2-Ausstoss der neuen Lösungen. Es wäre deshalb sinnvoll, wenn sich heutige Entwickler und Architekten der Tugenden der früheren Ingenieure bedienen und versuchen, das Wirthsche Gesetz zu brechen. Man sollte Architekturen entwerfen, die mit den Möglichkeiten der Virtualisierung und Micro-Service-Architekturen sorgfältig umgehen. Und zwar, indem Kommunikationskanäle verwendet werden, die wenig Bandbreite brauchen und indem Applikationen entwickelt werden, die nicht die schnellsten Rechner und grössten Speichermengen benötigen.
Aus der Geschichte wissen wir, dass es ohne signifikanten Mehraufwand möglich ist. Dazu müssen am Anfang der Entwicklung die richtigen Entscheidungen getroffen und diese dann durch solides Handwerk implementiert werden. Das Resultat sind einfachere, zuverlässigere, robustere und umweltfreundlichere Lösungen. Und dies, ohne auf Funktionalität, Komfort und neue Technologien verzichten zu müssen.
Fazit
Eine ganzheitliche Sicht auf zu realisierende IT-Systeme ist notwendig und soll ausser den klassischen Projektvorgaben wie Termine, Budget und Qualität auch die Energie- und Ressourceneffizienz des Betriebs berücksichtigen. Wenn die Weichen am Anfang eines Projekts richtiggestellt werden, ist der dafür benötigte Zusatzaufwand vernachlässigbar und wird später durch Einsparungen und bessere Qualität mehrfach amortisiert.