Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INSTITUTE OF TECHNOLOGY
SCHOOL OF COMPUTING
Name:Asnak Yihunie
ID: SGS/0035/12
Email: asnakyihunie@gmail.com
Email: kuulaa@gmail.com
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
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.
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
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.
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.4. Objective
General objective
The main objective of this paper is to develop serverless platform in the context of internet of
thing
Specific objective
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?
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:-
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.
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
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/