Eliot is an open source system for managing containerized applications on top of the IoT device with an emphasis on usability, simplicity, and security. Eliot gives simplified app deployment, isolation and additional security to connected device solutions.
In consideration of connected device limitations like unstable connection, limited computing resources, hardware connectivity, Eliot connects devices to single easy to use platform where you can manage devices and applications easily and safely.
I was building modern connected device product what users are located around the world. I have over 10 years of software engineer experience with five years of DevOps and faced the problem that there's no state-of-the-art solution for managing connected devices a way that is common nowadays in cloud solutions. Most platforms and services focus heavily to the cloud connectivity, data processing, and analysis, but I needed a solution to manage device Operating System and application deployment to build easy to use, modern service for our customers.
Key features needed:
- Quick realtime in-device development
- Simple and fast application deployment
- Over-The-Air device management
- Resource allocation and restriction
- Security and software isolation
- Built for IoT from ground up
And that's the day when Eliot were born ❤︎
Eliot has a small footprint and minimal requirements why it's suitable for a wide range or use cases. Linux is used nowadays everywhere; info screens, sensors, factories, home IoT, security, cars, etc. and Eliot can support most of them as long as there are enough resources and new enough Linux kernel. Thanks to Golang, there's releases available to wide range of architectures.
Docker is a software technology providing containers, promoted by the company Docker, Inc., and provides full-blown container platform for the cloud environment, taking care of container distribution, orchestration, authentication, infrastructure, etc. Docker has been playing a big role pushing out the container technology.
At the heart ❤︎ of Docker is containerd, which provides an additional layer of abstraction and automation of operating-system-level virtualization on Windows and Linux. Docker extracted and open sourced to accelerate the innovation across the ecosystem and donated it to open foundation. And Eliot is based on the containerd!
Eliot and Docker are not competing against each other; they are working together, in Open Source, to take the ecosystem forward.
Kubernetes is a great platform for orchestrating containerized software in the cloud environment. Kubernetes have been one of the fastest growing open source project in past years and new integrations and 3rd party support are popping out every day.
Keys to Kubernetes great success, addition to the great community, are simple concepts and consistent APIs. That's why Eliot is following the great leader and picks many great concepts that work in IoT domain and implements them the same way! Kubernetes is pushing the boundaries of cloud computing and Eliot is working on in IoT.
All cloud IoT solutions (AWS, Azure, Google, IBM) base to the same practice, you use SDK to implement software that collects data from the sensor and send it to the cloud where data gets processed and analyzed. Analysis result can send a message back to the device to trigger some action.
Eliot doesn't try to provide this kind of features at all, actually, you can use any cloud service with Eliot. Eliot provides an easy way to deliver your cloud integration to the device and gives you a way to update the software across thousands of devices safely and easily.
Even better, might be that you don't need to code anything! There might be available open source implementation made by someone in Docker community or you can share your code with the thousands of Docker users around the world with a single command.
Configuration management tools (e.g. Ansible, Chef, SaltStack) are configuration management tools for managing servers. Communication models are often point-to-point and are limited up to thousands of nodes with a strong focus to make configuration changes as real-time as possible.
These are show stoppers for IoT solutions because you might have hundred thousands or more devices distributed around the world which have poor connection rarely available.
Eliot builds the solution from the ground up for IoT devices with the focus on things that are important in IoT solutions; security, scalability, stability.