Ensuring data integrity with asynchronous programming in a cloud IoT core

Python3.6, AsyncIO, Flask, RabbitMQ. A simple and powerful combination for IoT data integrity.

Theofanis Petkos, George Zisopoulos

ASYNC / Concurreny Internet of Things (IoT) Python 3 Software Design Use Case

See in schedule Download/View Slides

Undoubtedly this will be the decade of low-cost and high-performance cloud IoT core development.
All cloud IoT solutions will have to meet the same two fundamental requirements: Performance and Data Integrity. Having said that, AsyncIO comes to mind.
While researching similar topics on cloud IoT solutions, we noticed that the vast majority of such solutions primarily includes performance. In this discussion we would like to demonstrate how you can ensure that a low-cost, fast developed cloud IoT core can ensure that its data is not corrupted and is accurate for the user.
Technically speaking, it is very interesting to analyze how a bucket of async/await tasks can handle (consume or even produce) messages from or to message queues, interact with other (even non pythonic) modules inside the core, manage socket connections and many other functionalities that make Python3.6+ the heart of any IoT core. Note that it is equally important to check imported data with periodic tasks, acquire statistics from devices and sanitize database data in order to ensure data integrity.
Our goal: Firstly, to encourage new developers to get involved with cloud IoT cores and use Python and AsyncIO as the heart of their core. Secondly, as new developers we would like to show our logic and our prefered python libraries and techniques in order to receive feedback from more experienced developers.
We are a team of software engineers located in Athens, Greece working for a fast growing startup in San Francisco (https://www.veturilo.io). We have developed our own cloud IoT core for a vehicle fleet management SaaS.

Type: Talk (30 mins); Python level: Beginner; Domain level: Beginner


Theofanis Petkos

Veturilo

Hola troopers! I'm a python developer and I also know elixir and ruby. I'm currently working on Veturilo.io IoT Core. I have 2+ years of experience on development.

Why Python? Because if something can be done in programming, it also can be done with python.

George Zisopoulos

Veturilo

I am full stack developer. I have 2+ years of development experience specialising in Python and Angular. At Veturilo I have been designing and developing an IoT cloud service in the Vehicle Fleet Management sector.