In June 2016, VMware announced Liota (Little IoT Agent), a lightweight, vendor-neutral open source software development kit (SDK) for building IoT applications . In April 2017, the Linux Foundation launched EdgeXFoundry, an open source edge platform architecture to enable interoperability in a plug-and-play IoT ecosystem . Dell contributed the initial code to seed the vendor-neutral EdgeX effort, which is governed by a consortium of industry peers. VMware is a founding member of EdgeX and will contribute to its success, while maintaining a neutral stance in relation to IoT hardware OEMs that participate in the project.
How do Liota and EdgeX compare and contrast? It is a common question, after people started hearing of EdgeX. The description above suggests similarities between the two, but these are at a high level. Getting into the details shows stark differences.
Figure 1 – Liota’s minimal functional set to get data from device to cloud services
On the one hand, Liota takes a lightweight approach and is minimalist on functionality, platform dependencies and the open source process. It is built in Python, intended to be used by Python apps, and should run on any IoT gateway that supports Python. It provides a minimal set of building blocks for orchestrating data from device/sensor, through a gateway function, to services; see Figure 1. It runs on hardware that is light on processing and memory resources. Features such as device metadata, security, management, data storage & analytics, etc. are out of scope and could be built to the side of Liota. In addition, the Liota open source process is informal and self-governed. Developers are encouraged to contribute their components; for example, device to edge and edge to data center communication components. VMware is using Liota as the edge system agent for ‘VMware Pulse IoT Center’, their recently announced IoT Infrastructure Management solution . Furthermore, Liota has already been used by systems integrators for rapid development of IoT solutions for their customers.
Figure 2 – EdgeX’s rich functional set
On the other hand, EdgeX Foundry targets a rich functional set; see Figure 2. It is implemented mostly in Java, but targets a polyglot microservices architecture, where its interoperating components could be written in different languages, communicating via remote protocol interfaces such as REST API calls. It targets broad scope of functionality including security, management, device metadata, data storage & analytics, etc. Furthermore, EdgeX has a formal industry consortium that operates under the auspices of the Linux Foundation, with 50+ members. Therefore, the open source process is well funded, is actively directed through committees, and will have a logo/certification program.
The two projects have fundamentally different goals and scopes, and are quite complimentary. While EdgeX utilizes a centralized, committee-led process to work towards a certified, interoperable IoT ecosystem, Liota gives contributors the freedom to build up solutions based on their needs, which in turn will organically lead to increased cross-vendor interoperability. The IoT ecosystem is complex and there will always be cases where Liota’s informal approach will come in handy over the structured approach of EdgeX.
|Open source package||Liota||EdgeX Foundry|
|Introduced||June ‘16||April ‘17|
|Licensing term||BSD 2||Apache 2.0|
|Open Source process||Informal, self-governing||Formal, committee-led with certification program|
|Environment||Python||Polyglot (Java, Python, Go, C)|
|Platform resources||Low (e.g., RAM in MBs)||Medium – High (RAM in GBs)|
Figure 3 – A comparison of Liota versus EdgeX Foundry
EdgeX’s success will aid VMware in its mission to connect any device, through any gateway to any on-prem or cloud service. VMware pledges to build a plugin for EdgeX to monitor and manage edge systems and connected devices through VMware’s Pulse IoT Center. In addition, VMware will continue evolving Liota for those gateways and devices that do not support or need the rich EdgeX feature set. Furthermore, for the case where both EdgeX and Liota are on the same hardware, VMware will develop a bridge that taps the EdgeX device meta data and proxy these devices in the Liota environment, thus making them available for Liota apps and services, including VMware’s Pulse IoT Center.
Given the current fragmented state of the IoT market and the diversity in its technology offerings, there are benefits to pursuing different contrasting approaches, as long as there is clarity on how they interrelate and what problems they solve. Case in point, both Wi-Fi and Bluetooth are highly successful wireless connectivity solutions. While Wi-Fi supports high user density and high bit-rates, Bluetooth is great for low power battery operated devices. Likewise, the goal is for both EdgeX and Liota to succeed, by focusing on different strength and design centers in solving the IoT interoperability problem.