IoT Solutions Checklist

IoT (Internet of Things) ist ein grosses Themengebiet mit vielen Facetten und Herausforderungen.

Als Einstieg hier nun eine Checkliste zu den wichtigsten Themengebieten, welche bei der IoT Lösungsentwicklung einfliessen sollten.

Diese Checkliste soll ihnen helfen, ihr IoT Projekt termingerecht und im Budget umzusetzen.

Die Checkliste

Die Liste ist in 8 Themengebiet aufgeteilt.

1.) Constrained Devices
Vielfach gilt es einige Limitierungen in Bezug auf die „Edge Devices“ oder deren Betriebsumgebung zu beachten.
Die Edge Devices sind die Geräte, welche vor-Ort die Daten erfassen oder Aktionen ausführen.

• Wie wird die Stromversorgung sichergestellt (Solarpanel, Batterie, Stromnetz, etc.)?
• Welche Umgebungsparameter gilt es speziell zu beachten (Temperatur, Feuchtigkeit, Vibrationen, etc.)?
Welche Punkte gibt es bei den Sensoren und Aktoren zu beachten (Messgenauigkeit, Preis, Protokolle, etc.)?
Welche Anforderungen an die Datenübertragungs gibt es (Geschwindigkeit, Distanz, Verschlüsselung, Stromverbraucht, etc.)?
Wie autonom soll das Edge Device funktionieren?  

2.) Scaling
Von Anfang an sollte das Design so gewählt werden, dass eine Skalierung einfach möglich ist.
Im PoC (Proof of Concept) wird dies oft nicht ausreichend berücksichtigt.

• Wie erfolgt die Skalierung der einzelnen Lösungsbausteine?
Gibt es technische oder betriebswirtschaftliche Limitierungen bei der Skalierung?  

3.) High Availability
Abhängig von der Wichtigkeit der Lösung wird die Verfügbarkeit definiert und implementiert.
Konkret ist dies ein Balanceakt zwischen technischer Machbarkeit und den Kosten. Gegebenenfalls kann das Restrisiko bewusst akzeptiert werden.

Sind alle relevanten Ausfallszenarien berücksichtigt (Softwarefehler, Dateninkonsistenzen, menschliche Fehler, etc.)?
• Sind alle kritischen Ebenen abgedeckt (Network, Compute, Data)?
• Ist die Redundanz immer aktiv oder nur im Fehlerfall (active/active vs active/passive)?  

4.) Big Data
Im IoT Umfeld werden schnell viele Daten generiert, welche es zu nutzen gilt.
Vielfach ist es ein herantasten, welche Daten es genau braucht um das gewünschte Ziel möglichst effizient zu erreichen.

• Welche Daten werden ermittelt und in welchen Intervallen?
• Wie werden die Daten ausgewertet und wie zeitnah (hot/warm/cold path)?
• Wie lange werden die Daten gespeichert (retention period)?
• Wie werden die Daten mit anderen Systemen integriert (CRM & co)?

5.) DevOps Pipeline
Veränderung bezüglich der Software sollten möglichst automatisiert über eine etablierte DevOps Pipeline erfolgen.
So steigt die Nachvollziebarkeit der Änderungen und auch Sicherheitselemente können verankert werden (DevSecOps).

• Welche Tests müssen absolviert werden (Functional / Stress / Chaos / Regression Tests)?
• Welche Sicherheitsmodule müssen genutzt werden (Code Signing, Code Scanning, Secret Management, etc.)?
• In welchem Versionierungsystem werden die Software-Module abgelegt?
• Wer hat welchen Zugriff auf die Software-Module?
• Wie wird die Infrastruktur provisioniert (Infrastructure-as-Code)?  

6.) Orchestration
Die Orchestrierung gilt es End-to-End (E2E) mit den gleichen Werkzeugen sicherzustellen.
Dank dieser zentralen Orchestrierung kann jederzeit der Zustand aller Komponenten überprüft oder verändert werden.

• Wie erfolgt das Monitoring E2E und welche Parameter gilt es zu überwachen (Metrics / Logs)?
• Wie erfolgt das Backup und welche Daten müssen gespeichert werden?
• Wie werden „non-Cloud“ Komponenten wie Beispielsweise das Edge-Device verwaltet?  

7.) Security
Security-by-Design hilft massgeblich die Sicherheit von Anfang an sicherzustellen und ein sauberes Fundament zu etablieren. Sicherheitsmassnahmen im nachhinein einzuführen ist mit einem spührbaren finanziellem und zeitlichem Mehraufwand verbunden.

• Ist die CIA (Confidentiality, Integrity, Availability) Triade bezüglich Datensicherheit abgedeckt?
• Sind alle regulatorische Sicherheits-Vorschriften eingehalten?
• Wird das Sicherheitsdispositiv regelmässig von Fachexperten neu bewertet?  

8.) Total Cost of Ownership
Aus betriebswirtschaftlicher Perspektive hilft es eine TCO (Total Cost of Ownership) Aufstellung zu erarbeiten.
Initial sind meistens nicht alle Parameter bekannt und können erst im Verlaufe des IoT Projektes verfeinert werden.

• Ist eine initiale Kostenabschätzung vorhanden (best / worst-case)?
• Sind alle Kosten berücksichtigt (Personal, Plattform, Lizenzen, etc.)?
• Ist ein zeitnahes Kostenreporting mit genügender Granularität vorhanden?

Bezüglich Kosten sind die Frequenz und Umfang der Datenermittlung einer der grössten variablen Treiber.
Je nach Volumen braucht es performantere Edge Devices, mehr Bandbreite bis hin zu mehr Speicherplatz.

Erfahrungsbericht

Die subjektive Wahrnehmung ist, dass vor allem das Thema Security in den letzten Jahren bewusster und früher angegangen wird (security-by-design). Insbesondere im IoT Umfeld ist diese Entwicklung zu begrüssen, da mangelhafte Sicherheit auch vermehrt Auswirkungen auf die reale Welt hat.

Potential gibt es weiterhin bezüglich Skalierung inklusive den dazugehörigen Kostenentwicklung. Glücklicherweise können viele Services in der Cloud als PAYG (Pay As You Go) eingekauft werden und bei grösseren Abnahmemengen mit einem Discount bestellt werden.

Ebenfalls werden die Betriebsthemen (Orchestrierung) gefühlt immer noch zu spät berücksichtigt. Dadurch werden die Möglichkeiten der Automatisierung zu spät eingesetzt. Durch die manuellen Mehraufwände entstehen somit unnötige Mehrkosten und Fehlerquellen.

Abschliessend gilt es die IoT Lösung möglichst Modular aufzubauen. Zudem auf Standards zu setzen und nur wo notwendig herstellerspezifische Lösungsbausteine einzusetzen. So kann ein Vendor lock-in minimiert werden und Komponenten können einfacher ausgetauscht werden, falls es aus technischer oder kommerzieller Sicht notwendig ist.

Gerne unterstützt arc7 ihr IoT Projekt vom Design, über den PoC (Proof of Concept) bis zur Betriebseinführung.

Livio

Alles startet mit einem ersten Gespräch.

Nehmen Sie Kontakt auf:

Wir freuen uns Sie bei der Digitalisierungsreise begleiten zu dürfen.