24
Microservices as a design choice for IoT Mayank Joneja

Microservices as a design choice for IoT

  • Upload
    dangnhi

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Microservices as a design choice for IoT

Microservicesas a design choice for IoT

Mayank Joneja

Page 2: Microservices as a design choice for IoT

Agenda

Introduction to Microservices Advantages Characteristics of IoT Overview of Frameworks Common Design Features Examples from Research Domain Concluding Remarks

Page 3: Microservices as a design choice for IoT

Traditional monolithic approach

• Single application

• All logic combined into single process

• Composed of classes, methods and packages

• Allows proper testing and use of deployment pipeline

• Every single change requires entire application to be re-deployed

Page 4: Microservices as a design choice for IoT

Microservices

• A way of breaking down applications

• Instead of in-memory function calls, separate processes

• Small, highly decoupled and task specific

• Communicate with each other using lightweight mechanisms

• Model of software development popularized by Netflix, Amazon

Page 5: Microservices as a design choice for IoT
Page 6: Microservices as a design choice for IoT

Characteristics

• Componentization of service layer

• Well defined context boundaries

• Each service has separate “view” of the world and database

• Independently upgradable

• Inter-service communication using HTTP-REST APIs

Page 7: Microservices as a design choice for IoT

Motivations

• Technology heterogeneity

• Organizational alignment

• Resilience

• Scaling

Page 8: Microservices as a design choice for IoT

Characteristics of IoT

http://www.i-scoop.eu/internet-of-things/what-is-the-internet-of-things-iot-definitions/

Page 9: Microservices as a design choice for IoT

IoT Cloud Platforms

Microsoft Azure IoT

AWS IoT

Lelylan

Mainflux

Page 10: Microservices as a design choice for IoT

Microsoft Azure IoT

Page 11: Microservices as a design choice for IoT

Components

Device connectivity

Azure IoT

For devices using CoAP or incapable of TLS/SSL

Devices requiring protocol translation

Page 12: Microservices as a design choice for IoT

Device identity store

Device registry store

Device state store

Page 13: Microservices as a design choice for IoT

Data flow and stream processing

Solution UX

App back end

Business systems integration

At-rest data analytics

Page 14: Microservices as a design choice for IoT

AWS IoT

Page 15: Microservices as a design choice for IoT

Components

• Device Gateway

• Message Broker

• Rules Engine

• Security and Identity service

• Thing registry

• Thing shadow

• Thing shadow service

Page 16: Microservices as a design choice for IoT

Lelylan

Page 17: Microservices as a design choice for IoT
Page 18: Microservices as a design choice for IoT

Mainflux

Mainflux-core Mainflux-auth Mainflux-mqtt Mainflux-ui Mainflux-cli MongoDB Redis

Page 19: Microservices as a design choice for IoT

Features of Mainflux

Responsive and scalable architecture based on a set of microservices

Set of clean APIs: HTTP RESTful, MQTT, WebSocket and CoAP

Device management and provisioning and OTA FW updates Highly secured connections via TLS and DTLS Easy deployment and high system scalability via Docker

images

Page 20: Microservices as a design choice for IoT

Common Features

• Device Management and Provisioning

• Support for HTTP-REST, MQTT, Websockets

• Support for TLS/OAuth

• Direct support for UX integration or via Webhooks

• Support for stateless communication via proxy/shadow

Page 21: Microservices as a design choice for IoT

Smart City Architecture

• Paper by A. Krylovskiy et al

• Distinction between core middleware and smart city services

Page 22: Microservices as a design choice for IoT

Smart Metering

• Paper by T. Vresk, I. Čavrak

• 3 independent micro-services for:• Transfer

• Processing

• Transformation of data

Page 23: Microservices as a design choice for IoT

Conclusion

• Clear common aspects have emerged in modern cloud platforms

• Microservices architecture in research domain tends to be application specific but still shows some common features

• Still an active research topic and even platforms still under development

Page 24: Microservices as a design choice for IoT

References

• http://martinfowler.com/articles/microservices.html

• A. Krylovskiy et al., “Designing a Smart City Internet of Things Platform with Microservice Architecture”, International Conference on Future Internet of Things and Cloud 2015

• T. Vresk, I. Čavrak, “Architecture of an interoperable IoT platform based on microservices”, MIPRO 2016

• http://dev.lelylan.com/architecture

• https://azure.microsoft.com/en-us/updates/microsoft-azure-iot-reference-architecture-available/

• https://aws.amazon.com/iot-platform/faqs/