Sei sulla pagina 1di 12

DIRE DAWA UNIVERSITY

INSTITUTE OF TECHNOLOGY

SCHOOL OF COMPUTING

DEPARTMENT OF COMPUTER SCIENCE


Post Graduate Program (MSc) in Computer science
Proposal on Serverless Computing for Internet of Thing

Course title: Research Methodology in computer science


Course code: COSC 608

Name:Asnak Yihunie
ID: SGS/0035/12
Email: asnakyihunie@gmail.com

Submitted to: - Dr Kula Kekeba (PhD)

Email: kuulaa@gmail.com

Submission Date: Oct, 10, 2020


Dire Dawa, Ethiop
Abstract
IoT devices are attributed to very limited computation and storage capacity. To get over this
limitation, serverless Computing has been the most favored platform for processing IoT data,
which provides on-demand and scalable resources for computing and storage. The sensor data
are transported to the Cloud data center, where they are processed, and the outcome is sent to
the subscribed applications.

Serverless computing is a cloud computing model for ephemeral, stateless and event-driven
applications that scale up and down instantly. In contrast to the infinite resources of cloud
computing, the Internet of Things is the network of resource-constrained, heterogeneous and
intelligent devices that generate a significant amount of data. Due to the resource-constrained
nature of IoT devices, cloud resources are used to process data generated by IoT devices. This
paper describe how to process distributed serverless data in the context of IOT network, how to
implement and establishes the need for serverless Computing for processing IoT data. We will
be able to gain a fair comprehension of the various aspects of serverless Computing. The
benefits, and applications of serverless Computing with respect to IoT have been mentioned
elaborately. An architecture for IoT data processing is presented. A thorough comparison
between Cloud and serverless has been portrayed. Also, detailed discussion has been depicted
on how the IoT, serverless, and Cloud interact among them and how develop machine learning
application on IOT.

Key word: - serverless computing, IOT, Nuclio, cloud computing, sensor device
Contents
Abstract.......................................................................................................................................................ii
1. Introduction.............................................................................................................................................1
1.1 Back ground.......................................................................................................................................2
1.1.1. Internet of thing.........................................................................................................................2
1.1.2 Cloud computing.........................................................................................................................2
1.1.3. Serverless computing.................................................................................................................2
1.2. Statement of the problem..................................................................................................................2
1.3. Goal and scope.................................................................................................................................3
1.4. Objective..........................................................................................................................................3
General objective.................................................................................................................................3
Specific objective.................................................................................................................................3
1.5. Application of serverless computing for IoT....................................................................................3
1.6. System architecture/ design..............................................................................................................4
Our proposed system architecture......................................................................................................4
2. Literature review.....................................................................................................................................5
3. Methodology...........................................................................................................................................6
3.1. Data collection and preparation........................................................................................................6
3.2. Experimental analysis.......................................................................................................................7
3.3. Training model.................................................................................................................................7
Reference....................................................................................................................................................8
1. Introduction

Internet of thing is an interconnected everything to everything that generate data from


one device to another device, it is a network of smart physical device [1] that transfers
data without human to human interaction. This physical device to send information using
sensors to a server. IOT can be customer IOT and industry IOT, customer IOT means a
reformation way of people life by saving time and money. Industry IoT is a machine to
machine communication technology in different business service sector [2] those
connected device exchange massive amount of data, IoT device is heterogeneous , in our
country Ethiopia have an opportunity in different sector like agriculture[3]IoT in
agriculture empowers the farmers with advanced and improved automation and decision-
making processes[4]. As number of connected devices is increase collecting, sharing and
managing data from these connected devices are challenged. Cloud computing is the
delivery of different services through the Internet, new technology in internet of thing and
machine learning [5] base technology in the use of IOT. IOT is limited scope and moves
to the cloud to fill the gap of these limited scope. The integration of cloud computing and
IoT storage, service, and applications are over the internet [1, 6]. Serverless computing is
a cloud-based model that enables users to create and run applications or processes
without direct contact with the underlying server. Developers to develop, run and manage
applications functionalities without the complexity of building and maintain the
infrastructure associated with developing and launching an application. It is a software
design pattern where applications are hosted by a third-party service. It eliminates the
need for server software and hardware management by the developer .Machine learning
algorithm is very strong contributor to the rapid adaption of processing large volume data
emerging from IoT devices for generating patterns of interest to analysts the data [4].
Serverless solutions accelerate and facilitate the development process by eliminating
tedious server orchestration tasks and allowing developers to concentrate their
efforts on the development logic.  Developers can embedded flexible computation
within their data flow without worrying about the server infrastructure provisioning
and DevOps considerations. Serverless computing has use machine learning algorithm
for data analytic in internet of thing.

