SlideShare a Scribd company logo
1 of 68
Download to read offline
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

A Survey on Security and Privacy Issues in Edge Computing-Assisted Internet o...
A Survey on Security and Privacy Issues in Edge Computing-Assisted Internet o...A Survey on Security and Privacy Issues in Edge Computing-Assisted Internet o...
A Survey on Security and Privacy Issues in Edge Computing-Assisted Internet o...DESMOND YUEN
 
IoT Introduction Architecture and Applications
IoT Introduction Architecture and ApplicationsIoT Introduction Architecture and Applications
IoT Introduction Architecture and ApplicationsThe IOT Academy
 
The role of edge computing
The role of edge computingThe role of edge computing
The role of edge computingSyam Madanapalli
 
Introduction to IoT Technologies - The need to know basics
Introduction to IoT Technologies - The need to know basicsIntroduction to IoT Technologies - The need to know basics
Introduction to IoT Technologies - The need to know basicsJaco Bester
 
IoT World Forum Press Conference - 10.14.2014
IoT World Forum Press Conference - 10.14.2014IoT World Forum Press Conference - 10.14.2014
IoT World Forum Press Conference - 10.14.2014Bessie Wang
 
Security challenges in IoT
Security challenges in IoTSecurity challenges in IoT
Security challenges in IoTVishnupriya T H
 
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Jollen Chen
 
IoT Cloud architecture
IoT Cloud architectureIoT Cloud architecture
IoT Cloud architectureMachinePulse
 
Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?Ahmed Banafa
 
Internet of things applications covering industrial domain
Internet of things applications covering industrial domainInternet of things applications covering industrial domain
Internet of things applications covering industrial domainDev Bhattacharya
 
Ibm_IoT_Architecture_and_Capabilities
Ibm_IoT_Architecture_and_CapabilitiesIbm_IoT_Architecture_and_Capabilities
Ibm_IoT_Architecture_and_CapabilitiesIBM_Info_Management
 
Building the Future with Technology: The Next Five Years
Building the Future with Technology: The Next Five Years Building the Future with Technology: The Next Five Years
Building the Future with Technology: The Next Five Years Cisco Canada
 
Internet of Things Architecture / Topology
Internet of Things Architecture / TopologyInternet of Things Architecture / Topology
Internet of Things Architecture / TopologyNEEVEE Technologies
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshopNitesh Malviya
 
THE ROLE OF EDGE COMPUTING IN INTERNET OF THINGS
THE ROLE OF EDGE COMPUTING IN INTERNET OF THINGSTHE ROLE OF EDGE COMPUTING IN INTERNET OF THINGS
THE ROLE OF EDGE COMPUTING IN INTERNET OF THINGSsuthi
 
IoT - Apps & Services
IoT - Apps & ServicesIoT - Apps & Services
IoT - Apps & ServicesDiogo Gomes
 

What's hot (20)

A Survey on Security and Privacy Issues in Edge Computing-Assisted Internet o...
A Survey on Security and Privacy Issues in Edge Computing-Assisted Internet o...A Survey on Security and Privacy Issues in Edge Computing-Assisted Internet o...
A Survey on Security and Privacy Issues in Edge Computing-Assisted Internet o...
 
IoT Introduction Architecture and Applications
IoT Introduction Architecture and ApplicationsIoT Introduction Architecture and Applications
IoT Introduction Architecture and Applications
 
Making sense of IoT, M2M and Big Data
Making sense of IoT, M2M and Big DataMaking sense of IoT, M2M and Big Data
Making sense of IoT, M2M and Big Data
 
The role of edge computing
The role of edge computingThe role of edge computing
The role of edge computing
 
Introduction to IoT Technologies - The need to know basics
Introduction to IoT Technologies - The need to know basicsIntroduction to IoT Technologies - The need to know basics
Introduction to IoT Technologies - The need to know basics
 
IoT World Forum Press Conference - 10.14.2014
IoT World Forum Press Conference - 10.14.2014IoT World Forum Press Conference - 10.14.2014
IoT World Forum Press Conference - 10.14.2014
 
Security challenges in IoT
Security challenges in IoTSecurity challenges in IoT
Security challenges in IoT
 
IoT architecture
IoT architectureIoT architecture
IoT architecture
 
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
 
IoT Cloud architecture
IoT Cloud architectureIoT Cloud architecture
IoT Cloud architecture
 
Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?
 
Internet of things applications covering industrial domain
Internet of things applications covering industrial domainInternet of things applications covering industrial domain
Internet of things applications covering industrial domain
 
Enterprise, Architecture and IoT
Enterprise, Architecture and IoTEnterprise, Architecture and IoT
Enterprise, Architecture and IoT
 
Ibm_IoT_Architecture_and_Capabilities
Ibm_IoT_Architecture_and_CapabilitiesIbm_IoT_Architecture_and_Capabilities
Ibm_IoT_Architecture_and_Capabilities
 
Building the Future with Technology: The Next Five Years
Building the Future with Technology: The Next Five Years Building the Future with Technology: The Next Five Years
Building the Future with Technology: The Next Five Years
 
Introduction to IoT
Introduction to IoTIntroduction to IoT
Introduction to IoT
 
Internet of Things Architecture / Topology
Internet of Things Architecture / TopologyInternet of Things Architecture / Topology
Internet of Things Architecture / Topology
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
 
THE ROLE OF EDGE COMPUTING IN INTERNET OF THINGS
THE ROLE OF EDGE COMPUTING IN INTERNET OF THINGSTHE ROLE OF EDGE COMPUTING IN INTERNET OF THINGS
THE ROLE OF EDGE COMPUTING IN INTERNET OF THINGS
 
IoT - Apps & Services
IoT - Apps & ServicesIoT - Apps & Services
IoT - Apps & Services
 

Similar to Mainflux - Hyperscalable Unified IoT Platform

ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingssuser06ea42
 
Packet Forging over LAN
Packet Forging over LANPacket Forging over LAN
Packet Forging over LANABHIJEET 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 - OverviewKrishna-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 RescueEurotech
 
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/15Mark Goldstein
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge ComputingLiz 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 StoryLinaro
 
Simple things about Internet of Things
Simple things about Internet of ThingsSimple things about Internet of Things
Simple things about Internet of ThingsMuhammad 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/17Mark Goldstein
 
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 KrishnaCodeOps 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 workflowsAniruddha 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 ArchitecturesDaniel Holmberg
 
Internet of things chapter2.pdf
Internet of things chapter2.pdfInternet of things chapter2.pdf
Internet of things chapter2.pdfRupesh930637
 
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 tDebasis Das
 
Software virtualization lessons for extreme IoT portability and scale
Software virtualization lessons for extreme IoT portability and scaleSoftware virtualization lessons for extreme IoT portability and scale
Software virtualization lessons for extreme IoT portability and scaleMicroEJ
 

Similar to Mainflux - Hyperscalable Unified IoT Platform (20)

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
 
Software virtualization lessons for extreme IoT portability and scale
Software virtualization lessons for extreme IoT portability and scaleSoftware virtualization lessons for extreme IoT portability and scale
Software virtualization lessons for extreme IoT portability and scale
 

Recently uploaded

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 

Recently uploaded (20)

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 

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!