SlideShare a Scribd company logo
Unified IoT Platform
Drasko Draskovic, Mainflux
Janko isidorovic, Mainflux
Over 10 years of industry experience in
semiconductor, telecom, system software,
embedded and electronics. MSc in Electrical
Engineering, Electronics, Telecommunication and
Control
OMAP processors for Texas Instruments, LTE SoC
with Sequans Communications, 5G connected
world with NOKIA
Connected everything (IoE) with Mainflux
Drasko
Draskovic
MSc. Electronics
Janko is the co-founder of Mainflux IoT open
source project. He is also chair of the Application
Work Group of Linux Foundation EdgeX project.
Janko has a 10+ years background in Project
Management, IT and Software integrations.
He holds MSc. In Telecommunications from
Belgrade University.
Janko
Isidorovic
MSc. Telecommunications
MAINFLUX
INTERNET OF THINGS PLATFORM
OPEN-SOURCE AND PATENT-FREE
DEPLOY ON-PREMISES OR IN THE CLOUD
Mainflux is highly secure, scalable, open-source IoT platform written in
Go and deployed in Docker.
It serves as software infrastructure and set of microservices for
development of the Internet of Things Solutions and deployment of
intelligent products.
https://www.mainflux.com/
https://github.com/mainflux
EdgeX Foundry
EdgeX Foundry™ is a vendor-neutral open source project building
a common open framework for IoT edge computing.
At the heart of the project is an interoperability framework hosted
within a full hardware- and OS-agnostic reference software
platform to enable an ecosystem of plug-and-play components
that unifies the marketplace and accelerates the deployment of IoT
solutions.
https://www.edgexfoundry.org/
https://github.com/edgexfoundry
Scalable Architecture for the
Internet of Things
An Introduction to Data-Driven Computing Platforms
http://www.oreilly.com/programming/free/scalable-architecture-for-the-internet-of-things.csp
Outline
1. IoT Platform
2. IoT Devices
3. IoT Edge
4. IoT On-premise
5. IoT Cloud
6. Unified IoT Architecture
IoT
What is Internet of Things
The Internet of Things is the network of
dedicated physical objects (things) that
contain embedded technology to sense
or interact with their internal state or
external environment.
The IoT comprises an ecosystem that
includes things, communications,
applications and data analysis.
Internet of Things > M2M
Connectivity and embedded technology
The cost of connectivity and embedded technology is
becoming less of a barrier to adoption.
Broadband communication, Wi-Fi, Near Field
Communication (NFC), Bluetooth and mobile networks are
becoming ubiquitous and able to support large volumes of
IoT connectivity at little incremental cost.
• Low Cost Sensors
• Long Range - Low Power Radio Networks
ARM - Trillion Connected Devices by 2035
“We completely restructured Intel to be a cloud
and Internet of Things company”
Raejeanne Skillern, vice president of
the Data Center Group and general
manager of the Cloud Service
Provider Business at Intel Corp.
March 2017.
IoT Platform
But IoT is still hard, because
electronics, firmware, RF, network
protocols, server architecture,
devops, security...
IoT Platform
IoT Landscape
IoT Platform Design - Bottom up approach
• Start with “users” - IoT platform users are devices
• Go to Edge
• Run on premise
• Push to Cloud
IoT Device/Client
IoT Landscape - Devices
Devices are Small - Sensors and Smart Dust
IoT Constrained Nodes
Name
Data Size
(e.g., RAM)
Code Size
(e.g., Flash)
Class 0, C0 << 10 KiB << 100 KiB
Class 1, C1 ~ 10 KiB ~ 100 KiB
Class 2, C2 ~ 50 KiB ~ 250 KiB
IETF RFC 7228: Terminology for Constrained-Node Networks
● MCU + RF front-end
● Bare-metal or small RTOS
● Constrained CPU clocking (low on kHz)
● Constrained flash and RAM
● Battery powered devices
Heavy networking stack just won't fit!
Should I use WS to connect devices?
HTTP then?
MQTT?
CoAP?
Devices are Big - Industry, Energy, Cloud
Devices are Big - Industry, Energy, Cloud
• Large amount of data
• High throughput
• Real-Time analytics
• Device actuation
Old and new protocols:
• OPC-UA
• MODBUS
• DBUS
• BACNET
• Zigbee
• Etc...
Devices are Disconnected
Devices are Disconnected
• Battery Powered
• Deployed in the field
• Network connectivity issues
• Devices need to reconnect
IoT Edge
IoT Landscape - Edge
Action Is On The Edge
“The edge of the IoT is where the action is. It includes a wide
array of sensors, actuators, and devices - those system
end-points that interact with and communicate real-time data
from smart products and services.”
Foundational Elements of an IoT Solution by Joe Biron and
Jonathan Follett (O’Reilly).
End of Cloud Computing
“Think about a
self-driving car, it’s
effectively a data center
on wheels.”
- Peter Levine, general
partner at Andreessen
Horowitz, “The End of Cloud
Computing”
Reasons For The Edge
• Low latency (immediate response)
• Perishable data (loses value after few seconds)
• Big amount of data (impossible and/or expensive to transfer)
• Network segmentation (organization)
• Private network installation
• Local security and firewalls
Cloud vs On Premise vs Edge
Edge
• Low memory footprint (RAM)
• Small size binaries
• Low Latency
• Hi Performance
• Deploy only microservices
you need for the project
On Premise / Cloud
• Scalability
• FT and HA
• Big Data
IoT Edge Gateways
IoT Edge Gateway Spec
Mainflux MFX-1
• NXP Quad 1GHz i.MX6 ARM A9
• 2GB RAM
• 8GB eMMC
• Industrial Temp. (-40° to 85° C)
• Includes WiFi/BT
• Size: 102mm x 69mm
Dell 5000
• Intel CPU E3825 1.33GHz
• 2GB RAM
• 32GB SSD
• Consumer Temp. (0°C to 50°C)
• WiFi
• Size: 229mm x 216mm
Go Comes Into The Play
Where and Why Go?
• Single code base runs everywhere - Intel, ARM, Windows,
Linux, MacOS
• Easy to code
• Small footprint
• Maintainable
• High performance
Go vs Java in EdgeX
Results clearly indicate Golang as more performant and efficient
as measured by number of factors above.
Release Metrics (Jim White, Senior Software Architect at Dell)
Mainflux RPi Example
drasko@Marx:~/go/src/github.com/mainflux/mainflux$ make -j 8 GOOS=linux GOARCH=arm GOARM=7
GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-s -w" -o build/mainflux-manager cmd/manager/main.go
…
drasko@Marx:~/go/src/github.com/mainflux/mainflux$ ls -lh build/
total 23M
-rwxr-xr-x 1 drasko drasko 4.0M Mar 14 17:29 mainflux-coap
-rwxr-xr-x 1 drasko drasko 4.7M Mar 14 17:29 mainflux-http
-rwxr-xr-x 1 drasko drasko 6.1M Mar 14 17:29 mainflux-manager
-rwxr-xr-x 1 drasko drasko 7.7M Mar 14 17:29 mainflux-normalizer
drasko@Marx:~/go/src/github.com/mainflux/mainflux$ file build/mainflux-manager
build/mainflux-manager: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped
Mainflux `FROM scratch` Dockerfile
FROM golang:1.9-alpine AS builder
ARG SVC_NAME
RUN apk update 
&& apk add git 
&& go get github.com/mainflux/mainflux 
&& cd /go/src/github.com/mainflux/mainflux/cmd/$SVC_NAME 
&& CGO_ENABLED=0 GOOS=linux go build -ldflags "-s" -a -installsuffix cgo -o /exe
FROM scratch
COPY --from=builder /exe /
ENTRYPOINT ["/exe"]
Mainflux Docker Images
drasko@Marx:~/go/src/github.com/mainflux/mainflux/docker$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mainflux/http latest fa4368588610 2 days ago 5.94MB
mainflux/normalizer latest 7fe785bc947f 2 days ago 9.79MB
mainflux/manager latest eac8a24c1372 2 days ago 7.77MB
nginx 1.13-alpine 537527661905 2 weeks ago 17.9MB
postgres 10.2-alpine 400ef39e0dbf 3 weeks ago 39.5MB
mainflux/mqtt-adapter latest 5d0f098f76e9 8 weeks ago 123MB
nats 1.0.2 3e5d0988d123 6 months ago 5.7MB
IoT Platform - On Premise
IoT Landscape - On Premise Deployment
IoT Problems - On Premise
• Data from multiple Edge locations
• Company/Government Policy - No Cloud
• ERP Integration
• Enterprise Data Analytics
• Filter data and then push to cloud for advanced analytics
• Utilize existing hardware
• Hybrid solution - On premise and cloud
IoT Platform in the Cloud
IoT Problems - Cloud
• “Infinitely Scalable”
• High Latency
• Network connectivity can be lost
• Advanced Data Analytics
• Is Cloud also a “device” connected to the IoT Platform?
Unified Architecture
Why is Unified Architecture Important?
• Lower Entry Barrier
• Decrease Number of Technologies
Used
• Decrease Development Team Size
• Increase Security
• Simplify Code Maintenance
Bottom Line:
- Reduce Time To Market
- Lower TCO
IoT Problems - Diversity
• Hardware Scale - Constrained to Server to Cloud
• Hardware Architecture - Intel, ARM
• Network Topology - Mash, Star
• Network Connectivity - IP, no IP
• Wireless Networks - WiFi, LoRa, BLE, Zigbee, 6LoWPAN
• Security - Physical, Network, Application, Data Security
• IoT Protocols - MQTT, CoAP, OPC-UA, BACNET, MODBUS...
Mainflux
Use microservices, Luke
Mainflux Architecture
• Microservices
• Modular design
• Support for different
messaging databases
• Deploy Native or in
Container
• Stateless Containers easy
to scaleout
Mainflux - Messaging Subsystem
Messaging subsystem is composed of
following microservices:
• HTTP Server
• WS Server
• MQTT Broker
• CoAP Server
• NATS Broker
• Database Adapter and Storage
It’s role is to distribute messages
between various clients that can connect
via various protocols - i.e. it makes a
messaging bridge between them.
Mainflux - Reverse Proxy
• Load Balance - scaling, HA, Fault
Tolerance
• Reverse Proxy
• SSL termination - keep these certs at
one place. MQTT is pure TCP, and
CoAP is UDP
Mainflux - Manager
• Policy Based Auth
• Grouping devices by connection to
channels
• Channel corresponds to MQTT topic
• JWT and Certs for Devices
• JWT (short TTL)
• Bearer Token
• Uses SQL Database
• Evaluate support for OAuth 2.0
for Apps
Database Scalability
Database - SQL/NoSQL/NoDB
• PostgreSQL - device metadata
• Cassandra DB - device messaging
• MongoDB - device messaging
• InfluxDB - device messaging
• NoDB - Is Messaging Database Required?
Mainflux - Scalability
• Mainflux runs on Kubernetes
• Scaling is Easy - even across multiple datacenters
• Independently Scale each of the microservices depending on
the load
• Distributed Deployment
Kubernetes Deployment
• Easily Scale up/scale
down
• Easily add servers to the
system
• Scale each of the
microservices
independently
Mainflux - Scale Down
● Mainflux runs on RPi Class Hardware
● Native deployment on the Edge
`docker-compose up` and you got
your Mainflux system running!
Mainflux Project Timeline
Thank you!
Mainflux - Hyperscalable Unified IoT Platform

