VMware has released Liota (the "Little IoT Agent") to the developer community. The Liota framework facilitates development of applications that securely orchestrate gateway communication between IoT devices and cloud applications that analyze the input data stream and control the remote devices. Liota's release was announced in a blog post by VMware CIO Bask Iyer.
In addition to being open source, Liota is vendor-neutral. Iyer states "Liota has been generalized to allow, via modules, interaction with any data-center component, over any transport, and for any IoT gateway." Writing at Tech Republic, Conner Forrest noted: "Liota's ability to work with other IoT systems without vendor preference could be one step forward in helping to solve one of the IoT market's most pressing needs."
Liota is currently being used internally at VMware and at several companies that received early access to the software, including Bayshore Networks, Dell, and V5 Systems. Citing the difficulty of creating applications that can successfully run across a diverse set of gateways and protocols, Francis Cianfrocca, Bayshore's founder and chief scientist, said: "Liota allows us to focus on app innovation rather than creating multiple versions of our app."
The Liota SDK is written in Python, and it can be deployed on any gateway platform that supports Python. When you download Liota from GitHub, you receive a directory that includes BSD licensing information, README, requirements, a Python setup.py
file, config
and example
subdirectories, and the Loita source.
Go into the liota-master
subdirectory and view the README.md
file to understand the gist of the Liota platform, and learn how to use it to address your own situation. This document states that Liota requires a Python 2.7 installation. It describes the various layers the platform supports:
- Board Layer: The board layer is the base layer of liota and provides an abstraction for IoT gateway hardware.
- Gateway Layer: The gateway layer is a sub-module of board and abstracts both the system board and the operating system.
- Things Layer: This layer (after the 'Things' in Internet-of-Things') allows developers to create representative objects in liota for devices that will be connected to the gateway, e.g., as USB temperature sensor connected to the gateway.
- Transformer Layer: This layer defines the base structure for creating representations of metrics in liota. A metric is the term for a stream of numeric values.
- Transport Layer: This layer abstracts the network connectivity between a gateway object and a DCC (Data center component).
- DCC Layer: This layer takes care of supporting DCC's, which can be hosted anywhere; on-prem, public or private cloud.
The example
directory includes example Liota applications that utilize the open source Graphite API.