1.1 Back ground

1.1.1. Internet of thing

IOT is a system of interconnected digital device, people, and object to transfer data over a
network. IOT can also use AI and Machine learning for collecting and processing data for
example can use in agriculture, sensor device can collect data on rainfall, temperature, soil
content and humidity. However number of interconnected device increase information shared
between these devices is increase and collecting and managing data is challenging IoT come to
clod computing technology.

1.1.2 Cloud computing

Cloud computing is a model for shared resource software and information on demand network
access network, server, service, storage and application .it is combination of both software and
hardware based computing resource delivered as a network service .data processing and storage
as paralleled by the mainframe.it is virtually assemble offsite technology, pay per use, workload
massive scale and on demand self-service. Cloud computing service can be IsaS, PaaS ,SaaS

1.1.3. Serverless computing  

Serverless computing is the latest cloud computing model specifically built for ephemeral,
stateless and event-driven applications. The Serverless computing model is based on on-demand
horizontal scaling approach as hosted applications are required to scale up and down instantly. It
also assimilates the "pay as you go approach" of cloud computing since users are billed for the
actual usage at a millisecond granularity.

1.2. Statement of the problem


When IOT comes with cloud computing technology there lack of trust between service providers
and physical location of data.in cloud computing and IoT integration the major challenge are
security and privacy [6] in serverless computing data processing is offloaded from the user
device by means of AWS lambda function [1,4]there is a limitation in lambda function;-
High latency- unsuitable for real-time applications that require consistent and millisecond-level
response times.

Limited to trigger and event source - specific to the cloud provider.

Maximum execution time or Data size restriction: - Unsuitable for long-running tasks or
heavy data processing .while Nuclio is an open source serverless platform that is built on top of
Kubernetes and comes in both managed platform-as-a-service (PaaS) and self-hosted flavors
don’t use any container orchestration.it is standalone frame work.

1.3. Goal and scope


The main goal of this work is addresses the problem and aims at developing solution that
employs serverless computing in the context of IOT network and design solution architecture
considering a heterogonous IOT network. High availability of the architecture , Easy of
deployment Support for heterogeneity Fault-tolerant architecture

1.4. Objective

General objective

The main objective of this paper is to develop serverless platform in the context of internet of
thing

Specific objective

 Discuses characteristics of IOT


 Compare and contrast serverless platform architecture.
 Evaluate serverless computing using machine learning algorithm and

Answer the question how to build serverless architecture in the context of IOT, what are the use
of machine learning algorithm for internet of thing data, how to decide which machine learning
algorithm is used?

1.5. Application of serverless computing for IoT


Serverless computing use many application of IoT i.e. agriculture, transportation, heath data
management and smart building. For example IOT in smart agriculture are:-
Sensor-based systems for monitoring crops, soil, fields, livestock, storage facilities, or basically
any important factor that influences the production of Smart agriculture vehicles, drones,
autonomous robots and actuators.

Connected agriculture spaces such as smart greenhouses or hydroponics.

Data analytics, visualization and management systems.


1.6. System architecture/ design
Serverless computing architecture
Serverless architectures are application designs that incorporate third-party “Backend as
a Service” (BaaS) services, that include custom code run in managed, ephemeral
containers on a “Functions as a Service” (FaaS) platform.

Figure 1. Nuclio architecture

Our proposed system architecture

Figure 2.shows the proposed architecture of nuclio for internet of thing.

 IOT sensor/MQTT: - open internet protocol used to exchange message between client
and server
 MQTT topic –used to filter message each client