More Related Content

What's hot

Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation
Piyush Rathi
 
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
CRI Japan, Inc.
 
What is Edge Computing and Why does it matter in IoT?
What is Edge Computing and Why does it matter in IoT?What is Edge Computing and Why does it matter in IoT?
What is Edge Computing and Why does it matter in IoT?
Sameer Ahmed
 
EDGE COMPUTING
EDGE COMPUTINGEDGE COMPUTING
EDGE COMPUTING
Mosin A
 
Présentation 5 g
Présentation 5 gPrésentation 5 g
Présentation 5 g
Maxime Orefice
 
Iot how it works
Iot   how it worksIot   how it works
Iot how it works
S SIVARAMAKRISHNAN
 
IoT
IoTIoT
Résumé ccna 1chapitre 1 v5.0
Résumé ccna 1chapitre 1 v5.0Résumé ccna 1chapitre 1 v5.0
Résumé ccna 1chapitre 1 v5.0
EL AMRI El Hassan
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
Olivier Le Goaër
 
Internet of Things - IoT
Internet of Things - IoTInternet of Things - IoT
Internet of Things - IoT
Farjad Noor
 
Guide To Continuous Deployment Containerization With Docker Complete Deck
Guide To Continuous Deployment Containerization With Docker Complete DeckGuide To Continuous Deployment Containerization With Docker Complete Deck
Guide To Continuous Deployment Containerization With Docker Complete Deck
SlideTeam
 
