Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
OPENNEBULA TECHDAY KUALA LUMPUR
MALAYSIA
17 FEB 2016
Bukhary Ikhwan Ismail
Researcher
Advanced Computing Lab
Application Delivery Platform
Towards Edge Computing
Content
1. Motivation
2. What is Edge Computing?
3. Application Use cases
4. Supporting Technology
5. Demo
Motivation
• Current Trends
1. Explosive amount of data at the Edge
• video, audio, smart devices, sensors or IoT
2. End users demands
• better performance
• user experience
• Real time analysis
• We need a way to process data at its source to produce
– fast results
– real time analytics
– for better decision making.
What is Edge Computing?
• Pushes – application and data away from centralized nodes closer to the “things” (devices, users, data).
• Characteristics of the Infra
– Geo-distributed
– Ideally – “One hop Away”
– Generic platform - virtualization
• Benefits
– Less data transfer - remove bottlenecks
– Improves user QoS
– Opportunity to improve OR create new app - Leverage resources that is closer to“things”.
Edge Computing Topology
This environment is characterized
by:
 Proximity
 low latency
 High bandwidth
 Location awareness
DCThing
Own by Telco
Base station
Own by entities
Malls, schools, clinics
Voluntary Computing
Laptops, desktops, smartphones
ETSI – European Telecommunication Standards Institute
Performance :
Is there a low latency requirement?
E.g. gaming, safety
Data preprocessing opportunities:
Does it make sense to compress or transmit
selected data before transferring?
e.g. Video Surveillance, traffic monitoring
Distributed application:
Does processing at the edge is more
attractive?
E.g. smart city, monitoring, IoT?
Process locally:
Is it better to process data at the edge
vs. sending huge data to DC?
e.g. Big Data, data cleansing
“Edge computing helps ensure that the right processing takes place at the
right time and location” – CISCO
Attaining IoT Value: How To Move from Connecting Things to Capturing Insights Gain an Edge by Taking Analytics to the Edge. Andy Noronha Robert Moriarty Kathy O’Connell Nicola Villa. Cisco 2015
Application suitable at the Edge
Any suitable technology for Application Delivery?
• Light Weight Container Technology for application
• Open platform for developers and sysadmins to build, ship and run distributed app.
• Common use case
– Continuous Integration
– Continuous Delivery – build, deploy, test, release
– Infrastructure Optimization – hypervisor to container infra.
Docker
Docker as a Container System for code..
Docker Benefits
• Build better software
– SoC – Developer vs. sysAdmin.
– Accelerate Development
• Eliminate env inconsistencies
• run anywhere
• Raspberry Pi supported
Why Docker for Edge Computing?
• Docker Engine meets our needs for application delivery
– Application Provisioning
• Simplifies distribution, installation & execution of app.
– Remote management
• Easy to update
• Pre-configured = easy to manage
– Can run on small devices
• Lightweight & Small footprint
DEMO
12
Why Docker is suitable for Edge Computing
Demo context
13
Data Center
Site 1
Site 2 Site 3
Site 4
Video surveillanceRemote app for users
Our Demo Context
1. Discovery - Discover new devices and join the
platform
2. Application Deployment
3. Offloading example
Smart cities IoT
Demo 1: Discovery
New host
Form mesh network
Configure host
Join resource
Platform
DC-master
EDGE-node01 EDGE-node02
EDGE-node03
Demo 2: Deployment Simulation at School
EDGE at Remote School
Scenario 1:- Normal Setup
Scenario 2:- Scaling
EDGE-node01 EDGE-node02
LB
• Deploy Load Balancer
• Deploy 2 LMS
• Reconfigure load balancer
• Deploy additional LMS
DC-Mgmt
• LMS in VM requires 3GB (minimum). +/- 7 Minutes to be ready.
• App in a container would be up in seconds
2 containers 4 containers 8 containers 16 containers
0.29
0.51
0.97
2.60
SECONDS
SCALING CONTAINERS
Deployment Discussion – Fast Start Time
• Two contributing factors that makes it fast
VM
LMS 84 MB
APACHE/PHP 211 MB
Centos VM
Image
2355 MB
LMS 84 MB
211MBAPACHE/PHP
181MB
Container
Centos minimal
library
1st Factor: Image size
13X smaller
Deployment Discussion – Why is it fast?
Image
App 1
Ver. 1 (1MB)
Ver. 2 (3.4MB)
Ver. 3 (1.4MB)
App 2 (24MB)
App 3 (20MB)
Tomcat (50MB)
JDK (240MB)
APACHE/PHP
Centos
Benefits
- Small changes to image.
- Transfer only deltas (making transferring app faster)
- lower storage usage.
Deployment Discussion – Why it is fast?
• Two contributing factors that makes it fast
1st Factor: Image size: Layering
Image Transfer (3GB) VM Boot LMS
4 ~ 6 min 70 sec 2 sec
7 MinutesVM
Image
Transfer
LMS
20 sec 0.294 sec
Container 20.294 sec
0.294 sec
Cached Container 0.294 secLMS
2nd Factor: start sequence
Benefits
1. EC – Generic platform - change app fast.
1. H. M. Patel, Y. Hu, P. Hédé, I. B. M. J. Joubert, C. Thornton, B. Naughton, I. Julian, R. Ramos, C. Chan, V. Young, S. J. Tan, and D. Lynch, “Mobile-Edge Computing-– Introductory Technical White Paper,” Sophia
Antipolis, 2014.
Deployment Discussion – Why it is fast?
• Two contributing factors makes it fast
0
5000
Memory Storage
4750
2650
113 475
MB
VM Container
Benefits
1. Low footprint & lower resource consumption - edge consists of low end devices [2] .
1. European Telecommunications Standards Institute (ETSI), “Executive Briefing – Mobile Edge Computing ( MEC ) Initiative,” Sophia Antipolis, 2014
Reduce up
to 97.62%
in memory
Reduce up
to 82.08%
in storage
Deployment Discussion – Resource Foot Print
Sample Usecase: Mi-Morphe
• Mi-Morphe - data cleansing application
– ETL (Extract Transform & Load)
– Removes missing/undefined data
– Remove duplicate data
Process locally:
Is it better to run app OR process data at the edge instead of sending huge data to DC?
Method 1:- User upload data to Cloud
WAN
Cloud Datacenter
User Data
VM
Mi-morphe
Boot
VM
Upload 5GB Data
Process Data
Download 5GB Data
Clone
image
WAN
Cloud
Datacenter
Mi-Morphe
VM image
Hypervisor
Download VM
image
VM
Mi-Morphe
Process Data
User Data
Method 2:- Download VM to user site
Solution – Offload Mi-Morphe to Data Source
WAN
Container
Image
Mi-Morphe
edge03
Offload container
Image to the edge
resource
Container
Mi-Morphe
Start Database,
Apache
Tomcat, Carte
Server
Process Data
Host
cloud01
Host
cloud-registry
User Data
Customer end-point
e.g..
Laptop/Desktop/Server
• Method 1: User Upload data to cloud
• Method 2: Download VM to user site
• Solution: Offload Mi-Morphe engine to data source.
Clone 10GB Image
5 min
Boot
5 min
Upload 5G of Data
73 min
Mi-Morphe Process
50 min
Download 5GB of Data
73 min 3H 26 min
Boot
5 min
Mi-Morphe Process
3000 secs
Download 10GB of VM
140 min
3H 15 min
Download 1.3 GB
image
19 min
:Launch Container Mi-Morphe Process
50 min 1H 9 min
• Reduce bandwidth usage on WAN.
• Offload the applications to the edge. 1 hop away from compute resources.
Benefits:
Sample Usecase: Mi-Morphe
*19 min - but if the layers are cached, the time to download is
much more smaller.
Some of Docker Ecosystem
We may use some of it
Conclusion
• Docker is suitable for Edge Computing Application Delivery
– Docker as in Docker Engine
• Some of tools in Docker ecosystem
– might help
• The orchestration platform is unique toward Edge.
– Need to address those requirements.
Docker:- Application Delivery Platform Towards Edge Computing

