1 of 33

CLOUD PLATFORMS FOR IOT

2 of 33

Software Defined Networking

A network in which the control plane is physically separate from the data plane

and

Cloud Platforms for IOT by Parag Achaliya

2

Data Plane

Control Plane

Switching

Fabric

Processor

Line Card

Line Card

Line Card

Line Card

Line Card

Line Card

3 of 33

Software Defined Networking

A single (logically centralized) control plane controls several forwarding devices

Cloud Platforms for IOT by Parag Achaliya

3

Packet

Forwarding

Packet

Forwarding

Packet

Forwarding

Packet

Forwarding

Packet

Forwarding

Control

Control

Control

Control

Control

Global Network Map

Control Plane

Control

Program

Control

Program

Control

Program

4 of 33

The Networking “Planes”

  • Data plane: processing and delivery of packets with local forwarding state
    • Forwarding state + packet header 🡪 forwarding decision
    • Filtering, buffering, scheduling
  • Control plane: computing the forwarding state in routers
    • Determines how and where packets are forwarded
    • Routing, traffic engineering, failure detection/recovery, …
  • Management plane: configuring and tuning the network
    • Traffic engineering, ACL config, device provisioning, …

Cloud Platforms for IOT by Parag Achaliya

4

5 of 33

Software Defined Networking

  • The goal of SDN is to improve network control by enabling enterprises and service providers to respond quickly to changing business requirements
  • In SDN, network engineer or administrator can shape traffic from centralized control console without having to touch individual switches in the network
  • A centralized SDN controller directs the switches to deliver network services wherever they're needed, regardless of the specific connections between a server and devices.

Cloud Platforms for IOT by Parag Achaliya

5

6 of 33

SDN Architecture

Cloud Platforms for IOT by Parag Achaliya

6

  • SDN architecture is comprises of three layers:
    • Application Layer - contains typical network applications or functions organizations use. This can include intrusion detection systems, load balancing or firewalls
    • Control Layer - represents the centralized SDN controller software that acts as the brain of SDN. This controller resides on a server and manages policies and traffic flows throughout the network
    • Infrastructure Layer - made up of physical switches in the network. These switches forward the network traffic to their destinations.

7 of 33

How SDN Works?

  • SDN involves several types of technologies, including functional separation, network virtualization and automation through programmability
  • Originally, SDN technology focused solely on the separation of the network control plane from the data plane
  • While the control plane makes decisions about how packets should flow through the network, the data plane moves packets from place to place
  • In a classic SDN scenario, a packet arrives at a network switch
  • Rules built into the switch's proprietary firmware tell the switch where to forward the packet

Cloud Platforms for IOT by Parag Achaliya

7

8 of 33

How SDN Works?

  • These packet-handling rules are sent to the switch from centralized controller
  • Switch, also known as a data plane device, queries controller for guidance as needed and provides the information about the traffic it handles to controller
  • The switch sends every packet going to the same destination along the same path and treats all the packets the same way
  • Software-defined networking uses an operation mode that is sometimes called adaptive or dynamic

Cloud Platforms for IOT by Parag Achaliya

8

9 of 33

Cloud Platforms for IOT by Parag Achaliya

9

Benefits

Simplified Policy Changes

Network Management and Visibility

Reduced Hardware

Networking Innovations

Challenges

Security

Unclear Definition

Market Confusion

Slow Adoption and Costs

SDN Use Cases

DevOps

Campus Networks

Service Provider Networks

Data Center Security

10 of 33

Introduction to Cloud Storage Models

  • Cloud computing is a transformative computing paradigm that involves delivering applications and services over the Internet
  • Popular cloud storage models are,
    • Web Application Messaging Protocol (WAMP),
    • Xively’s Platform-as-a-Service (PaaS) which provides tools and services for developing IoT solutions
    • Amazon Web Services (AWS) and their applications for IoT.

Cloud Platforms for IOT by Parag Achaliya

10

11 of 33

Communication API

  • Cloud Models are relied on Communication API
  • Communication API facilitate data transfer, control information transfer from application to cloud, one service to another
  • It also exist in the form of Communication Protocols
  • It supports RPC, PUBSUB and WAMP
  • Eg. Popular API is RESTful API (communication in cloud model)
  • Django web framework is used to implement Communication API

