Mainflux is full-stack, perfromant, scalable, secure, open source and patent-free IoT cloud platform written in the Go programming language. Built as a set of microservices containerized by Docker and orchestrated with Kubernetes, it accepts connections over multiple network protocols (i.e. HTTP, MQTT, WebSocket), thus making a seamless bridge between them, and meant to be used as IoT middleware which provides all necessary capabilities for the development of IoT solutions, applications and intelligent devices.
Mainflux is created with a experience gained developing WeIO, Linux prototyping HW & SW board, conceived to democratize rapid prototyping and creation of wirelessly connected interactive IoT objects through an intuitive Python-based SDK that could interface with the underlying hardware. This development was crucial because important lessons are learned how devices, sensors, and hardware affects the connectivity, protocol choices and IoT cloud architecture from the bottom up towards the cloud and application.
Selection of the Go language was essential for Manflux overall performance. Go brings the best of both worlds. On the one hand, it is efficient: it runs directly on the underlying hardware, has small footprint and fast compiler. On the other hand, has an elegant concurrency code easy to write and maintain.
As an advanced, architecture Mainflux IoT platform has been recognized by the Linux Foundation, and been invited to join their EdgeX Foundry Project, an open source framework for edge computing hosted within a full hardware- and OS-agnostic reference software platform. Its mission is to set standards for interoperability and address challenges currently hindering faster adoption and successful implementations of IoT technology.