My thoughts are similar :) I work in IOT and we use Scala, Akka for the backend. Recently I am checking Elixir / OTP and think it would make a great candidate for IOT microservices with a lot of IO, routing and dispatching. OTP can suit very good for microservices.
I agree with what you say. If starting right now Scala and Elixir would be the who choices I would be looking for. I started in Ruby and Node because of my personal knowledge with these languages and because they are widely used by open source communities.
Nonetheless, I would also say that the specific blocks taking care of the hardware communication can be easily replaced, adding the right technology to the right service.
The title does not do justice to the project. Lelylan seems to be to IoT what rails is to web app development. The title sound very underwhelming, my first thought was, well I can just use zeromq with service discovery. But Lelylan is much more than that it seems to provide an opinionated full stack framework for create IoT and related services.
The description from GitHub is much better, Lelylan is an iot cloud platform based on a lightweight microservices architecture.
Look here www.lelylan.com to get a much better idea about what it is.
It kind of sucks especially for that since it forces you to do offline compaction which is hell on earth. I cant imagine they have fixed that, but it was a MAJOR ops headache because it would NEVER finish.
Never again mongo for anything with lots of writes.
So, its a distributed system architecture using SOA principles. Looks like there's some hand-waving about implementing a couple of obvious interfaces when applying this technical approach to IoT.
From what I gathered - this "framework" is nothing but a specification, and doesn't actually do anything for you.
Yes. That repository is just the architecture documentation. Check out the GitHub organization and you'll find that it's all implemented: https://github.com/lelylan
In the Internet of Things, either devices will send data to one server that other Applications subscribe to or devices will send data directly to the Applications. This one of many examples of a server that devices can send data to. In contrast, Open Pipe Kit project (http://openpipekit.github.io) is an effort to empower devices to send data directly to Applications by utilizing the power of the Unix Pipe.
Can someone tell me what problem it solves that other architectures don't? All I see is a lot of buzzwords and very little technical details on why it is better...
Here you can find the services list
https://github.com/lelylan/lelylan#development. Any idea to avoid this problem? I just added a note section in the beginning of the documentation to mitigate it.
As far as I know of OpenHAB, I would say that lelylan main difference consists on the microservices architecture. What they actually do, is pretty similar.
The choice of using lightweight comes out from the fact that each service in lelylan solve one specific problem, which make it easy to replace or extend existing and new functionalities. I'll think about a more proper word to express it.
IoT typically will have long lived connections and Erlang was built on computers much smaller than raspberry pi's.
Perhaps i'm not fully grasping the library though.