Edge and Fog computing, a use-case prespective
Edge and Fog computing, a use-case prespectiveEdge and Fog computing, a use-case prespective
Edge and Fog computing, a use-case prespective
Chetan Kumar S
 
Cloud, Fog & Edge Computing
Cloud, Fog & Edge ComputingCloud, Fog & Edge Computing
Cloud, Fog & Edge Computing
EUBrasilCloudFORUM .
 
Deploying Carrier Ethernet Features on Cisco ASR 9000
Deploying Carrier Ethernet Features on Cisco ASR 9000Deploying Carrier Ethernet Features on Cisco ASR 9000
Deploying Carrier Ethernet Features on Cisco ASR 9000
Vinod Kumar Balasubramanyam
 
5G exposé.pdf
5G exposé.pdf5G exposé.pdf
5G exposé.pdf
NadirBerrabah
 
Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQ
ICS
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.ppt
AmalHadri2
 

What's hot (20)

Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation
 
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
 
What is Edge Computing and Why does it matter in IoT?
What is Edge Computing and Why does it matter in IoT?What is Edge Computing and Why does it matter in IoT?
What is Edge Computing and Why does it matter in IoT?
 
EDGE COMPUTING
EDGE COMPUTINGEDGE COMPUTING
EDGE COMPUTING
 