Nuclio focuses on portability and reusability of:-

 Works in low-power devices, Docker, Kubernetes, or inside an IDE using Nuclio SDK


 Events/data sources map to functions or versions/tags at deployment time.
 Logs and statistics can be sent to multiple destination types, or to the IDE screen.
 Function images are stored in a shared repository and pushed to multiple clusters/devices

Figure 2 serverless architecture for IoT

 Web App /AMQP over web socket:-provide persistent connection between client and
server used to start sending data at any time by both client and server, client send http
request to server.
 Storage: - an object storage service that are used to store object data.

2. Literature review

Many previous work on serverless computing for Internet of thing have notice that there
were several effort. Serverless platform can be stretched on cluster of IoT device using
software container like Docker container, Docker file, container orchestration and multi-
layer architecture [1]data processing is offloaded to user device by means of AWS
lambda [1],[7]. Show [8] list application of serverless computing and its characteristics
and definition of serverless platform address some challenges. IOT data coming from
many different sensors need to be available in near real-time [13].It is heterogeneous,
multi-dimensional, dynamic and inconsistent continues with high velocity, Real-time and
new streaming. IoT data is generated by IoT devices such as sensors, actuators, video
cameras, connected cars, and others [12+] IoT data is unbounded in most cases (i.e. The
devices never stop sending data). Serverless computing applied on machine learning
application, describe challenges and limitation of machine learning model and show
performance evaluation of AWS, Google, IBM and Microsoft to develop neural network
for training. [8] Show benefits of training model. Neural network inferencing use AWS
lambda platform and Amazon MXNet deep learning framework, there is model size
affect the inferencing performance [9].
Demonstrate the difference between traditional virtual machine and serverless computing
cost efficiency and resource utilization for the elasticity of distributed and parallel data
processing using experiment four serverless computing environment in production,
those are CPU performance, network bandwidth, file I/O throughput and cost effectives
across Amazon Lambda, Azure function, google function and IBM open whisk [10].
Most of related work use AWS lambda platform for data processing and experimental
analysis AWS lambda.

3. Methodology
3.1. Data collection and preparation.

Collect, insert and consume data on an ongoing basis. Nuclio offers built-in function
templates for collecting data from common sources, such as Apache Kafka® streams or
databases, including examples of data enrichment and data pipeline processing. Nuclio is
the most diverse when come to function trigger and message que integration .and it can
support five different message que system Kafka, NATS, kinesis Rabbit MQ and MQTT.
Nuclio is also an integral part of the new open-source ML run library open-
source Kubeflow Pipelines framework for building and deploying portable, scalable
ML workflows.
3.2. Experimental analysis

Conduct excrement on Nuclio and AWS lambda infrastructure and compare the running cost and
infrastructure maintenance.

AWS lambda Use of idle CPU cycles when a function is waiting on IO. Since most functions are
IO-heavy, it requires more scaling, to handle concurrent requests, you need concurrent
executions, and this makes it nearly impossible to achieve predictable performance.

Nuclio is allows running work load on GPU in machine learning model.it scale up as well as out.
A function processor (analogous to a container) can host multiple function workers. Each worker
is then able to process one message at a time. This system supports concurrency within the same
processor, and then auto scales the number of replicas of the processor based on load.

3.3. Training model

Machine learning application can receive data from heterogeneous IOT devices.

Any deep learning frame work like tensor flow can users to develop and train their model

Reinforcement learning is the training of machine learning models to make a sequence


of decisions.
Reference
1. anoj Kumar. serverless computing for internet of thing:artu 2018: UNIVERSITY OF
TARTU(unpublished0)https://comserv.cs.ut.ee/home/files/Kumar_Computer_Science_201
8.pdf