More Related Content

Docker:- Application Delivery Platform Towards Edge Computing

  • 1. OPENNEBULA TECHDAY KUALA LUMPUR MALAYSIA 17 FEB 2016 Bukhary Ikhwan Ismail Researcher Advanced Computing Lab Application Delivery Platform Towards Edge Computing
  • 2. Content 1. Motivation 2. What is Edge Computing? 3. Application Use cases 4. Supporting Technology 5. Demo
  • 3. Motivation • Current Trends 1. Explosive amount of data at the Edge • video, audio, smart devices, sensors or IoT 2. End users demands • better performance • user experience • Real time analysis • We need a way to process data at its source to produce – fast results – real time analytics – for better decision making.
  • 4. What is Edge Computing? • Pushes – application and data away from centralized nodes closer to the “things” (devices, users, data). • Characteristics of the Infra – Geo-distributed – Ideally – “One hop Away” – Generic platform - virtualization • Benefits – Less data transfer - remove bottlenecks – Improves user QoS – Opportunity to improve OR create new app - Leverage resources that is closer to“things”.
  • 5. Edge Computing Topology This environment is characterized by:  Proximity  low latency  High bandwidth  Location awareness DCThing Own by Telco Base station Own by entities Malls, schools, clinics Voluntary Computing Laptops, desktops, smartphones ETSI – European Telecommunication Standards Institute
  • 6. Performance : Is there a low latency requirement? E.g. gaming, safety Data preprocessing opportunities: Does it make sense to compress or transmit selected data before transferring? e.g. Video Surveillance, traffic monitoring Distributed application: Does processing at the edge is more attractive? E.g. smart city, monitoring, IoT? Process locally: Is it better to process data at the edge vs. sending huge data to DC? e.g. Big Data, data cleansing “Edge computing helps ensure that the right processing takes place at the right time and location” – CISCO Attaining IoT Value: How To Move from Connecting Things to Capturing Insights Gain an Edge by Taking Analytics to the Edge. Andy Noronha Robert Moriarty Kathy O’Connell Nicola Villa. Cisco 2015 Application suitable at the Edge
  • 7. Any suitable technology for Application Delivery?
  • 8. • Light Weight Container Technology for application • Open platform for developers and sysadmins to build, ship and run distributed app. • Common use case – Continuous Integration – Continuous Delivery – build, deploy, test, release – Infrastructure Optimization – hypervisor to container infra. Docker
  • 9. Docker as a Container System for code..
  • 10. Docker Benefits • Build better software – SoC – Developer vs. sysAdmin. – Accelerate Development • Eliminate env inconsistencies • run anywhere • Raspberry Pi supported
  • 11. Why Docker for Edge Computing? • Docker Engine meets our needs for application delivery – Application Provisioning • Simplifies distribution, installation & execution of app. – Remote management • Easy to update • Pre-configured = easy to manage – Can run on small devices • Lightweight & Small footprint
  • 12. DEMO 12 Why Docker is suitable for Edge Computing
  • 13. Demo context 13 Data Center Site 1 Site 2 Site 3 Site 4 Video surveillanceRemote app for users Our Demo Context 1. Discovery - Discover new devices and join the platform 2. Application Deployment 3. Offloading example Smart cities IoT
  • 14. Demo 1: Discovery New host Form mesh network Configure host Join resource Platform DC-master EDGE-node01 EDGE-node02 EDGE-node03
  • 15. Demo 2: Deployment Simulation at School EDGE at Remote School Scenario 1:- Normal Setup Scenario 2:- Scaling EDGE-node01 EDGE-node02 LB • Deploy Load Balancer • Deploy 2 LMS • Reconfigure load balancer • Deploy additional LMS DC-Mgmt
  • 16. • LMS in VM requires 3GB (minimum). +/- 7 Minutes to be ready. • App in a container would be up in seconds 2 containers 4 containers 8 containers 16 containers 0.29 0.51 0.97 2.60 SECONDS SCALING CONTAINERS Deployment Discussion – Fast Start Time
  • 17. • Two contributing factors that makes it fast VM LMS 84 MB APACHE/PHP 211 MB Centos VM Image 2355 MB LMS 84 MB 211MBAPACHE/PHP 181MB Container Centos minimal library 1st Factor: Image size 13X smaller Deployment Discussion – Why is it fast?
  • 18. Image App 1 Ver. 1 (1MB) Ver. 2 (3.4MB) Ver. 3 (1.4MB) App 2 (24MB) App 3 (20MB) Tomcat (50MB) JDK (240MB) APACHE/PHP Centos Benefits - Small changes to image. - Transfer only deltas (making transferring app faster) - lower storage usage. Deployment Discussion – Why it is fast? • Two contributing factors that makes it fast 1st Factor: Image size: Layering
  • 19. Image Transfer (3GB) VM Boot LMS 4 ~ 6 min 70 sec 2 sec 7 MinutesVM Image Transfer LMS 20 sec 0.294 sec Container 20.294 sec 0.294 sec Cached Container 0.294 secLMS 2nd Factor: start sequence Benefits 1. EC – Generic platform - change app fast. 1. H. M. Patel, Y. Hu, P. Hédé, I. B. M. J. Joubert, C. Thornton, B. Naughton, I. Julian, R. Ramos, C. Chan, V. Young, S. J. Tan, and D. Lynch, “Mobile-Edge Computing-– Introductory Technical White Paper,” Sophia Antipolis, 2014. Deployment Discussion – Why it is fast? • Two contributing factors makes it fast
  • 20. 0 5000 Memory Storage 4750 2650 113 475 MB VM Container Benefits 1. Low footprint & lower resource consumption - edge consists of low end devices [2] . 1. European Telecommunications Standards Institute (ETSI), “Executive Briefing – Mobile Edge Computing ( MEC ) Initiative,” Sophia Antipolis, 2014 Reduce up to 97.62% in memory Reduce up to 82.08% in storage Deployment Discussion – Resource Foot Print
  • 21. Sample Usecase: Mi-Morphe • Mi-Morphe - data cleansing application – ETL (Extract Transform & Load) – Removes missing/undefined data – Remove duplicate data Process locally: Is it better to run app OR process data at the edge instead of sending huge data to DC?
  • 22. Method 1:- User upload data to Cloud WAN Cloud Datacenter User Data VM Mi-morphe Boot VM Upload 5GB Data Process Data Download 5GB Data Clone image
  • 24. Solution – Offload Mi-Morphe to Data Source WAN Container Image Mi-Morphe edge03 Offload container Image to the edge resource Container Mi-Morphe Start Database, Apache Tomcat, Carte Server Process Data Host cloud01 Host cloud-registry User Data Customer end-point e.g.. Laptop/Desktop/Server
  • 25. • Method 1: User Upload data to cloud • Method 2: Download VM to user site • Solution: Offload Mi-Morphe engine to data source. Clone 10GB Image 5 min Boot 5 min Upload 5G of Data 73 min Mi-Morphe Process 50 min Download 5GB of Data 73 min 3H 26 min Boot 5 min Mi-Morphe Process 3000 secs Download 10GB of VM 140 min 3H 15 min Download 1.3 GB image 19 min :Launch Container Mi-Morphe Process 50 min 1H 9 min • Reduce bandwidth usage on WAN. • Offload the applications to the edge. 1 hop away from compute resources. Benefits: Sample Usecase: Mi-Morphe *19 min - but if the layers are cached, the time to download is much more smaller.
  • 26. Some of Docker Ecosystem We may use some of it
  • 27. Conclusion • Docker is suitable for Edge Computing Application Delivery – Docker as in Docker Engine • Some of tools in Docker ecosystem – might help • The orchestration platform is unique toward Edge. – Need to address those requirements.