Cloud Platforms for IOT by Parag Achaliya

11

12 of 33

WAMP-AutoBahn for IoT

  • Web Application Messaging Protocol
  • Sub-protocol of Web socket which provides PubSub & RPC messaging pattern
  • Transport: Channel that connects two peers
  • Session: Conversation between two peers that runs over a transport
  • Client: Peers that can have one or more roles

Cloud Platforms for IOT by Parag Achaliya

12

13 of 33

WAMP-AutoBahn for IoT

  • In publish-subscribe model, client can be:
    • Publisher: Publisher publishes events to the topic maintained by the Broker
    • Subscriber: Subscriber subscribes to the topics and receives the events including payload
  • In RPC model, client can be:
    • Caller: Issues calls to the remote procedures along with call arguments
    • Callee: Executes the procedures to which the calls are issued by the caller and returns the results back to the caller.

Cloud Platforms for IOT by Parag Achaliya

13

14 of 33

WAMP-AutoBahn for IoT

  • Router: Routers are peers that perform generic call and event routing
  • In publish-subscribe model, Router has role of Broker,
  • Routes messages published to topic to all subscribers subscribed to the topic
  • In RPC model Router has the role of a Broker:
    • Dealer: acts as router, routes RPC calls from Caller to Callee & routes results from Callee to Caller
  • Application Code: Application code runs on the Clients (Publisher, Subscriber, Callee or Caller)

Cloud Platforms for IOT by Parag Achaliya

14

15 of 33

Xively Cloud for IoT

  • Commercial Platform as a Service for the Internet of Things
  • Supports hundreds of platforms, millions of gateways and the billions of smart devices
  • Comprehensive and secure infrastructure services
  • Online development tools and dev center

Cloud Platforms for IOT by Parag Achaliya

15

16 of 33

Xively Cloud for IoT

  • Xively is an IoTCloud Platform
  • It is an enterprise platform for building, managing, and deriving business value from connected products.
  • It also provides the cloud base API with an SDK
  • It supports platforms and technologies like Android, Arduino, C etc.
  • Xively is a Platform as a Service which exposes its service via RESTful API
  • It supports messaging service based on MQTT

Cloud Platforms for IOT by Parag Achaliya

16

17 of 33

Python Web Application Framework - Django

  • Django is an Open source web application framework for developing web applications in Python
  • A web application framework is a collection of solutions, packages and best practices that allows development of web applications and dynamic websites
  • Django is based on Model-Template-View architecture and provides separation of data model from business rules and user interface
  • It provides unified API to a database backend
  • Thus web applications built with Django can work with different databases without requiring any code changes

Cloud Platforms for IOT by Parag Achaliya

17

18 of 33

Python Web Application Framework - Django

  • With this flexibility in web application design combined with the powerful capabilities of the Python language and the Python ecosystem, Django is best suited for cloud applications
  • Django consists of an object-relational mapper, a web templating system and a regular-expression based URL dispatcher.

Cloud Platforms for IOT by Parag Achaliya

18

19 of 33

Django Architecture

Cloud Platforms for IOT by Parag Achaliya

19

Model

    • Acts as definition of stored data and handles interactions with database
    • In a web application, data can be stored in a relational database, non-relational database, an XML file, etc.
    • Django model is Python class that outlines variables and methods for particular type of data

Template

    • In a typical Django web application, the template is simply an HTML page with a few extra placeholders
    • Django’s template language can be used to create various forms of text files (XML, email, CSS, JavaScript, CSV, etc.)

View

    • The view ties the model to the template
    • The view is where you write the code that actually generates the web pages

20 of 33

Cloud Platforms for IOT by Parag Achaliya

20

EC2

Auto Scaling

S3

RDS

DynamoDB

Kinesis

SQS

EMR

Amazon Web Services (AWS) for IoT

21 of 33

Amazon EC2

  • An IaaS provided by Amazon
  • EC2 delivers scalable, pay-as-you-go compute capacity in the cloud
  • Web service that provides computing capacity in the form of virtual machine
  • EC2 can be used for several purposes for IOT systems
  • For example, IOT developers can deploy IOT applications on EC2, setup IOT platforms with REST web services, etc.

Cloud Platforms for IOT by Parag Achaliya