Présentation 5 g
Présentation 5 gPrésentation 5 g
Présentation 5 g
 
Iot how it works
Iot   how it worksIot   how it works
Iot how it works
 
IoT
IoTIoT
IoT
 
Growth Of IOT NETWORK.pptx
Growth Of IOT NETWORK.pptxGrowth Of IOT NETWORK.pptx
Growth Of IOT NETWORK.pptx
 
Résumé ccna 1chapitre 1 v5.0
Résumé ccna 1chapitre 1 v5.0Résumé ccna 1chapitre 1 v5.0
Résumé ccna 1chapitre 1 v5.0
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Internet of Things - IoT
Internet of Things - IoTInternet of Things - IoT
Internet of Things - IoT
 
Guide To Continuous Deployment Containerization With Docker Complete Deck
Guide To Continuous Deployment Containerization With Docker Complete DeckGuide To Continuous Deployment Containerization With Docker Complete Deck
Guide To Continuous Deployment Containerization With Docker Complete Deck
 
Edge and Fog computing, a use-case prespective
Edge and Fog computing, a use-case prespectiveEdge and Fog computing, a use-case prespective
Edge and Fog computing, a use-case prespective
 
Cloud, Fog & Edge Computing
Cloud, Fog & Edge ComputingCloud, Fog & Edge Computing
Cloud, Fog & Edge Computing
 
JasperReport
JasperReportJasperReport
JasperReport
 
Deploying Carrier Ethernet Features on Cisco ASR 9000
Deploying Carrier Ethernet Features on Cisco ASR 9000Deploying Carrier Ethernet Features on Cisco ASR 9000
Deploying Carrier Ethernet Features on Cisco ASR 9000
 
5G exposé.pdf
5G exposé.pdf5G exposé.pdf
5G exposé.pdf
 
Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQ
 
Light peak
Light peakLight peak
Light peak
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.ppt
 

Similar to Mainflux - Hyperscalable Unified IoT Platform

Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
mCloud
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computing
ssuser06ea42
 
Packet Forging over LAN
Packet Forging over LANPacket Forging over LAN
Packet Forging over LAN
ABHIJEET SINGH
 
