axler8tor
IoT vehicle tracking PoC, Elixir/Erlang on FreeBSD/Linux in Azure
I am a cloud solution architect for Microsoft. My focus is on OSS technologies in Azure - MS hired me because I know nothing about their tech ;). One of my clients is a vehicle tracking company which generates roughly one and a half billion events per month. They currently host their “Kafka-AKKA-Spark in a Kubernetes cluster with a Casandra back end” application in Azure. Their target market is Southern Africa (SA, Botswana, Namibia, Mozambique, Zimbabwe, Zambia and Malawi).
They are looking at ways to consolidate or simplify their technology stack. Having dabbled in Erlang and Elixir on small projects, I suggested that they look at implementing the solution in one technology - Elixir, and perhaps Erlang, or a combination thereof. They agreed! I think I may have bitten off more than I can chew…
I need guidance with a basic architecture to show how to implement an IoT gateway, an event processing engine, a storage facility and exposing the back end to advanced analytics engines. If my proposal goes well, there will most probably be opportunities to help the organisation implement the solution. My goal is to start out with a stock Elixir/Erlang solution and to plug in more appropriate solutions (Rabbit/Riak/CouchDB etc) if it is needed at a later stage.
I have some ideas floating around in my head, but I though it prudent to ask advice and let experienced hands guide my though process.
Apologies if I posted on the wrong message board.
ax/
Most Liked
AstonJ
Also, it’s good netiquette to allow at least 24 hours before bumping threads @axler8tor ![]()
yurko
I don’t have experience with IoT projects but I did stumble upon this tutorial https://monterail.com/blog/2016/iot-with-elixir-and-coap-part-1-example-on-how-to-easily-prototype-and-build-an-iot-platform - they describe the whole process and have everything on github, so it might be a good starting point.
As for one and a half billion events per month if they are requests and not some fat computations and are evenly distributed it should be around 600 per second which should be fine, here’s one benchmark that tried to spam plug and phoenix systems https://gist.github.com/omnibs/e5e72b31e6bd25caf39a
tomazbracic
Hi,
I would just like to say that I think you pick the right technologies. I work for a startaup where we deal with data from cars (connected car platform). The load you mention is similar to mine. Elixir/erlang/OTP is great and really capable technology. Though I am using MQTT (broker written in erlang) for 3/4g traffic part. On devicec in cars…we use C based sw. Then we use 2-way TLS, there is some Golang code for small services, Kafka for keeping everything together, currently still Postgres, but we have things prepared for Cassandra. Elixir is great. The whole ecosystem is great. Just believe in yourself.
Best
Tomaz B.








