Anwendungsplattformen

Einen sicheren IoT-Cloudserver für 12 Dollar im Jahr betreiben

16.11.16 | Autor / Redakteur: Reinhold Schmid * / Franz Graser

Die SMQ-Protokollinfrastruktur des Mako-Servers: Der Server und sein Anwendungssystem ermöglichen es, serverseitige Skripts zu schreiben, um direkt mit dem SMQ-IoTBroker zu interagieren.
Die SMQ-Protokollinfrastruktur des Mako-Servers: Der Server und sein Anwendungssystem ermöglichen es, serverseitige Skripts zu schreiben, um direkt mit dem SMQ-IoTBroker zu interagieren. (Bild: Embedded Tools)

Viele Entwickler denken bei der Serverseite ihrer IoT-Lösung an Amazon oder Microsoft Azure. Aber für die meisten Vorgänge und DIY-Projekte genügt ein kostengünstiger Virtual Private Server.

Die meisten Cloudserver-Lösungen für das IoT, egal ob sie gehostete, nutzungsfertige Services anbieten oder nicht, basieren auf einem normalen Virtual Private Server (VPS). Die meisten Entwickler denken an Amazon oder Microsoft AzuresServices, wenn sie an die Serverseite ihrer IoT-Lösung denken.

Diese High-End-Dienstleistungen sind toll, wenn Sie auf Millionen von verbundenen Geräten skalieren müssen. Aber für die meisten kleinen Vorgänge und DIY-Projekte ist ein kostengünstiger VPS mehr als angemessen.

Die Webseite lowendbox.com bietet Rezensionen zu kostengünstigen Virtual Private Servern und ist ein guter Ort, um anzufangen, wenn Sie einen VPS auswählen. Wir haben einen VPS zum Preis von 12 Dollar pro Jahr gefunden, der passend für unser Experiment mit dem sicheren IoT ist. Mit diesem VPS konnten wir bis zu 10.000 Geräte verbinden.

Für das Verbinden von weiteren Geräten braucht man mehr Speicherplatz, aber der von uns gewählte VPS hat Speicherbegrenzungen (64 MB). Daher ist ein VPS mit mehr Speicher notwendig, wenn die IoT-Lösung nach mehr verbundenen Geräten verlangt.

Cloudserver-Betriebssystem und Software

VPS-Anbieter bieten typischerweise eine webbasierte Benutzeroberfläche, von wo aus Sie Ihren VPS managen können. Dieses webbasierte Bedienfeld bietet Leistungen wie die Auswahl und Installation/Re-Installation des Betriebssystems, typischerweise eine Linux-Variante. Nach der Installation des Linux-Betriebssystems mit der Web-Oberfläche ist der Server bereit dafür, dass Sie sich einloggen und ihn managen können.

Ein frisch installiertes Linux-Betriebssystem auf einem Online-VPS ist typischerweise rudimentär ausgestattet. Als Minimum muss die Linux-Installation einen SSH (Secure Shell) Server haben, damit Sie einen Remote-Login für den Server nutzen und die von Ihnen gewünschte Software installieren können.

Die Software, die wir für die Serverseite der IoT-Lösung ausgewählt haben, ist ein Anwendungsserver namens Mako-Server. Einer der Gründe für die Wahl von Mako-Server ist, dass er den verfügbaren Speicherplatz sehr effizient nutzt. Im Gegensatz dazu brauchen die meisten serverseitigen Anwendungssysteme der High-Ende-Klasse sehr viel Speicherplatz und können daher nicht auf einem kostengünstigen VPS betrieben werden.

Der Mako-Server ist ein extrem kleiner Anwendungsserver, der leicht innerhalb der Speicherplatzbegrenzungen eines kostengünstigen VPS betrieben werden kann. Ein weiterer Grund für die Wahl ist, dass der Server als Doppelzertifikatsserver dienen kann und damit die Nutzung von Standard-RSA-Zertifikaten für Browser und kleine ECC-Zertifikate für Edge-Knoten ermöglicht.

SSL-Zertifikate (Secure Socket Layer) können einen großen Einfluss auf den Speicherplatz haben, wenn sie nicht den Zertifikatstyp bedenken, der in Ihrer IoT-Lösung genutzt wird. Die Nutzung des falschen Zertifikatstyps kann den Entwurf eines Edge-Knotens mit begrenztem Speicherplatz zerstören. Mehr dazu im Abschnitt zum Thema Sicherheit.

Der Mako-Server enthält ein sicheres IoT-Protokoll namens SMQ (Simple Message Queues). Der Server und sein Anwendungssystem ermöglichen es dem Nutzer, Serverseitenskripts zu schreiben, um direkt mit dem SMQ-IoT-Broker zu interagieren. Das serverseitige Anwendungssystem ermöglicht es dem Nutzer außerdem, sein IoT-Protokoll zu erweitern und es mit anderen Services im Internet oder anderen lokalen Services, die auf dem VPS laufen – etwa Datenbank-Services – zu verbinden.

Das SMQ-Protokoll eignet sich für den sicheren Datenaustausch zwischen einer Web-Oberfläche und einem Edge-Knoten in Echtzeit. Das Protokoll, das dem Publish-Subscribe-Mechanismus in MQTT ähnelt, erlaubt webbasierten Benutzeroberflächen die Steuerung von Edge-Knoten in Echtzeit.

Die ganze Kommunikation läuft über den Cloudserver. Das heißt, dass Sie keine Probleme mit der Traversale von Netzwerkadressübersetzungen (networkaddresstranslation, NAT) haben, wenn Sie zwischen diversen (lokalen) Netzwerken kommunizieren.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44355446 / Software-Test & -Betrieb)

Embedded Software Engineering Report abonnieren

4 mal jährlich: Die kostenlose Pflichtlektüre für Embedded­-Software- und Systems-Entwickler, von Analyse bis Wartung und Betrieb

* Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung und AGB einverstanden.
Spamschutz:
Bitte geben Sie das Ergebnis der Rechenaufgabe (Addition) ein.