Ein für Embedded-Systeme sehr interessanter SaaS-Dienst ist beispielsweise ein Cloud-Storage-Service. Ein solcher Dienst speichert beliebige Objekte auf den Servern eines Dienstleisters im Internet. Für den Zugriff auf einen solchen Service wird im Allgemeinen ein so genanntes REST-API (REST = Representational State Transfer) verwendet. Es erlaubt die Nutzung externer Datenspeichersysteme per HTTPRequest [8], also mit dem gleichen Verfahren, das auch zur Anzeige von Web-Seiten im Browser dient.
Das API eines Cloud-Storage-Service ist dann auch ein wichtiger Unterschied zu den konventionellen Web- Hosting-Service-Anbietern. Dort steht üblicherweise nur der Zugriff per FTP [9] zur Verfügung. Der Vorteil eines Cloud-Storage- Service für Embedded-Systeme: Auch ein Mikrocontroller-System mit einem Materialwert von ca. 10 Euro kann bei Bedarf einen mehrere Gbyte bzw. Tbyte großen Speicherbereich als persistente Datenablage nutzen (Web Storage als on-demand Resources, siehe [10]). Der wohl bekannteste Cloud- Speicherdienst ist Amazon S3 (Simple Storage Service), wie EC2 ebenfalls ein AWS-Baustein. Dieser Service ist als Objektspeicher organisiert und ermöglicht das Speichern von bis zu 5 Gbyte großen Einzelobjekten in so genannten Buckets (virtuelle Container).
Neben dem REST-API unterstützt Amazon S3 auch SOAP [11] und das BitTorrent-P2P-Protokoll [12]. Ein weiterer Anbieter eines derartigen Service ist Rackspace/Mosso mit Cloud Files [13]. Für den Zugriff auf Cloud Files stehen vom Anbieter – neben dem obligatorischen REST-API – spezielle API-Implementierungen für C#.NET, Python, PHP, Java und Ruby zur Verfügung. Auf den Rackspace/Mosso- Service kann daher recht einfach aus praktisch jeder gängigen Programmiersprache heraus zugegriffen werden.
Bei Cloud-Services steht, wie bei Web-Hosting und IT-Outsourcing, ein Spezial-API via Internet-Protokoll für die Nutzung des Dienstes zur Verfügung. Es gibt aber zwei wichtige Merkmale, durch die sich Cloud-Services von Web-Hosting und IT-Outsourcing unterscheidet:
Abhängigkeit vom Anbieter
Per Internet nutzbare Cloud-Services erweitern bei Bedarf die Standardfunktionen eines Embedded-Systems. Dadurch ergeben sich erhebliche Einsparungen vor Ort, da nicht mehr jedes einzelne System für die Maximalanforderungen dimensioniert werden muss. Werden zusätzliche Leistungsreserven – wie beispielsweise Speicherplatz für persistente Daten oder Rechenleistung zur Datenauswertung – benötigt, so können diese mit Hilfe eines Cloud-Service zur Verfügung gestellt werden (Bild 3).
Problematisch bei einer Cloud-Lösung ist zurzeit noch die unzureichende Datensicherheit. Weiterhin fehlen herstellerunabhängige Standards in der IaaS- und PaaS-Ebene. Wird eine Anwendung für die Amazon-, Google- oder Microsoft-Cloud entwickelt, ist ein späterer Providerwechsel praktisch unmöglich, da alle Anbieter unterhalb von TCP/IP und HTTP mit proprietären Schnittstellen arbeiten. Diese Probleme sind aber grundsätzlich lösbar.