Editor's Notes

  1. We will start our presentation with the motivation towards EC Introduction about what is actually Edge computing Suitable EC Use cases Technology that may support EC Demo Conclusion
  2. Currently What is IoT - embedded with electronics, software, sensors, and network connectivity, which enables these objects to collect and exchange data.
  3. Deemphasizing - Centralized to decentralized - OR DC oriented to DISTRIBUTED. It provides Opportunity to Leverage resources for example compute, storage, network, sensors or actuators that is closer to user, devices, data. Other terms Mobile edge computing Virtual cloudlet Fog computing They have overlapping objectives, with slight different architecture. But still we can learn from it.
  4. ETSI – European Telecommunication Standards Institute
  5. Here we discuss some of the application requirements that is suitable for Edge computing. At the center is DC or Cloud The outer ring is the edge resource and all the devices such as sensors, or infrastructure that can communicate with the Edge Computing. From the application or user perspective – the latency will be lower from the extreme edge and higher when it reaches the DC. Edge can provide real time analytics while DC can provide heavy business inteligence. Lets take a look at some of the suitable application requirements Performance requirement, is there a low latency requirement that will impact where the workload should be process? For example gaming, safety or even web application. Process locally – is it better to run app or process data at the edge instead of sending huge amount of data back to DC? Data processing opportunities – if how ever you need to send huge data, does it make sense to process, compress or transmit selected data before transferring? For example, video surveillance, traffic monitoring? Distributed Application – You may one real-time analytics. Does processing at the edge is much more attractive? E.g. smart city, monitoring or even IoT A quote from CISCO which I think its true, “edge computing help ensure the right processing takes place at the right time and place”
  6. Accelerate development - trying to setup developer environments, spin up new instances and make copies of production code to run locally Eliminate Environment Inconsistencies - packaging up the application with its configs and dependencies together and shipping as a container, the application will always work as designed locally, on another machine, in test or production.  https://www.docker.com/use-cases
  7. Docker is a light Weight Container Technology for application It is an Open platform for developers and sysadmins to build, ship and run distributed app. Common use cases for Docker are Continuous Integration Continuous Delivery – build, deploy, test, release Infrastructure Optimization – hypervisor to container. . 
  8. IF you have, website, DB, web front end, queuing or analytic DB. Every one of those can be packaged into a container image. When everything is package, you can deploy multiple environment from Development VM Or QA server Even on Contributor’s laptop.
  9. Build better software SoC – Dev focus on development. Admin focus on deployment. Accelerate Development – same package/image run multiple places Eliminate env inconsistencies – Run anywhere. App work as designed locally, on another machine, in test or production.  Portability Can run on any Linux system that supports LXC (today). Raspberry Pi support Self sufficient Contains everything it needs to run – all the package, the configuration is embedded within the image itself. Can use Minimal base OS e.g. RancherOS (31MB), CoreOS which OS size is less than 50MB
  10. Use the same technology for different domain. Docker Engine meets our needs Application Provisioning Simplifies distribution, installation & execution of app. Highly portable. Hardware isolated. Remote management App easy to update & remove. Self-contained, pre-configured & Easy to manage Can run on small devices Lightweight & Small footprint
  11. The edge will have DC to Edge interaction. With multiple sites distributed. Whether it is App for users or businesses Smart cities IoT Video surveillance All will have a resources pool to serve the need of the Edge. After doing our evaluation on Docker, we think Docker is suitable for application delivery for Edge Computing. In the next slide we will demo on Discovery Deployment Offloading On each of the demo, we will discuss our observation results.
  12. NEW Remote prep and joining. Discovery of devices Self-Organization Ability to self-organize in Ad Hoc/Infrastructure setting to discover resources (services/content/users/devices) and Communicate. Talk before demo (Bottom left) Existing node started the discovery service (Top) Mi-FOKUS to show the nodes (Bottom right) New physical host start the discovery Existing host will discover the new node Existing host run a remote command to configure the new physical host to join the Mi-FOCUS Mi-FOCUS will see the new node in seconds
  13. Change to static web page. Value to demo Scenario 1 – Typical HA setup SCRIPT Deploy LB – show LB page Deploy 2 web server Show its up. Scenario 2- Rapid scaling & teardown SCRIPT As more user access We scale rapidly the web servers When not needed – we down size the web servers Value it shows *This scaling concept is achieve able in cloud – where on-demand, auto-scaling comes into the picture. But here, in Edge computing, we would like to have it even faster. As the devices at the edge might be smaller in size, and we wanted it to have space for a new application. *this shows the power of Docker to scale fast and at the same time deprovision fast. Good for edge computing. Where we can swap the applications and make for a new one. Add the step of demo Take about 1 minute Introduce the data center Talk before demo Sec 1 1 lb, 2 Mi-ESS (Bottom) LB (HA-Proxy), with configured two Mi-ESS (red) will attached the Mi-ESS later (top) container with two mi-ess (LB turn green) (New windows) – login to the Mi-ESS using the Load balancer Walk the demo with Bukh Sec 2 (bottom) Addition 6 Mi-ESS will configure in the LB (new still be red) (top) additional 6 Mi-ESS container deploy and start rapidly (LB turn green) Expect to be finished in seconds
  14. How we perform the test Container BOOTTIME is captured by Get the STARTIME to run the container When the container ID returns, we know it is up. READYTIME A script will keep continuously monitor port 80. once up, get the ENDTIME
  15. 1.Caveats on size 1.Developer must  adhered to the containerization technology to reap the benefit. 1.Store ONLY app on image. 2.Store DATA seperately from container. 3.Remove temporary files, caches, logs, etc before commit image into the repository. 2.Deployment 1.Create shared image layers i.e. generic OS layer, library layer, and app layer. Each layer can be shared by multiple images thus reduces the total of collective image size. 2.Caveats on start up time 1.Make the image size a small as possible to reduce image transfer time. 2.One application per container. Remove any unwanted application or service on the image during start time.
  16. Benefits Lower storage usage Docker leverages a copy-on-write filesystem - AUFS. We can build image based on existing image. This allows Docker to instantiate – fast No full copies of Docker can basically use “pointers” back to existing files. Transfer only deltas change a Docker image—for example, update an application to a new version— a new layer gets built. Not replacing the whole image, only that layer is added or updated. Transfer only delta’s making distributing Docker images faster and simpler. Remote site in Malaysia – got limited or slow connection
  17. 3. Caveats on Memory 1.*comparison of memory usage is based on application vs. per VM virtualization. 2.One application per container. Benefits Very low resource footprint More with less or with current infra Higher App density Almost bare metal performance Benefits Rapid deployment = rapid response to demand Higher availability due to lower Recovery Time Objective)RTO Edge Computing Provisioning Requirements Edge objectives are to improves user QoE or reduce total workload time [1]. Rapid deployment addresses the surge faster than VM based edge platform. Each edge device host multiple application. It not only require rapid deployment, but fast and clean teardown of service. Edge devices consists of low powered devices [2] low footprint & lower resource utilization is a must. Edge should deliver 99.999% Availability [3] fast start sequence contributes to a lower RTO and Higher Availability http://docs.jelastic.com/isolated-containers-migration Unnecessary OS virtualization is not required Ideally one single process per container Inside a container there will be no additional process e.g. Sshd,rsyslogd/dhclient, sshd, qmgr, kcopyd, bash, and many more.
  18. Mi-Morphe Mi-Morphe performs cleansing and transformation on data ensuring accurate outcomes. Performs transformation and cleansing of unclean data (mostly due to human error) To clean data for storing or processed further in the next levels. Removing missing/undefined or duplicate data from an input file ETL (extract Transform and Load) Unclean data such as string, Boolean and more is first extracted,
  19. http://www.meridianoutpost.com/resources/etools/calculators/calculator-file-download-time.php
  20. http://www.meridianoutpost.com/resources/etools/calculators/calculator-file-download-time.php
  21. Introduce the top is to monitor the image Bottom is monitor the container Talk along with demo (top screen) offload the mi-morphe container image to the edge (about 1 minute) (bottom screen) a new container will be launch (10sec) (new window) Login to Mi-Morphe (30 sec) ** The platform give different level of data processing, the mi-morphe can deploy anyway at the edge…. Multiple mi-morphe can be deploy then form a cluster… thus improve the processing time.
  22. Mi-Morphe Mi-Morphe performs cleansing and transformation on data ensuring accurate outcomes. Performs transformation and cleansing of unclean data (mostly due to human error) To clean data for storing or processed further in the next levels. Removing missing/undefined or duplicate data from an input file ETL (extract Transform and Load) Unclean data such as string, Boolean and more is first extracted, transformed into the target format and the clean data loaded into a database Intro mi-morph Single pane comparison trad, vm, docker. Demo script 1. customer prep machine with focus 2. focus do remote installation 3. once ready user can access mi-morph to perform data cleansing.
  23. Towards building Edge Computing Orchestration for our consumption. Can’t rely on existing software stacks. But some of the techniques and concepts can be adapt or reuse. CaaS – subset of IaaS Google Container Platform – Kurbenetes Rancher – orchestration of volumes/storage, networking, user access and containers. EC2 Container Service – Mesos CoreOS Nova-docker for Openstack