ARM Bryan Lawrence at Smart Homes 2013 Cambridge
ARM Bryan Lawrence at Smart Homes 2013 CambridgeARM Bryan Lawrence at Smart Homes 2013 Cambridge
ARM Bryan Lawrence at Smart Homes 2013 CambridgeJustin Hayward
 
Open Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - OverviewOpen Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - Overview
Krishna-Kumar
 
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
Industrial IoT Mayhem? Java IoT Gateways to the RescueIndustrial IoT Mayhem? Java IoT Gateways to the Rescue
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
Eurotech
 
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
Mark Goldstein
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge Computing
Liz Warner
 
BKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End StoryBKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End Story
Linaro
 
Simple things about Internet of Things
Simple things about Internet of ThingsSimple things about Internet of Things
Simple things about Internet of Things
Muhammad Nasr
 
Phoenix Data Conference - Big Data Analytics for IoT 11/4/17
Phoenix Data Conference - Big Data Analytics for IoT 11/4/17Phoenix Data Conference - Big Data Analytics for IoT 11/4/17
Phoenix Data Conference - Big Data Analytics for IoT 11/4/17
Mark Goldstein
 
KNoT Manifesto
KNoT ManifestoKNoT Manifesto
KNoT Manifesto
Tiago Barros
 
Introduction to roof computing by Nishant Krishna
Introduction to roof computing by Nishant KrishnaIntroduction to roof computing by Nishant Krishna
Introduction to roof computing by Nishant Krishna
CodeOps Technologies LLP
 
Using Node-RED for building IoT workflows
Using Node-RED for building IoT workflowsUsing Node-RED for building IoT workflows
Using Node-RED for building IoT workflows
Aniruddha Chakrabarti
 
Developing Interoperable Components for an Open IoT Foundation
Developing Interoperable Components for an Open IoT Foundation Developing Interoperable Components for an Open IoT Foundation
Developing Interoperable Components for an Open IoT Foundation
Eurotech
 
Emerging Computing Architectures
Emerging Computing ArchitecturesEmerging Computing Architectures
Emerging Computing Architectures
Daniel Holmberg
 
Internet of things chapter2.pdf
Internet of things chapter2.pdfInternet of things chapter2.pdf
Internet of things chapter2.pdf
Rupesh930637
 
Development eco-system in free-source for io t
Development eco-system in free-source for io tDevelopment eco-system in free-source for io t
Development eco-system in free-source for io t
Debasis Das
 
Sgcp14phillips
Sgcp14phillipsSgcp14phillips
Sgcp14phillips
Justin Hayward
 

Similar to Mainflux - Hyperscalable Unified IoT Platform (20)

Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computing
 
Packet Forging over LAN
Packet Forging over LANPacket Forging over LAN
Packet Forging over LAN
 
ARM Bryan Lawrence at Smart Homes 2013 Cambridge
ARM Bryan Lawrence at Smart Homes 2013 CambridgeARM Bryan Lawrence at Smart Homes 2013 Cambridge
ARM Bryan Lawrence at Smart Homes 2013 Cambridge
 
Open Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - OverviewOpen Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - Overview
 
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
Industrial IoT Mayhem? Java IoT Gateways to the RescueIndustrial IoT Mayhem? Java IoT Gateways to the Rescue
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
 
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge Computing
 
BKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End StoryBKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End Story
 
Simple things about Internet of Things
Simple things about Internet of ThingsSimple things about Internet of Things
Simple things about Internet of Things
 
Phoenix Data Conference - Big Data Analytics for IoT 11/4/17
Phoenix Data Conference - Big Data Analytics for IoT 11/4/17Phoenix Data Conference - Big Data Analytics for IoT 11/4/17
Phoenix Data Conference - Big Data Analytics for IoT 11/4/17
 
KNoT Manifesto
KNoT ManifestoKNoT Manifesto
KNoT Manifesto
 
Introduction to roof computing by Nishant Krishna
Introduction to roof computing by Nishant KrishnaIntroduction to roof computing by Nishant Krishna
Introduction to roof computing by Nishant Krishna
 