2. M. M. Alsulami and N. Akkari, "The role of 5G wireless networks in the internet-of- things
(IoT)," 2018 1st International Conference on Computer Applications & Information
Security (ICCAIS), Riyadh, 2018, pp. 1-8, doi: 10.1109/CAIS.2018.8471687.
https://ieeexplore.ieee.org /iel7/8410645/8441936/08471687.pdf
3. Tesfa Tegegne(, Hailu Beshada Balcha. and Mebiratu Beyene:” internet of Things
Technology for Agriculture in Ethiopia: A Review “Bahir Dar University, Bahir Dar,
Ethiopia , Sep 27, 2020 https://www.researchgate.net/publication/334861637
4. Erwin Adi1 • Adnan Anwar2 • Zubair Baig2 • Sherali Zeadally,” Machine learning and
data analytics for the IoT”20, March 2020 https://link.springer.com/article/
5. Helsinki,” Serverless Computing on Constrained Edge Devices”, UNIVERSITY OF
HELSINKI,Department of Computer Science april 14,2020
http://scholar.google.com/scholar?
6. Christos Stergiou, Kostas E Psannis, Byung-Gyu Kim, Brij Gupta.”   Secure integration
of IOT and cloud computing”- Future Generation Computer Systems, 2018, volume 78
Pages 964-975 https://www.sciencedirect.com/science/article/pii/
7. Claudio Cicconetti∗, Marco Conti, Andrea Passarella,” Uncoordinated access to
serverless computing in MEC systems for IoT” IIT, National Research Council, Pisa, Italy
Volume 172, 8 May 2020, 107184,https://www.sciencedirect.com/science/article/pii/
8. L. Feng, P. Kudva, D. Da Silva and J. Hu, "Exploring Serverless Computing for Neural
Network Training," 2018 IEEE 11th International Conference on Cloud Computing
(CLOUD), San Francisco, CA, 2018, pp. 334-341, doi:10.1109/CLOUD.2018.00049.
https://ieeexplore.ieee.org
9. V. Ishakian, V. Muthusamy and A. Slominski, "Serving Deep Learning Models in a
Serverless Platform," 2018 IEEE International Conference on Cloud Engineering (IC2E),
Orlando, FL, 2018, pp. 257-262, doi: 10.1109/IC2E.2018.00052.
https://ieeexplore.ieee.org
10. H. Lee, K. Satyam and G. Fox, "Evaluation of Production Serverless Computing
Environments," 2018 IEEE 11th International Conference on Cloud Computing
(CLOUD), San Francisco, CA, 2018, pp. 442-450, doi: 10.1109/CLOUD.2018.00062.
https://ieeexplore.ieee.org/
11. T.Pfandzelter and D.Bermbach,”IOT Data Processing in the Fog:Functions,Streams,or
BatchProcessing?”2019IEEEInternationalConference on Fog Computing (ICFC)
,prague,CzechRepublic,2029,pp,201 06,d0i:10.1109/ICFC.2019.00033
https://ieeexplore.ieee.org/ bstract/document/8822056/
12. https://it.toolbox.com/blogs/carmashoemaker/iot-data-how-to-collect-process-and-
analyze-them-032619
13. Cosmina Ivan .Serverless Computing: An Investigation of Deployment Environments for
Web APIs ,Department of Computer Science, Technical University of Cluj-Napoca,
400027 Cluj-Napoca, Romania,25 June 2019
14. G. McGrath and P. R. Brenner, "Serverless Computing: Design, Implementation, and
Performance," 2017 IEEE 37th International Conference on Distributed Computing
Systems Workshops (ICDCSW), Atlanta, GA, 2017, pp. 405-410, doi:
10.1109/ICDCSW.2017.36. https://ieeexplore.ieee.org/ document/7979855
15. M. Wu, Z. Mi and Y. Xia, "A Survey on Serverless Computing and Its Implications for
JointCloud Computing," 2020 IEEE International Conference on Joint Cloud Computing,
Oxford, United Kingdom, 2020, pp. 94-101, doi: 10.1109/JCC49151.2020.00023.
https://ieeexplore.ieee.org /document/9183650/
16. A. Christidis, R. Davies and S. Moschoyiannis, "Serving Machine Learning Workloads in
Resource Constrained Environments: a Serverless Deployment Example," 2019 IEEE
12th Conference on Service-Oriented Computing and Applications (SOCA), Kaohsiung,
Taiwan, 2019,pp.55-63,doi:10.1109/SOCA.2019.00016.https://ieeexplore.ieee.org/
document/8953024/

Potrebbero piacerti anche