Unlike Enterprise Linux infrastructures which live on servers with modular components, IoT devices are single-board computers with all the functionality baked directly in. The have limited horsepower and connectivity in relative comparison. Hardware drivers, power & network connectivity present unique challenges as IoT devices can live in inaccessible, remote locations- which also imply they be engineered with ultimate reliability. IoT devices also present security challenges because they can live in locations which can’t be secured.
Due to their remote placement, IoT devices frequently require wireless connectivity: WiFi and/or GSM. You’d be lucky if you don’t have driver issues with the radios. WiFi access is a double-edged problem: allow your devices to connect, but not unauthorized users. Then there’s the issue of potential signal interference by other wireless devices in the vicinity. Networking must be solid and absolutely reliable or the IoT device cannot upload its’ data, and you cannot remotely access it. GSM is an option, but undesirable due to cost and remotely access devices. IoT devices generally require some creative networking. So there’s the host networking on the Linux IoT device and the Wireless Router configuration. Being a Linux Engineer isn’t enough to deliver the required connectivity: network engineering skills are additionally required.
PoE could be an option, but if it’s not- and frequently it’s not– now the device has to be powered by a battery which is topped-up by solar power. No “A” and “B” power feeds like in a data centre. And the power must be ultimately reliable to preclude flapping- constantly rebooting due to power loss- which could corrupt data.
Frequently IoT devices live outside of our physical custody. If proprietary data- or certificates for EAP-TLS WiFi connectivity- live on the device, it’s a huge potential security problem. Then the data has to be protected in transit to preclude compromise. The IoT device itself could be stolen and anybody with physical access to a host can gain root access and see how it’s configured.
As you can see, there are a lot of issues developing IoT solutions that one does not encounter in Enterprise Linux infrastructures. Delivering a great solution requires strong overlapping Linux & Network Engineering experience. Read the case study to learn how F1Linux surmounted many unique & complex issues to deliver a great solution