Using Node-RED for building IoT workflows
Using Node-RED for building IoT workflowsUsing Node-RED for building IoT workflows
Using Node-RED for building IoT workflows
 
Developing Interoperable Components for an Open IoT Foundation
Developing Interoperable Components for an Open IoT Foundation Developing Interoperable Components for an Open IoT Foundation
Developing Interoperable Components for an Open IoT Foundation
 
Emerging Computing Architectures
Emerging Computing ArchitecturesEmerging Computing Architectures
Emerging Computing Architectures
 
Internet of things chapter2.pdf
Internet of things chapter2.pdfInternet of things chapter2.pdf
Internet of things chapter2.pdf
 
Development eco-system in free-source for io t
Development eco-system in free-source for io tDevelopment eco-system in free-source for io t
Development eco-system in free-source for io t
 
20151207 - iot strategy
20151207 - iot strategy20151207 - iot strategy
20151207 - iot strategy
 
Sgcp14phillips
Sgcp14phillipsSgcp14phillips
Sgcp14phillips
 

Recently uploaded

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 

Recently uploaded (20)

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 

Mainflux - Hyperscalable Unified IoT Platform

  • 1. Unified IoT Platform Drasko Draskovic, Mainflux Janko isidorovic, Mainflux
  • 2. Over 10 years of industry experience in semiconductor, telecom, system software, embedded and electronics. MSc in Electrical Engineering, Electronics, Telecommunication and Control OMAP processors for Texas Instruments, LTE SoC with Sequans Communications, 5G connected world with NOKIA Connected everything (IoE) with Mainflux Drasko Draskovic MSc. Electronics Janko is the co-founder of Mainflux IoT open source project. He is also chair of the Application Work Group of Linux Foundation EdgeX project. Janko has a 10+ years background in Project Management, IT and Software integrations. He holds MSc. In Telecommunications from Belgrade University. Janko Isidorovic MSc. Telecommunications
  • 3. MAINFLUX INTERNET OF THINGS PLATFORM OPEN-SOURCE AND PATENT-FREE DEPLOY ON-PREMISES OR IN THE CLOUD Mainflux is highly secure, scalable, open-source IoT platform written in Go and deployed in Docker. It serves as software infrastructure and set of microservices for development of the Internet of Things Solutions and deployment of intelligent products. https://www.mainflux.com/ https://github.com/mainflux
  • 4.
  • 5. EdgeX Foundry EdgeX Foundry™ is a vendor-neutral open source project building a common open framework for IoT edge computing. At the heart of the project is an interoperability framework hosted within a full hardware- and OS-agnostic reference software platform to enable an ecosystem of plug-and-play components that unifies the marketplace and accelerates the deployment of IoT solutions. https://www.edgexfoundry.org/ https://github.com/edgexfoundry
  • 6. Scalable Architecture for the Internet of Things An Introduction to Data-Driven Computing Platforms http://www.oreilly.com/programming/free/scalable-architecture-for-the-internet-of-things.csp
  • 7. Outline 1. IoT Platform 2. IoT Devices 3. IoT Edge 4. IoT On-premise 5. IoT Cloud 6. Unified IoT Architecture
  • 8. IoT
  • 9. What is Internet of Things The Internet of Things is the network of dedicated physical objects (things) that contain embedded technology to sense or interact with their internal state or external environment. The IoT comprises an ecosystem that includes things, communications, applications and data analysis.
  • 10. Internet of Things > M2M Connectivity and embedded technology The cost of connectivity and embedded technology is becoming less of a barrier to adoption. Broadband communication, Wi-Fi, Near Field Communication (NFC), Bluetooth and mobile networks are becoming ubiquitous and able to support large volumes of IoT connectivity at little incremental cost. • Low Cost Sensors • Long Range - Low Power Radio Networks
  • 11. ARM - Trillion Connected Devices by 2035
  • 12. “We completely restructured Intel to be a cloud and Internet of Things company” Raejeanne Skillern, vice president of the Data Center Group and general manager of the Cloud Service Provider Business at Intel Corp. March 2017.
  • 14. But IoT is still hard, because electronics, firmware, RF, network protocols, server architecture, devops, security...
  • 17. IoT Platform Design - Bottom up approach • Start with “users” - IoT platform users are devices • Go to Edge • Run on premise • Push to Cloud
  • 19. IoT Landscape - Devices
  • 20. Devices are Small - Sensors and Smart Dust
  • 21. IoT Constrained Nodes Name Data Size (e.g., RAM) Code Size (e.g., Flash) Class 0, C0 << 10 KiB << 100 KiB Class 1, C1 ~ 10 KiB ~ 100 KiB Class 2, C2 ~ 50 KiB ~ 250 KiB IETF RFC 7228: Terminology for Constrained-Node Networks ● MCU + RF front-end ● Bare-metal or small RTOS ● Constrained CPU clocking (low on kHz) ● Constrained flash and RAM ● Battery powered devices
  • 22. Heavy networking stack just won't fit!
  • 23. Should I use WS to connect devices?
  • 25. MQTT?
  • 26. CoAP?
  • 27. Devices are Big - Industry, Energy, Cloud
  • 28. Devices are Big - Industry, Energy, Cloud • Large amount of data • High throughput • Real-Time analytics • Device actuation Old and new protocols: • OPC-UA • MODBUS • DBUS • BACNET • Zigbee • Etc...
  • 30. Devices are Disconnected • Battery Powered • Deployed in the field • Network connectivity issues • Devices need to reconnect
  • 33. Action Is On The Edge “The edge of the IoT is where the action is. It includes a wide array of sensors, actuators, and devices - those system end-points that interact with and communicate real-time data from smart products and services.” Foundational Elements of an IoT Solution by Joe Biron and Jonathan Follett (O’Reilly).
  • 34. End of Cloud Computing “Think about a self-driving car, it’s effectively a data center on wheels.” - Peter Levine, general partner at Andreessen Horowitz, “The End of Cloud Computing”
  • 35. Reasons For The Edge • Low latency (immediate response) • Perishable data (loses value after few seconds) • Big amount of data (impossible and/or expensive to transfer) • Network segmentation (organization) • Private network installation • Local security and firewalls
  • 36. Cloud vs On Premise vs Edge Edge • Low memory footprint (RAM) • Small size binaries • Low Latency • Hi Performance • Deploy only microservices you need for the project On Premise / Cloud • Scalability • FT and HA • Big Data
  • 38. IoT Edge Gateway Spec Mainflux MFX-1 • NXP Quad 1GHz i.MX6 ARM A9 • 2GB RAM • 8GB eMMC • Industrial Temp. (-40° to 85° C) • Includes WiFi/BT • Size: 102mm x 69mm Dell 5000 • Intel CPU E3825 1.33GHz • 2GB RAM • 32GB SSD • Consumer Temp. (0°C to 50°C) • WiFi • Size: 229mm x 216mm
  • 39. Go Comes Into The Play
  • 40. Where and Why Go? • Single code base runs everywhere - Intel, ARM, Windows, Linux, MacOS • Easy to code • Small footprint • Maintainable • High performance
  • 41. Go vs Java in EdgeX Results clearly indicate Golang as more performant and efficient as measured by number of factors above. Release Metrics (Jim White, Senior Software Architect at Dell)
  • 42. Mainflux RPi Example drasko@Marx:~/go/src/github.com/mainflux/mainflux$ make -j 8 GOOS=linux GOARCH=arm GOARM=7 GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-s -w" -o build/mainflux-manager cmd/manager/main.go … drasko@Marx:~/go/src/github.com/mainflux/mainflux$ ls -lh build/ total 23M -rwxr-xr-x 1 drasko drasko 4.0M Mar 14 17:29 mainflux-coap -rwxr-xr-x 1 drasko drasko 4.7M Mar 14 17:29 mainflux-http -rwxr-xr-x 1 drasko drasko 6.1M Mar 14 17:29 mainflux-manager -rwxr-xr-x 1 drasko drasko 7.7M Mar 14 17:29 mainflux-normalizer drasko@Marx:~/go/src/github.com/mainflux/mainflux$ file build/mainflux-manager build/mainflux-manager: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped
  • 43. Mainflux `FROM scratch` Dockerfile FROM golang:1.9-alpine AS builder ARG SVC_NAME RUN apk update && apk add git && go get github.com/mainflux/mainflux && cd /go/src/github.com/mainflux/mainflux/cmd/$SVC_NAME && CGO_ENABLED=0 GOOS=linux go build -ldflags "-s" -a -installsuffix cgo -o /exe FROM scratch COPY --from=builder /exe / ENTRYPOINT ["/exe"]
  • 44. Mainflux Docker Images drasko@Marx:~/go/src/github.com/mainflux/mainflux/docker$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mainflux/http latest fa4368588610 2 days ago 5.94MB mainflux/normalizer latest 7fe785bc947f 2 days ago 9.79MB mainflux/manager latest eac8a24c1372 2 days ago 7.77MB nginx 1.13-alpine 537527661905 2 weeks ago 17.9MB postgres 10.2-alpine 400ef39e0dbf 3 weeks ago 39.5MB mainflux/mqtt-adapter latest 5d0f098f76e9 8 weeks ago 123MB nats 1.0.2 3e5d0988d123 6 months ago 5.7MB
  • 45. IoT Platform - On Premise
  • 46. IoT Landscape - On Premise Deployment
  • 47. IoT Problems - On Premise • Data from multiple Edge locations • Company/Government Policy - No Cloud • ERP Integration • Enterprise Data Analytics • Filter data and then push to cloud for advanced analytics • Utilize existing hardware • Hybrid solution - On premise and cloud
  • 48. IoT Platform in the Cloud
  • 49. IoT Problems - Cloud • “Infinitely Scalable” • High Latency • Network connectivity can be lost • Advanced Data Analytics • Is Cloud also a “device” connected to the IoT Platform?
  • 51. Why is Unified Architecture Important? • Lower Entry Barrier • Decrease Number of Technologies Used • Decrease Development Team Size • Increase Security • Simplify Code Maintenance Bottom Line: - Reduce Time To Market - Lower TCO
  • 52. IoT Problems - Diversity • Hardware Scale - Constrained to Server to Cloud • Hardware Architecture - Intel, ARM • Network Topology - Mash, Star • Network Connectivity - IP, no IP • Wireless Networks - WiFi, LoRa, BLE, Zigbee, 6LoWPAN • Security - Physical, Network, Application, Data Security • IoT Protocols - MQTT, CoAP, OPC-UA, BACNET, MODBUS...
  • 55. Mainflux Architecture • Microservices • Modular design • Support for different messaging databases • Deploy Native or in Container • Stateless Containers easy to scaleout
  • 56. Mainflux - Messaging Subsystem Messaging subsystem is composed of following microservices: • HTTP Server • WS Server • MQTT Broker • CoAP Server • NATS Broker • Database Adapter and Storage It’s role is to distribute messages between various clients that can connect via various protocols - i.e. it makes a messaging bridge between them.
  • 57. Mainflux - Reverse Proxy • Load Balance - scaling, HA, Fault Tolerance • Reverse Proxy • SSL termination - keep these certs at one place. MQTT is pure TCP, and CoAP is UDP
  • 58. Mainflux - Manager • Policy Based Auth • Grouping devices by connection to channels • Channel corresponds to MQTT topic • JWT and Certs for Devices • JWT (short TTL) • Bearer Token • Uses SQL Database • Evaluate support for OAuth 2.0 for Apps
  • 59. Database Scalability Database - SQL/NoSQL/NoDB • PostgreSQL - device metadata • Cassandra DB - device messaging • MongoDB - device messaging • InfluxDB - device messaging • NoDB - Is Messaging Database Required?
  • 60. Mainflux - Scalability • Mainflux runs on Kubernetes • Scaling is Easy - even across multiple datacenters • Independently Scale each of the microservices depending on the load • Distributed Deployment
  • 61. Kubernetes Deployment • Easily Scale up/scale down • Easily add servers to the system • Scale each of the microservices independently
  • 62. Mainflux - Scale Down ● Mainflux runs on RPi Class Hardware ● Native deployment on the Edge
  • 63.
  • 64.
  • 65. `docker-compose up` and you got your Mainflux system running!