SAVI-IoT: A Self-managing Containerized IoT Platform
1. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
SAVI-IoT: A Self-Managing
Containerized IoT Platform
Hamzeh Khazaei, Hadi Bannazadeh and Alberto Leon-Garcia
Department of Electrical and Computer Engineering
2. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
2Agenda
Introduction
Objectives
Features
Architectural Views
Autonomic Management System
Experiment
Conclusion & Future Research
Demo
3. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
3Introduction
• Layered architectures to leverage for IoT application and
platforms
• Hypervisor based virtualization (HVV) is quite mature
• However, HVV is not flexible, portable, programmable and
lightweight enough
• Linux container Isolation (LCI) can bring the same revolutions
to IoT that HVV brought to cloud
• LCI allows us to instantiate, relocate, and optimize virtual IoT
capabilities
• SAVI-IoT is a platform for end-to-end management of IoT
applications that leverages both
4. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
4Objectives
• To enable the concept of Infrastructure as Code in the IoT context
• To empower IoT operations with the flexibility and elasticity of cloud
macro and micro services
• To offer distributed and decentralized computation paradigm
• To support systems where IoT-based and data intensive applications
may pose specific requirements for
• low latency
• restricted bandwidth
• data locality
• elasticity, scalability
• programmability
• security and privacy.
5. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
5Features
• SAVI-IoT is a fully programmable IoT platform
• It is cloud and application agnostic
• Combines SDI, SDN and SDT resulted in SDIoT platform
• It is location-aware in both macroservice and microservice layers
• Big data friendly; realtime and retrospective analysis; edge
processing
• Provides Autonomic Management System at runtime
• Supports template-based deployment and configuration
• Visualization & interactive monitoring
• Implemented purely in Python
6. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
6Layered View
7. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
7Component View and Service Orchestration
8. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
8Sample IoT Application Deployed by SAVI-IoT
9. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
9Autonomic Management System
Autonomic Manager:
– Scale out/in & up/down all services autonomously
– Scale out/in & up/down all layers accordingly
– Cascade scalability
– Workload management
– Service inspection
Interactive Monitoring:
– Interval based
– Event based
10. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
10
Smart Application on Virtual Infrastructure (SAVI) Cloud
1GE L2 Ethernet
https://portal.savitestbed.ca
https://www.savinetwork.ca
11. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
11Experiment – Auto-Scalability – Core Cloud
UniversityofToronto,Ontario
12. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
12Experiment – Auto-Scalability – Edge Clouds
Calgary, Alberta
McGill, Quebec
Waterloo, Ontario
13. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
13Conclusion & Future research
Future Research
– Smart Deployer for self-deployment and configuration
• Benchmarking of the underlayer infrastructure
• Tuning parameters by learning (RL)
• Proposing a design pattern for a smart deployers
Conclusion
– We presented SAVI-IoT platform that provides:
– End-to-End orchestration of IoT applications
• decomposing the application into micro/macro services
– Runtime management of highly distributed IoT applications
• Brings about elasticity, reliability, scalability and fault tolerance
– Fully programmable with location awareness
– Visualization & Interactive monitoring
14. The IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud17)August 22, 2017
hamzeh.khazaei@ieee.org
http://individual.utoronto.ca/hkh
SAVI-IoT: A Self-Managing Containerized
IoT Platform
Demo:
please download and play the file at:
https://goo.gl/ZXGX6d
Hinweis der Redaktion
Layered architectures are the right way to go for IoT application and platforms
However, HVV is not flexible, portable, programmable and lightweight enough for edge and aggregators, in particular.
LCI allows us to instantiate, relocate, and optimize virtual IoT capabilities in order to control in a more flexible and fine-grained fashion.
SAVI-IoT is a platform for end-to-end management of IoT applications by leveraging both virtualization techniques.
SAVI-IoT intends to enable the concept of Infrastructure as Code in the IoT context.
The idea is to empower IoT operations with the flexibility and elasticity of cloud macro and micro services.
It offers distributed and decentralized computation paradigm, as required by IoT technologies; bridging the gap between cloud computing and IoT things. (Fog, cloudlet and mobile edge)
SAVI-IoT platform is designed to support systems where IoT-based and data intensive applications may pose specific requirements for low latency, restricted bandwidth, data locality, elasticity, scalability, programmability, security and privacy.
Combines Software Defined Infrastructure (SDI), Software Defined Networking (SDN) and Software Defined Things (SDT) resulted in SDIoT platform
Dynamically delivers any services to any layer or location
Provides Autonomic Management System; elasticity, reliability, fault tolerance, scalability
Visualization & interactive monitoring of the platform and applications
This is the layered view comprising of the infrastructure, platform and applications that are contributing in realizing SAVI-IoT.
This picture shows the SAVI-IoT components and the services that are deployed on each of them.
In the bottom part we have sensors, i.e., the physical IoT plant.
-----------------------------------------------------------------
IoT Gateway: is the closest node to the physical sensors;
IoT Middleware: is responsible for managing underlayer sensors.
These nodes will be part of the application cluster (i.e., a Cluster Worker) that can be managed from a single point of management.
The Autonomic Manager component in this node is mainly monitoring agents to report the latest update of resource utilization at this layer.
IoT Control Services: are services that will be used to control sensors; applying commands receiving from upper layer on connected sensors.
Aggregator Microservices: these services are responsible for managing the sensor data at this layer.
-----------------------------------------------------------------
Edge-Clouds: is the closest cloud resources to the IoT plant.
Macroservices: includes all the services, VMs, networking, storage, etc, from the edge clouds.
The rest of components have the same functionality as in the IoT Gateways but in a higher level.
For example, Edge IoT Microservices deal with management of received data from all corresponding Gateways which is performing different data processing compared to Gateways.
-----------------------------------------------------------------
Core-Cloud: the core data center that theoretically has unlimited resources and might be far from the IoT plant.
Cluster-Master: is the master node of the IoT application cluster that will be deployed in the core cloud.
Autonomic Manager: here all monitored data will be analyzed and then appropriate plans will be created to be executed across all layers.
Current plans are mainly concerned with scaling services by providing them more/less resources according to the status of the application and/or the workload.
Core IoT Microservices: here we deploy services that need to consume the whole IoT data or are supposed to have a global view of the whole IoT application.
This diagram shows the sample IoT application that has been deployed and managed by SAVI-IoT.
We leveraged virtual sensors that act as probes by sending the cpu, memory and network metrics obtained from their corresponding hosts.
Kafka is the service deployed on IoT gateways. Spark as the edge cloud service. On core, we have Cassandra datastore, global Spark and visualization services.
For this application we designed and deployed an autonomic management system to scale and monitor application continuously.
SAVI is an OpenStack based academic multi-tire cloud computing center deployed in Canada. The SAVI-IoT platform inherits it’s name from SAVI cloud.
SAVI has it’s core at the University of Toronto and seven edges at 7 universities across Canada.
This figures show the auto-scalability feature of the SAVI IoT. The two top pictures show that services scale out and in according to the workload.
The bottom picture shows the provisioning time for VMs and containers for different services.
This pictures show the auto-scalability in Edge clouds located at Calgary, McGill and Waterloo. As can be seen both micro and macro services have been scaled out/in according to the workload.