21

22 of 33

Amazon AutoScaling

  • Allows automatically scaling EC2 capacity up or down according to the user defined condition
  • Users can increase number of EC2 instances
  • AutoScaling can be used for auto scaling IOT applications and IOT platforms deployed as Amazon EC2.

Cloud Platforms for IOT by Parag Achaliya

22

23 of 33

Amazon S3

  • Online cloud based data storage infrastructure for storing and retrieving large amount of data
  • Offers reliable, scalable, fast, fully redundant and affordable storage infrastructure
  • Serve as raw datastore for IOT systems for storing raw data such as sensor data, log data, image, audio, video, etc.

Cloud Platforms for IOT by Parag Achaliya

23

24 of 33

Amazon RDS

  • Web service that allows to create instances of MySQL, Oracle or MS SQL Server in cloud
  • Developers can easily set up, operate and scale a relational database in cloud
  • Serve as a scalable datastore for IOT systems
  • With RDS, IOT system developers can store any amount of data in scalable relational databases

Cloud Platforms for IOT by Parag Achaliya

24

25 of 33

Amazon DynamoDB

  • Fully-managed, scalable, high performance No-SQL database service
  • Serve as scalable datastore for IOT systems
  • With DynamoDB, IOT system developers can store any amount of data and serve any level of requests for the data.

Cloud Platforms for IOT by Parag Achaliya

25

26 of 33

Amazon Kinesis

  • Fully managed commercial service that allows real-time processing of streaming data
  • It scales automatically to handle high volume streaming data coming from large number of sources
  • The streaming data collected by kinesis can be processed by applications running on Amazon EC2 instances
  • Kinesis is well suited for IoT systems that generate massive skill data and have strict real-time requirements for processing the data.

Cloud Platforms for IOT by Parag Achaliya

26

27 of 33

Amazon SQS

  • Amazon SQS offers highly scalable and reliable hosted queue for storing messages as they travel between distinct components of applications
  • SQS guarantees only that messages arrive, not that they arrive in the same order in which they were put in the queue
  • SQS can be used in distributed IOT applications in which various application components need to exchange messages

Cloud Platforms for IOT by Parag Achaliya

27

28 of 33

Amazon EMR

  • Amazon EMR is a web service that utilizes Hadoop Framework running on Amazon EC2 and Amazon S3
  • EMR are allowed processing of massive scale data hence suitable for IOT applications that generate large volume of data that needs to be analyzed
  • Data processing jobs are formulated with the MapReduce parallel data processing model.

Cloud Platforms for IOT by Parag Achaliya

28

29 of 33

Sky Net IoT Messaging Platform

  • Open source instant messaging platform
  • Sky Net API supports both HTTP REST and real-time WebSockets
  • Sky Net allows you to register devices (or nodes) on the network
  • A device can be anything including sensors, smart home devices, cloud resources, drones
  • Each device has an UUID & secret token
  • Devices or client applications can subscribe to other devices and receive/send messages.

Cloud Platforms for IOT by Parag Achaliya

29

30 of 33

gRPC

  • Modern, open source remote procedure call (RPC) framework that can run anywhere
  • Initially developed by Google
  • Remote Procedure Calls are something that we use in distributed systems
  • Based on a client-server model of remote procedure calls
  • Client application can directly call methods on a server application as if it was a local object.

Cloud Platforms for IOT by Parag Achaliya

30

31 of 33

SOAP

  • Simple Object Access Protocol
  • XML-based messaging protocol for exchanging information among computers
  • An application of the XML specification
  • Communication protocol designed to communicate via Internet
  • Can extend HTTP for XML messaging
  • Provides data transport for Web services
  • Can be used for broadcasting a message.

Cloud Platforms for IOT by Parag Achaliya

31

32 of 33

SOAP

  • Platform and language independent
  • XML way of defining what information is sent and how
  • Enables client applications to easily connect to remote services and invoke remote methods
  • Remote procedure calls transported via HTTP
  • Other frameworks including CORBA, DCOM, and Java RMI provide similar functionality to SOAP but SOAP messages are written entirely in XML and are therefore uniquely platform- and language-independent.

Cloud Platforms for IOT by Parag Achaliya

32

33 of 33

Thank

You!!!