SlideShare una empresa de Scribd logo
1 de 77
Descargar para leer sin conexión
DEV.BG
Feb 06, 2018
Fog Computing:
between IoT Devices
and The Cloud
Trayan Iliev
tiliev@iproduct.org
http://iproduct.org
Copyright © 2003-2018 IPT - Intellectual
Products & Technologies
2
Disclaimer
All information presented in this document and all supplementary
materials and programming code represent only my personal opinion
and current understanding and has not received any endorsement or
approval by IPT - Intellectual Products and Technologies or any third
party. It should not be taken as any kind of advice, and should not be
used for making any kind of decisions with potential commercial impact.
The information and code presented may be incorrect or incomplete. It is
provided "as is", without warranty of any kind, express or implied,
including but not limited to the warranties of merchantability, fitness for a
particular purpose and non-infringement. In no event shall the author or
copyright holders be liable for any claim, damages or other liability,
whether in an action of contract, tort or otherwise, arising from, out of or
in connection with the information, materials or code presented or the
use or other dealings with this information or programming code.
3
Trademarks
OpenFog™ is trademark or registered trademark of OPEN FOG
CONSORTIUM, INC.
Oracle®, Java™ and JavaScript™ are trademarks or registered
trademarks of Oracle and/or its affiliates.
LEGO® is a registered trademark of LEGO® Group. Programs are not
affiliated, sponsored or endorsed by LEGO® Education or LEGO®
Group.
Raspberry Pi™ is a trademark of Raspberry Pi Foundation.
Other names may be trademarks of their respective owners.
About me
4
Trayan Iliev
– CEO of IPT – Intellectual Products &
Technologies
– Oracle®
certified programmer 15+ Y
– End-to-end reactive fullstack apps with Java,
ES6/7, TypeScript, Angular, React and Vue.js
– 12+ years IT trainer
– Voxxed Days, jPrime, jProfessionals,
BGOUG, BGJUG, DEV.BG speaker
– Organizer RoboLearn hackathons and IoT
enthusiast (http://robolearn.org)
– Lecturer @ Sofia University – courses:
Internet of Things (with SAP), Multiagent
Systems and Social Robotics
5
Since 2003: IT Education Evolved
 Spring 5, Webflux, Java SE/Web/EE 7/8/9
 Reactive Robotics & IoT with Reactor / RxJava / Akka
 Node.js + Express + React + Redux + GraphQL
 Angular + TypeScript + Redux (ngrx)
 SOA & REST HATEOAS
 DDD & Reactive Microservices
IPT - Intellectual Products & Technologies
http://www.iproduct.org
6
Fog Computing – between IoT Devices
and The Cloud
 Edge, Fog, Mist & Cloud Computing
 Fog domains and fog federation, wireless sensor
networks, multi-layer IoT architecture
 Fog computing standards and specifications
 Practical use-case scenarios & advantages of fog
 Fog analytics and intelligence on the edge
 Technologies for distributed asynchronous event
processing and analytics in real time
 Lambda architecture – Spark, Storm, Kafka, Apex,
Beam, Spring Reactor & WebFlux
 Eclipse IoT platform
We Live in Exponential Time!
7
“The future is widely misunderstood. Our forebears
expected it to be pretty much like their present, which
had been pretty much like their past.”
–Ray Kurzweil, The Singularity Is Near
We Live in Exponential Time
8
 “intuitive linear” view of technological progress vs. the
“historical exponential” view.
 The Law of Accelerating Returns: Evolution applies
positive feedback in that the more capable methods
resulting from one stage of evolutionary progress are
used to create the next stage. As a result, the rate of
progress of an evolutionary process increases
exponentially over time.
 A correlate of the above observation is that the
“returns” of an evolutionary process (e.g., the speed,
cost-effectiveness, or overall “power” of a process)
increase exponentially over time.
http://www.kurzweilai.net/the-law-of-accelerating-returns, By – Ray Kurzweil, The Singularity Is Near
IoT, IoE, WoT – What It Means?
9
The Internet-of-Things (IoT) is a self-configuring and
adaptive network which connects real-world things to
the Internet enabling them to communicate with other
connected objects leading to the realization of a new
range of ubiquitous services.
R. Minerva et al. - Towards a definition of IoT
Technical report, IEEE, 2015
Example: Internet of Things (IoT)
10
CC BY 2.0, Source:
https://www.flickr.com/photos/wilgengebroed/8249565455/
Radar, GPS, lidar for navigation and obstacle
avoidance ( 2007 DARPA Urban Challenge )
Engineering, Science & Art
11
Source: https://commons.wikimedia.org/w/index.php?curid=551256, CC BY-SA 3.0
Key Elements of IoT
12
Internet of Things (IoT)
Identification Sensors Connectivity Computation Services Semantic
IoT Services Architecture
13
Devices: Hardware + Embedded Software + Firmware
UART/ I2C/ 2G/ 3G/ LTE/ ZigBee/ 6LowPan/ BLE / MQTT-SN
Aggregation/ Bus: ESB, Message Broker
Device Gateway: Local Coordination and Event Aggregation
M2M: HTTP(/2) / WS / MQTT / CoAP / XMPP / DDS
Management: TR-069 / OMA-DM / OMA LWM2M
HTTP, AMQP
Cloud (Micro)Service Mng.
Docker, Kubernetes/
Apache Brooklyn
Web/ Mobile
Portal
PaaSDashboard
PaaS API: Event Processing Services, Analytics
Cloud Computing - Definition
14
Cloud computing is a model for enabling ubiquitous,
convenient, on-demand network access to a shared
pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and
services) that can be rapidly provisioned and released
with minimal management effort or service provider
interaction. This cloud model is composed of five
essential characteristics, three service models, and
four deployment models.
National Institute of Standards and Technology
Essential Characterisics of Cloud
15
 On-demand self-service
 Broad network access
 Resource pooling
 Rapid elasticity
 Measured service
Cloud Service Models
16
 Software as a Service (SaaS)
 Platform as a Service (PaaS)
 Infrastructure as a Service (IaaS)
Cloud Deployment Models
17
 Private cloud
 Community cloud
 Public cloud
 Hybrid cloud
Edge Computing (Mesh Computing)
18
“… places applications, data and processing at the
logical extremes of a network rather than centralizing
them. Placing data and data-intensive applications at
the Edge reduces the volume and distance that data
must be moved.”
IoT Guide
http://internetofthingsguide.com/d/edge_computing.htm
Fog Computing: Definition
19
A horizontal, system-level architecture that distributes
computing, storage, control and networking functions
closer to he users along a cloud-to-thing continuum.
OpenFog™ Consortium
Vertical vs. Horizontal IoT
20
http://www.iot-week.eu/overview_2013/iot-week-2012/programme-1/tuesday-1/presentations/semantic-
interoperability/K1_ETSI-M2M-oneM2M-and-the-need-for-semantics-IoTWeek2012.pdf, By Joerg Swetina (NEC)-
ETSI M2M / oneM2M and the need for semantics
Fog vs. Edge Computing - Diff
21
Fog computing Edge computing
Works with the Cloud Defined separately without Cloud
Multi-layered architecture, N-tier
deployments, multiple IoT verticals
Limited number of local layers,
not aware of IoT verticals
Independent of the devices and
aware of the entire fog domain
Device and few local services
aware, no domain awareness
Addresses networking, storage,
control, processing acceleration
Addresses computation only,
little interoperability
Analytics: collection, analysis, ML,
anomalies, optim., multiple devices
Analytics scoped to a single device
– printer, camera, machine, etc.
End-to-end (E2E) security – data
protection, session, hardware level
Custom security, partial point
solution, VPN, Firewall
Virtualization, containerization,
App/ Soft PLC hosting, RT control,
modularity, High Availability (HA)
No virtualization, Hard PLC/ Soft
PLC stack integrated on device
hardware, not modular, not HA
Cloud, Fog and Mist Computing
Cloud Computing
(Data-centers)
Fog Computing
(Fog Nodes, Edge
Gateways, Cloudlets)
Hundreds
Thousands
Millions
Mist Computing
(Smart IoT Devices,
Sensor Networks) SN1 SN2
...
Mist Computing - Definition
23
Mist computing is a lightweight and rudimentary form
of computing power that resides directly within the
network fabric at the edge of the network, the fog
layer closest to the smart end-devices, using
microcomputers and microcontrollers to feed into fog
computing nodes and potentially onward towards the
cloud computing services.
National Institute of Standards and Technology
Why Fogging?
24
 Exponential Data in Realtime – data generated by IoT
devices is growing exponentially – especially high
bandwidth devices and apps like: LIDARs, 3D cameras,
US arrays, gaming, streaming, augmented reality, etc.
 If all data should go to the cloud for analysis and
speech/ image/ 3D scene recognition → a recipe for
network congestion, high-latency, and self-made DoS.
 Many metrics like performance, efficiency, scalability,
latency, security, bandwidth, reliability, privacy could be
greatly improved if the processing, analysis, and
partially decision making are done locally – close to the
source of data.
Fog Nodes, Domains & Federation
25
 Fog Node – The physical and logical network element
that implements fog computing services. It is somewhat
analogous to a server in cloud computing.
 Fog Domain – seamlessly extends cloud computing to
the edge for secure control and management of domain
specific hardware, software, and standard compute,
storage and network functions.
 Fog Federation – secure control and management of
multiple fog domain instances, including edge
devices, computes, networking, storage & services in a
distributed and consistent manner, providing horizontal
expansion of functionality over disperse geolocations.
Fog Comuting – a Cloud-Based Ecosystem
for Smart End-Devices
26https://csrc.nist.gov/csrc/media/publications/sp/800-191/draft/documents/sp800-191-draft.pdf, National Institute
of Standards and Technology (NIST) Definition of Fog Computing – Special Publication Draft 800-191
IoT Object Identification Standards
28
 ISO/IEC 20248 Automatic Identification and Data
Capture Techniques – QR Code, RFID, NFC – secure
identification of Things.
 GS1's EPC Tag Data Standard (TDS) and EPCglobal
Architecture Framework (EPC Network) – allows
storing and querying of data related to objects
identified with Electronic Product Code numbers.
 IPv6 – allows identification of network interaces and IP
package routing, not permanent
 Mapping EPC to IPv6
Fog Standards and Specifications
29
 National Institute of Standards and Technology (NIST)
Definition of Fog Computing – Special Publication Draft
800-191
 OpenFog Consortium – OpenFog Reference
Architecture for Fog Computing – medium to high level
description of system architectures for fog nodes and
networks, including of multiple viewpoints (Functional,
Deployment), views (Software, System, Node), and
Perspectives (cross-cutting concerns). Based on:
 ISO/IEC/IEEE 42010:2011 – Systems and software
engineering — Architecture description
NIST Definition of Fog Computing
30
Fog computing is a horizontal, physical or virtual
resource paradigm that resides between smart end-
devices and traditional cloud or data centers. This
paradigm supports vertically-isolated, latency-sensitive
applications by providing ubiquitous, scalable, layered,
federated, and distributed computing, storage, and
network connectivity.
National Institute of Standards and Technology
Fog Computing Characteristics - I
31
 Contextual location awareness, and low latency
 Geographical distribution & distributed deployment
 Large-scale sensor networks – environment monitoring,
Smart Grid → distributed computing and storage
 Very large number of nodes – geo-distributed
 Support for mobility – mobile devices: smartphones, etc.
 Real-time interactions – streaming, lambda architecture
 Predominance of wireless IoT access: analytics, compute
 Heterogeneity – deployed in wide variety of environments
Fog Computing Characteristics - II
32
 Interoperability and federation - seamless support of
certain services (e.g. real-time streaming) requires the
cooperation of different providers.
 Support for real-time analytics and interplay with the
Cloud -while Fog nodes provide localization, therefore
enabling low latency and context awareness, the Cloud
provides global centralization. Many applications require
both Fog localization and Cloud globalization, particularly
for analytics and Big Data.
 Fog is particularly well suited to real-time streaming
analytics as opposed to historical, Big Data batch
analytics that is normally carried out in a data center.
Fog as a Service (FaaS)
33
 Pay-as-you-go model
 Includes:
• Software as a Service (SaaS)
• Platform as a Service (PaaS)
• Infrastructure as a Service (IaaS)
OpenFog Consortium
34
 Founded in November 2015 by ARM, Cisco, Dell, Intel,
Microsoft and Princeton University
 Open participation from across industry, academia and
non-profit organizations that have an interest in the
emerging IoT landscape
 Defines open architectural framework enabling IoT
industry convergence and game-changing innovation
through fog computing
 Efforts complementary to other initiatives like: Industrial
Internet Consortium (IIC), ETSI-MEC (Mobile Edge
Computing), OPC-UA, Open Connectivity Foundation
(OCF), OpenNFV, etc.
Example Use Cases
35
 Traffic Control and Smart Cars – Vehicle-to-X –
including: Vehicle-to-Vehicle (V2V), Vehicle-to-
Infrastructure (V2I), Vehicle-to-Manufacturer (V2M),
multiple public and private fog and cloud networks.
 Security Cameras and Surveillance – in smart cities /
homes, retail stores, factories, public transportation,
airports – terabytes per day by single camera → local
processing, anomaly detection, and decision making.
 Smart cities- parking, shopping, healthcare, infrastructure
 Smart Buildings – HVAC, lighting, doors, parking,
security, elevtors, support for smartphones, tablets, etc.
Core Principles
36
 Scalable
 Agile and open
 Secure
 Autonomous
 Flexible & programmable
 Highly available
 Reliable
 Remotely serviceable
 Hierarchically structured based on business needs
Fog Analytics
37
 Descriptive Analytics
 Reactive (Diagnostic) Analytics
 Predictive Analytics
 Prescriptive Analytics
Intelligent Agents - Looks Similar?
38
Using Context, Higher-Order
Components and Observables with
React
Sofia
May 15, 2017
Slide 39Sources:ReactJS [https://github.com/facebook/react/ ]
Licensed under the
Creative Commons Attribution 4.0 International Public License
Подход на интелигентните агенти при
моделиране на знания и системи
Reactive Manifesto
40
[http://www.reactivemanifesto.org]
41
 Message Driven – asynchronous message-passing allows
to establish a boundary between components that ensures
loose coupling, isolation, location transparency, and
provides the means to delegate errors as messages
[Reactive Manifesto].
 The main idea is to separate concurrent producer and
consumer workers by using message queues.
 Message queues can be unbounded or bounded (limited
max number of messages)
 Unbounded message queues can present memory
allocation problem in case the producers outrun the
consumers for a long period → OutOfMemoryError
Scalable, Massively Concurrent
Data / Event / Message Streams
42
“Conceptually, a stream is a (potentially never-ending)
flow of data records, and a transformation is an
operation that takes one or more streams as input,
and produces one or more output streams as a
result.”
Apache Flink: Dataflow Programming Model
Data Stream Programming
43
The idea of abstracting logic from execution is hardly
new -- it was the dream of SOA. And the recent
emergence of microservices and containers shows that
the dream still lives on.
For developers, the question is whether they want to
learn yet one more layer of abstraction to their coding.
On one hand, there's the elusive promise of a common
API to streaming engines that in theory should let you
mix and match, or swap in and swap out.
Tony Baer (Ovum) @ ZDNet - Apache Beam and Spark:
New coopetition for squashing the Lambda Architecture?
Lambda Architecture - I
44
https://commons.wikimedia.org/w/index.php?curid=34963986, By Textractor - Own work, CC BY-SA 4
Lambda Architecture - II
45
https://commons.wikimedia.org/w/index.php?curid=34963987, By Textractor - Own work, CC BY-SA 4
Lambda Architecture - III
46
 Data-processing architecture designed to handle
massive quantities of data by using both batch- and
stream-processing methods
 Balances latency, throughput, fault-tolerance, big
data, real-time analytics, mitigates the latencies of
map-reduce
 Data model with an append-only, immutable data
source that serves as a system of record
 Ingesting and processing timestamped events that are
appended to existing events. State is determined from
the natural time-based ordering of the data.
Druid Distributed Data Store (Java)
47
https://commons.wikimedia.org/w/index.php?curid=33899448 By Fangjin Yang - sent to me personally, GFDL
Apache
ZooKeeper
MySQL /
PostgreSQL
HDFS /
Amazon S3
Lambda Architecture: Projects - I
48
 Apache Spark is an open-source
cluster-computing framework. Spark
Streaming, Spark Mllib
 Apache Storm is a distributed
stream processing – streams DAG
 Apache Apex™ unified stream and
batch processing engine.
Lambda Architecture: Projects - II
 Apache Flink - open source stream
processing framework – Java, Scala
 Apache Kafka - open-source stream
processing (Kafka Streams), real-
time, low-latency, high-throughput,
massively scalable pub/sub
 Apache Beam – unified batch and
streaming, portable, extensible
Direct Acyclic Graphs - DAG
50
Synchronous vs. Asynchronous IO
51
DB
Synchronous
A
A
B
B
DB
Asynchronous
A
B
C
D
A
B
C
D
Reactive Programming
52
 Microsoft®
opens source polyglot project ReactiveX
(Reactive Extensions) [http://reactivex.io]:
Rx = Observables + LINQ + Schedulers :)
Java: RxJava, JavaScript: RxJS, C#: Rx.NET, Scala: RxScala,
Clojure: RxClojure, C++: RxCpp, Ruby: Rx.rb, Python: RxPY,
Groovy: RxGroovy, JRuby: RxJRuby, Kotlin: RxKotlin ...
 Reactive Streams Specification
[http://www.reactive-streams.org/] used by:
 (Spring) Project Reactor [http://projectreactor.io/]
 Actor Model – Akka (Java, Scala) [http://akka.io/]
Reactive Streams Spec.
53
 Reactive Streams – provides standard for
asynchronous stream processing with non-blocking
back pressure.
 Minimal set of interfaces, methods and protocols for
asynchronous data streams
 April 30, 2015: has been released version 1.0.0 of
Reactive Streams for the JVM (Java API,
Specification, TCK and implementation examples)
 Java 9: java.util.concurrent.Flow
Reactive Streams Spec.
54
 Publisher – provider of potentially unbounded number
of sequenced elements, according to Subscriber(s)
demand.
Publisher.subscribe(Subscriber) => onSubscribe onNext*
(onError | onComplete)?
 Subscriber – calls Subscription.request(long) to
receive notifications
 Subscription – one-to-one Subscriber ↔ Publisher,
request data and cancel demand (allow cleanup).
 Processor = Subscriber + Publisher
FRP = Async Data Streams
55
 FRP is asynchronous data-flow programming using the
building blocks of functional programming (e.g. map,
reduce, filter) and explicitly modeling time
 Used for GUIs, robotics, and music. Example (RxJava):
Observable.from(
new String[]{"Reactive", "Extensions", "Java"})
.take(2).map(s -> s + " : on " + new Date())
.subscribe(s -> System.out.println(s));
Result:
Reactive : on Wed Jun 17 21:54:02 GMT+02:00 2015
Extensions : on Wed Jun 17 21:54:02 GMT+02:00 2015
Project Reactor
56
 Reactor project allows building high-performance (low
latency high throughput) non-blocking asynchronous
applications on JVM.
 Reactor is designed to be extraordinarily fast and can
sustain throughput rates on order of 10's of millions of
operations per second.
 Reactor has powerful API for declaring data
transformations and functional composition.
 Makes use of the concept of Mechanical Sympathy
built on top of Disruptor / RingBuffer.
Reactor Projects
57
https://github.com/reactor/reactor, Apache Software License 2.0
IPC – Netty, Kafka, Aeron
Reactor Flux
58
https://github.com/reactor/reactor-core, Apache Software License 2.0
Example: Flux.combineLatest()
59
https://projectreactor.io/core/docs/api/, Apache Software License 2.0
Flux & Redux Design Patterns
Source: Flux in GitHub, https://github.com/facebook/flux, License: BSD 3-clause "New" License
Source: RxJava 2 API documentation, http://reactivex.io/RxJava/2.x/javadoc/
Redux == Rx Scan Opearator
Hot and Cold Event Streams
62
 PULL-based (Cold Event Streams) – Cold streams (e.g.
RxJava Observable / Flowable or Reactor Flow / Mono)
are streams that run their sequence when and if they
are subscribed to. They present the sequence from the
start to each subscriber.
 PUSH-based (Hot Event Streams) – emit values
independent of individual subscriptions. They have their
own timeline and events occur whether someone is
listening or not. When subscription is made observer
receives current events as they happen.
Example: mouse events
Converting Cold to Hot Stream
63
Hot Stream Example - Reactor
64
EmitterProcessor<String> emitter =
EmitterProcessor.create();
FluxSink<String> sink = emitter.sink();
emitter.publishOn(Schedulers.single())
.map(String::toUpperCase)
.filter(s -> s.startsWith("HELLO"))
.delayElements(Duration.of(1000, MILLIS))
.subscribe(System.out::println);
sink.next("Hello World!"); // emit - non blocking
sink.next("Goodbye World!");
sink.next("Hello Trayan!");
Thread.sleep(3000);
Top New Features in Spring 5
65
 Reactive Programming Model
 Spring Web Flux
 Reactive DB repositories & integrations + hot event
streaming: MongoDB, CouchDB, Redis, Cassandra,
Kafka
 JDK 8+ and Java EE 7+ baseline
 Testing improvements – WebTestClient (based on
reactive WebFlux WebClient)
 Kotlin functional DSL
Project Reactor
Spring 5 Main Building Blocks
66Source: https://spring.io
Spring Boot 2.0
Reactive Stack
(async IO)
Servlet Stack
(one request per thread)
Spring Security Reactive
Every JEE Servlet Container
(tomact, jetty, undertow, ...)
Nonblocking NIO Runtimes
(Netty, Servlet 3.1 Containers)
Spring Security
Spring MVC Spring WebFlux
Spring Data Repositories
JDBC, JPA, NoSQL
Spring Data Reactive Repositories
Mongo, Cassandra, Redis, Couchbase
WebFlux: Best Expalined in Code
67
Lets see REST service Spring 5 WebFlux demos.
Available @GitHub:
https://github.com/iproduct/spring-5-webflux
Eclipse IoT Platform
68
Based on: https://www.researchgate.net/publication/279177017_Internet_of_Things_A_Survey_on_Enabling_
Technologies_Protocols_and_Applications, By Ala Al-Fuqaha et al. - Internet of Things: A Survey on Enabling
Technologies, Protocols and Applications
IPTPI: RPi2 + Ardunio Robot
69
 Raspberry Pi 2 (quad-core ARMv7
@ 900MHz) + Arduino Leonardo
cloneA-Star 32U4 Micro
 Optical encoders (custom), IR
optical array, 3D accelerometers,
gyros, and compass MinIMU-9 v2
 IPTPI is programmed in Java
using Pi4J, Reactor, RxJava, Akka
 More information about IPTPI:
http://robolearn.org/iptpi-robot/
IPTPI: RPi2 + Ardunio Robot
70
3D accelerometers, gyros,
and compass MinIMU-9 v2
Pololu DRV8835
Dual Motor Driver
for Raspberry Pi
Arduino Leonardo clone
A-Star 32U4 Micro
USB Stereo
Speakers - 5V
LiPo Powebank
15000 mAh
IPTPI: RPi2 + Ardunio Robot
71
Raspberry Pi 2 (quad-core
ARMv7 @ 900MHz)
IR Optical Sensor QRD1114
Array (Line Following)
Adafruit 2.8" PiTFT -
Capacitive Touch Screen
72
LeJaRo: Lego®
Java Robot
73
 Modular – 3 motors (with encoders) – one driving each
track, and third for robot clamp.
 Three sensors: touch sensor (obstacle avoidance), light
color sensor (follow line), IR sensor (remote).
 LeJaRo is programmed in Java using LeJOS library.
 More information about LeJaRo:
http://robolearn.org/lejaro/
 Programming examples available @GitHub:
https://github.com/iproduct/course-social-robotics/tre
e/master/motors_demo
LEGO® is a registered trademark of LEGO® Group. Programs of IPT are not
affiliated, sponsored or endorsed by LEGO® Education or LEGO® Group.
Tale of Simplicity: DDD
74
IPTPI Reactive Streams
75
Encoder
Readings
ArduinoData
Fluxion
Arduino
SerialData
Position
Fluxion
Robot
Positions
Command
Movement
Subscriber
RobotWSService
(using Reactor)
Angular 2 /
TypeScript
MovementCommands
Demo Code
76
Reactive Java Robotics and IoT with Reactor,
RxJS, Angular 2 Demos are available @ GitHub:
https://github.com/iproduct/course-social-robotics
Thank’s for Your Attention!
77
Trayan Iliev
CEO of IPT – Intellectual Products
& Technologies
http://iproduct.org/
http://robolearn.org/
https://github.com/iproduct
https://twitter.com/trayaniliev
https://www.facebook.com/IPT.EACAD
https://plus.google.com/+IproductOrg

Más contenido relacionado

La actualidad más candente

Fog Computing Reality Check: Real World Applications and Architectures
Fog Computing Reality Check: Real World Applications and ArchitecturesFog Computing Reality Check: Real World Applications and Architectures
Fog Computing Reality Check: Real World Applications and ArchitecturesBiren Gandhi
 
Fog computing technology
Fog computing technologyFog computing technology
Fog computing technologyNikhil Sabu
 
Fog computing provide security to data in cloud ppt
Fog computing provide security to data in cloud pptFog computing provide security to data in cloud ppt
Fog computing provide security to data in cloud pptpriyanka reddy
 
Fog computing paper presentation
Fog computing paper presentationFog computing paper presentation
Fog computing paper presentationomkar parab
 
Michael enescu keynote chicago2014_from_cloud_to_fog_and_iot
Michael enescu keynote chicago2014_from_cloud_to_fog_and_iotMichael enescu keynote chicago2014_from_cloud_to_fog_and_iot
Michael enescu keynote chicago2014_from_cloud_to_fog_and_iotMichael Enescu
 
What is fog computing
What is fog computingWhat is fog computing
What is fog computingAhmed Banafa
 
Fog Computing Platform
Fog Computing PlatformFog Computing Platform
Fog Computing Platform霈萱 蔡
 
Get Cloud Resources to the IoT Edge with Fog Computing
Get Cloud Resources to the IoT Edge with Fog ComputingGet Cloud Resources to the IoT Edge with Fog Computing
Get Cloud Resources to the IoT Edge with Fog ComputingBiren Gandhi
 
Walking through the fog (computing) - Keynote talk at Italian Networking Work...
Walking through the fog (computing) - Keynote talk at Italian Networking Work...Walking through the fog (computing) - Keynote talk at Italian Networking Work...
Walking through the fog (computing) - Keynote talk at Italian Networking Work...FBK CREATE-NET
 
Security Issues of IoT with Fog
Security Issues of IoT with FogSecurity Issues of IoT with Fog
Security Issues of IoT with FogAchu Anna
 
Sustainability and fog computing applications, advantages and challenges
Sustainability and fog computing applications, advantages and challengesSustainability and fog computing applications, advantages and challenges
Sustainability and fog computing applications, advantages and challengesAbdulMajidFarooqi
 
Fog computing : The new age Technology
Fog computing : The new age TechnologyFog computing : The new age Technology
Fog computing : The new age TechnologyPrankit Mishra
 
Drones and Fog Computing - New Frontiers of IoT and Digital Transformation -...
Drones and Fog Computing  - New Frontiers of IoT and Digital Transformation -...Drones and Fog Computing  - New Frontiers of IoT and Digital Transformation -...
Drones and Fog Computing - New Frontiers of IoT and Digital Transformation -...Biren Gandhi
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEXAngelo Corsaro
 

La actualidad más candente (20)

Fog Computing Reality Check: Real World Applications and Architectures
Fog Computing Reality Check: Real World Applications and ArchitecturesFog Computing Reality Check: Real World Applications and Architectures
Fog Computing Reality Check: Real World Applications and Architectures
 
Fog computing in IoT
Fog computing in IoTFog computing in IoT
Fog computing in IoT
 
Fog computing technology
Fog computing technologyFog computing technology
Fog computing technology
 
Fog computing provide security to data in cloud ppt
Fog computing provide security to data in cloud pptFog computing provide security to data in cloud ppt
Fog computing provide security to data in cloud ppt
 
Fog computing paper presentation
Fog computing paper presentationFog computing paper presentation
Fog computing paper presentation
 
Fog computing 000
Fog computing 000Fog computing 000
Fog computing 000
 
Michael enescu keynote chicago2014_from_cloud_to_fog_and_iot
Michael enescu keynote chicago2014_from_cloud_to_fog_and_iotMichael enescu keynote chicago2014_from_cloud_to_fog_and_iot
Michael enescu keynote chicago2014_from_cloud_to_fog_and_iot
 
Fog computing
Fog computingFog computing
Fog computing
 
What is fog computing
What is fog computingWhat is fog computing
What is fog computing
 
Fog Computing Platform
Fog Computing PlatformFog Computing Platform
Fog Computing Platform
 
Get Cloud Resources to the IoT Edge with Fog Computing
Get Cloud Resources to the IoT Edge with Fog ComputingGet Cloud Resources to the IoT Edge with Fog Computing
Get Cloud Resources to the IoT Edge with Fog Computing
 
Walking through the fog (computing) - Keynote talk at Italian Networking Work...
Walking through the fog (computing) - Keynote talk at Italian Networking Work...Walking through the fog (computing) - Keynote talk at Italian Networking Work...
Walking through the fog (computing) - Keynote talk at Italian Networking Work...
 
Security Issues of IoT with Fog
Security Issues of IoT with FogSecurity Issues of IoT with Fog
Security Issues of IoT with Fog
 
Fog computing
Fog computingFog computing
Fog computing
 
Fog ppt
Fog pptFog ppt
Fog ppt
 
Sustainability and fog computing applications, advantages and challenges
Sustainability and fog computing applications, advantages and challengesSustainability and fog computing applications, advantages and challenges
Sustainability and fog computing applications, advantages and challenges
 
Fog computing : The new age Technology
Fog computing : The new age TechnologyFog computing : The new age Technology
Fog computing : The new age Technology
 
Drones and Fog Computing - New Frontiers of IoT and Digital Transformation -...
Drones and Fog Computing  - New Frontiers of IoT and Digital Transformation -...Drones and Fog Computing  - New Frontiers of IoT and Digital Transformation -...
Drones and Fog Computing - New Frontiers of IoT and Digital Transformation -...
 
Fog Computing
Fog ComputingFog Computing
Fog Computing
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEX
 

Similar a Fog Computing - DEV.BG 2018

TUW-ASE Summer 2015: IoT Cloud Systems
TUW-ASE Summer 2015:  IoT Cloud SystemsTUW-ASE Summer 2015:  IoT Cloud Systems
TUW-ASE Summer 2015: IoT Cloud SystemsHong-Linh Truong
 
IoT: Ongoing challenges and opportunities in Mobile Technology
IoT: Ongoing challenges and opportunities in Mobile TechnologyIoT: Ongoing challenges and opportunities in Mobile Technology
IoT: Ongoing challenges and opportunities in Mobile TechnologyAI Publications
 
Introduction to roof computing by Nishant Krishna
Introduction to roof computing by Nishant KrishnaIntroduction to roof computing by Nishant Krishna
Introduction to roof computing by Nishant KrishnaCodeOps Technologies LLP
 
Open Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - OverviewOpen Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - OverviewKrishna-Kumar
 
STEAM++ AN EXTENSIBLE END-TO-END FRAMEWORK FOR DEVELOPING IOT DATA PROCESSING...
STEAM++ AN EXTENSIBLE END-TO-END FRAMEWORK FOR DEVELOPING IOT DATA PROCESSING...STEAM++ AN EXTENSIBLE END-TO-END FRAMEWORK FOR DEVELOPING IOT DATA PROCESSING...
STEAM++ AN EXTENSIBLE END-TO-END FRAMEWORK FOR DEVELOPING IOT DATA PROCESSING...ijcsit
 
Steam++ An Extensible End-to-end Framework for Developing IoT Data Processing...
Steam++ An Extensible End-to-end Framework for Developing IoT Data Processing...Steam++ An Extensible End-to-end Framework for Developing IoT Data Processing...
Steam++ An Extensible End-to-end Framework for Developing IoT Data Processing...AIRCC Publishing Corporation
 
SECURITY AND PRIVACY AWARE PROGRAMMING MODEL FOR IOT APPLICATIONS IN CLOUD EN...
SECURITY AND PRIVACY AWARE PROGRAMMING MODEL FOR IOT APPLICATIONS IN CLOUD EN...SECURITY AND PRIVACY AWARE PROGRAMMING MODEL FOR IOT APPLICATIONS IN CLOUD EN...
SECURITY AND PRIVACY AWARE PROGRAMMING MODEL FOR IOT APPLICATIONS IN CLOUD EN...ijccsa
 
Emergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionEmergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionRoopaDNDandally
 
Emergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionEmergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionRoopaDNDandally
 
sensors-22-00196-v2.pdf
sensors-22-00196-v2.pdfsensors-22-00196-v2.pdf
sensors-22-00196-v2.pdfAsiyaKhan63
 
Integrate Cloud and Fog Technology with the Internet of Things
Integrate Cloud and Fog Technology with the Internet of ThingsIntegrate Cloud and Fog Technology with the Internet of Things
Integrate Cloud and Fog Technology with the Internet of Thingsmohamedalaty14
 
Fog Computing An Empirical Study
Fog Computing An Empirical StudyFog Computing An Empirical Study
Fog Computing An Empirical Studyijtsrd
 
INTRODUCTION TO INTERNET OF THINGS
INTRODUCTION TO INTERNET OF THINGSINTRODUCTION TO INTERNET OF THINGS
INTRODUCTION TO INTERNET OF THINGSVikram Nandini
 
Software defined fog platform
Software defined fog platform Software defined fog platform
Software defined fog platform IJECEIAES
 
Deep Learning Approaches for Information Centric Network and Internet of Things
Deep Learning Approaches for Information Centric Network and Internet of ThingsDeep Learning Approaches for Information Centric Network and Internet of Things
Deep Learning Approaches for Information Centric Network and Internet of Thingsijtsrd
 
A survey of fog computing concepts applications and issues
A survey of fog computing concepts  applications and issuesA survey of fog computing concepts  applications and issues
A survey of fog computing concepts applications and issuesRezgar Mohammad
 

Similar a Fog Computing - DEV.BG 2018 (20)

TUW-ASE Summer 2015: IoT Cloud Systems
TUW-ASE Summer 2015:  IoT Cloud SystemsTUW-ASE Summer 2015:  IoT Cloud Systems
TUW-ASE Summer 2015: IoT Cloud Systems
 
IoT: Ongoing challenges and opportunities in Mobile Technology
IoT: Ongoing challenges and opportunities in Mobile TechnologyIoT: Ongoing challenges and opportunities in Mobile Technology
IoT: Ongoing challenges and opportunities in Mobile Technology
 
IOT_PPT1.pdf
IOT_PPT1.pdfIOT_PPT1.pdf
IOT_PPT1.pdf
 
Introduction to roof computing by Nishant Krishna
Introduction to roof computing by Nishant KrishnaIntroduction to roof computing by Nishant Krishna
Introduction to roof computing by Nishant Krishna
 
Open Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - OverviewOpen Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - Overview
 
STEAM++ AN EXTENSIBLE END-TO-END FRAMEWORK FOR DEVELOPING IOT DATA PROCESSING...
STEAM++ AN EXTENSIBLE END-TO-END FRAMEWORK FOR DEVELOPING IOT DATA PROCESSING...STEAM++ AN EXTENSIBLE END-TO-END FRAMEWORK FOR DEVELOPING IOT DATA PROCESSING...
STEAM++ AN EXTENSIBLE END-TO-END FRAMEWORK FOR DEVELOPING IOT DATA PROCESSING...
 
Steam++ An Extensible End-to-end Framework for Developing IoT Data Processing...
Steam++ An Extensible End-to-end Framework for Developing IoT Data Processing...Steam++ An Extensible End-to-end Framework for Developing IoT Data Processing...
Steam++ An Extensible End-to-end Framework for Developing IoT Data Processing...
 
SECURITY AND PRIVACY AWARE PROGRAMMING MODEL FOR IOT APPLICATIONS IN CLOUD EN...
SECURITY AND PRIVACY AWARE PROGRAMMING MODEL FOR IOT APPLICATIONS IN CLOUD EN...SECURITY AND PRIVACY AWARE PROGRAMMING MODEL FOR IOT APPLICATIONS IN CLOUD EN...
SECURITY AND PRIVACY AWARE PROGRAMMING MODEL FOR IOT APPLICATIONS IN CLOUD EN...
 
IoT and Embedded OS Lecture - Cristian Toma and George Iosif
IoT and Embedded OS Lecture - Cristian Toma and George IosifIoT and Embedded OS Lecture - Cristian Toma and George Iosif
IoT and Embedded OS Lecture - Cristian Toma and George Iosif
 
Emergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionEmergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, Evolution
 
Emergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionEmergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, Evolution
 
sensors-22-00196-v2.pdf
sensors-22-00196-v2.pdfsensors-22-00196-v2.pdf
sensors-22-00196-v2.pdf
 
Integrate Cloud and Fog Technology with the Internet of Things
Integrate Cloud and Fog Technology with the Internet of ThingsIntegrate Cloud and Fog Technology with the Internet of Things
Integrate Cloud and Fog Technology with the Internet of Things
 
Fog Computing An Empirical Study
Fog Computing An Empirical StudyFog Computing An Empirical Study
Fog Computing An Empirical Study
 
IOTCYBER
IOTCYBERIOTCYBER
IOTCYBER
 
Seminar report
Seminar reportSeminar report
Seminar report
 
INTRODUCTION TO INTERNET OF THINGS
INTRODUCTION TO INTERNET OF THINGSINTRODUCTION TO INTERNET OF THINGS
INTRODUCTION TO INTERNET OF THINGS
 
Software defined fog platform
Software defined fog platform Software defined fog platform
Software defined fog platform
 
Deep Learning Approaches for Information Centric Network and Internet of Things
Deep Learning Approaches for Information Centric Network and Internet of ThingsDeep Learning Approaches for Information Centric Network and Internet of Things
Deep Learning Approaches for Information Centric Network and Internet of Things
 
A survey of fog computing concepts applications and issues
A survey of fog computing concepts  applications and issuesA survey of fog computing concepts  applications and issues
A survey of fog computing concepts applications and issues
 

Más de Trayan Iliev

Making Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFluxMaking Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFluxTrayan Iliev
 
Rapid Web API development with Kotlin and Ktor
Rapid Web API development with Kotlin and KtorRapid Web API development with Kotlin and Ktor
Rapid Web API development with Kotlin and KtorTrayan Iliev
 
IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018Trayan Iliev
 
Learning Programming Using Robots - Sofia University Conference 2018
Learning Programming Using Robots - Sofia University Conference 2018 Learning Programming Using Robots - Sofia University Conference 2018
Learning Programming Using Robots - Sofia University Conference 2018 Trayan Iliev
 
Active Learning Using Connected Things - 2018 (in Bulgarian)
Active Learning Using Connected Things - 2018 (in Bulgarian)Active Learning Using Connected Things - 2018 (in Bulgarian)
Active Learning Using Connected Things - 2018 (in Bulgarian)Trayan Iliev
 
Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018Trayan Iliev
 
Microservices with Spring 5 Webflux - jProfessionals
Microservices  with Spring 5 Webflux - jProfessionalsMicroservices  with Spring 5 Webflux - jProfessionals
Microservices with Spring 5 Webflux - jProfessionalsTrayan Iliev
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Trayan Iliev
 
What's new in java 9?
What's new in java 9?What's new in java 9?
What's new in java 9?Trayan Iliev
 
NGRX Apps in Depth
NGRX Apps in DepthNGRX Apps in Depth
NGRX Apps in DepthTrayan Iliev
 
Stream Processing with CompletableFuture and Flow in Java 9
Stream Processing with CompletableFuture and Flow in Java 9Stream Processing with CompletableFuture and Flow in Java 9
Stream Processing with CompletableFuture and Flow in Java 9Trayan Iliev
 
React HOCs, Context and Observables
React HOCs, Context and ObservablesReact HOCs, Context and Observables
React HOCs, Context and ObservablesTrayan Iliev
 
Reactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorReactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorTrayan Iliev
 
Hackathon: “IPTPI and LeJaRo Meet The Real World”
Hackathon: “IPTPI and LeJaRo Meet The Real World”Hackathon: “IPTPI and LeJaRo Meet The Real World”
Hackathon: “IPTPI and LeJaRo Meet The Real World”Trayan Iliev
 
Reactive robotics io_t_2017
Reactive robotics io_t_2017Reactive robotics io_t_2017
Reactive robotics io_t_2017Trayan Iliev
 
Java & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionals
Java & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionalsJava & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionals
Java & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionalsTrayan Iliev
 
IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016Trayan Iliev
 
Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Trayan Iliev
 
IPT angular2 typescript SPA 2016
IPT angular2 typescript SPA 2016IPT angular2 typescript SPA 2016
IPT angular2 typescript SPA 2016Trayan Iliev
 
Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016
Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016
Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016Trayan Iliev
 

Más de Trayan Iliev (20)

Making Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFluxMaking Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFlux
 
Rapid Web API development with Kotlin and Ktor
Rapid Web API development with Kotlin and KtorRapid Web API development with Kotlin and Ktor
Rapid Web API development with Kotlin and Ktor
 
IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018
 
Learning Programming Using Robots - Sofia University Conference 2018
Learning Programming Using Robots - Sofia University Conference 2018 Learning Programming Using Robots - Sofia University Conference 2018
Learning Programming Using Robots - Sofia University Conference 2018
 
Active Learning Using Connected Things - 2018 (in Bulgarian)
Active Learning Using Connected Things - 2018 (in Bulgarian)Active Learning Using Connected Things - 2018 (in Bulgarian)
Active Learning Using Connected Things - 2018 (in Bulgarian)
 
Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018
 
Microservices with Spring 5 Webflux - jProfessionals
Microservices  with Spring 5 Webflux - jProfessionalsMicroservices  with Spring 5 Webflux - jProfessionals
Microservices with Spring 5 Webflux - jProfessionals
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux
 
What's new in java 9?
What's new in java 9?What's new in java 9?
What's new in java 9?
 
NGRX Apps in Depth
NGRX Apps in DepthNGRX Apps in Depth
NGRX Apps in Depth
 
Stream Processing with CompletableFuture and Flow in Java 9
Stream Processing with CompletableFuture and Flow in Java 9Stream Processing with CompletableFuture and Flow in Java 9
Stream Processing with CompletableFuture and Flow in Java 9
 
React HOCs, Context and Observables
React HOCs, Context and ObservablesReact HOCs, Context and Observables
React HOCs, Context and Observables
 
Reactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorReactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring Reactor
 
Hackathon: “IPTPI and LeJaRo Meet The Real World”
Hackathon: “IPTPI and LeJaRo Meet The Real World”Hackathon: “IPTPI and LeJaRo Meet The Real World”
Hackathon: “IPTPI and LeJaRo Meet The Real World”
 
Reactive robotics io_t_2017
Reactive robotics io_t_2017Reactive robotics io_t_2017
Reactive robotics io_t_2017
 
Java & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionals
Java & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionalsJava & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionals
Java & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionals
 
IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016
 
Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016
 
IPT angular2 typescript SPA 2016
IPT angular2 typescript SPA 2016IPT angular2 typescript SPA 2016
IPT angular2 typescript SPA 2016
 
Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016
Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016
Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016
 

Último

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Último (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

Fog Computing - DEV.BG 2018

  • 1. DEV.BG Feb 06, 2018 Fog Computing: between IoT Devices and The Cloud Trayan Iliev tiliev@iproduct.org http://iproduct.org Copyright © 2003-2018 IPT - Intellectual Products & Technologies
  • 2. 2 Disclaimer All information presented in this document and all supplementary materials and programming code represent only my personal opinion and current understanding and has not received any endorsement or approval by IPT - Intellectual Products and Technologies or any third party. It should not be taken as any kind of advice, and should not be used for making any kind of decisions with potential commercial impact. The information and code presented may be incorrect or incomplete. It is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and non-infringement. In no event shall the author or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the information, materials or code presented or the use or other dealings with this information or programming code.
  • 3. 3 Trademarks OpenFog™ is trademark or registered trademark of OPEN FOG CONSORTIUM, INC. Oracle®, Java™ and JavaScript™ are trademarks or registered trademarks of Oracle and/or its affiliates. LEGO® is a registered trademark of LEGO® Group. Programs are not affiliated, sponsored or endorsed by LEGO® Education or LEGO® Group. Raspberry Pi™ is a trademark of Raspberry Pi Foundation. Other names may be trademarks of their respective owners.
  • 4. About me 4 Trayan Iliev – CEO of IPT – Intellectual Products & Technologies – Oracle® certified programmer 15+ Y – End-to-end reactive fullstack apps with Java, ES6/7, TypeScript, Angular, React and Vue.js – 12+ years IT trainer – Voxxed Days, jPrime, jProfessionals, BGOUG, BGJUG, DEV.BG speaker – Organizer RoboLearn hackathons and IoT enthusiast (http://robolearn.org) – Lecturer @ Sofia University – courses: Internet of Things (with SAP), Multiagent Systems and Social Robotics
  • 5. 5 Since 2003: IT Education Evolved  Spring 5, Webflux, Java SE/Web/EE 7/8/9  Reactive Robotics & IoT with Reactor / RxJava / Akka  Node.js + Express + React + Redux + GraphQL  Angular + TypeScript + Redux (ngrx)  SOA & REST HATEOAS  DDD & Reactive Microservices IPT - Intellectual Products & Technologies http://www.iproduct.org
  • 6. 6 Fog Computing – between IoT Devices and The Cloud  Edge, Fog, Mist & Cloud Computing  Fog domains and fog federation, wireless sensor networks, multi-layer IoT architecture  Fog computing standards and specifications  Practical use-case scenarios & advantages of fog  Fog analytics and intelligence on the edge  Technologies for distributed asynchronous event processing and analytics in real time  Lambda architecture – Spark, Storm, Kafka, Apex, Beam, Spring Reactor & WebFlux  Eclipse IoT platform
  • 7. We Live in Exponential Time! 7 “The future is widely misunderstood. Our forebears expected it to be pretty much like their present, which had been pretty much like their past.” –Ray Kurzweil, The Singularity Is Near
  • 8. We Live in Exponential Time 8  “intuitive linear” view of technological progress vs. the “historical exponential” view.  The Law of Accelerating Returns: Evolution applies positive feedback in that the more capable methods resulting from one stage of evolutionary progress are used to create the next stage. As a result, the rate of progress of an evolutionary process increases exponentially over time.  A correlate of the above observation is that the “returns” of an evolutionary process (e.g., the speed, cost-effectiveness, or overall “power” of a process) increase exponentially over time. http://www.kurzweilai.net/the-law-of-accelerating-returns, By – Ray Kurzweil, The Singularity Is Near
  • 9. IoT, IoE, WoT – What It Means? 9 The Internet-of-Things (IoT) is a self-configuring and adaptive network which connects real-world things to the Internet enabling them to communicate with other connected objects leading to the realization of a new range of ubiquitous services. R. Minerva et al. - Towards a definition of IoT Technical report, IEEE, 2015
  • 10. Example: Internet of Things (IoT) 10 CC BY 2.0, Source: https://www.flickr.com/photos/wilgengebroed/8249565455/ Radar, GPS, lidar for navigation and obstacle avoidance ( 2007 DARPA Urban Challenge )
  • 11. Engineering, Science & Art 11 Source: https://commons.wikimedia.org/w/index.php?curid=551256, CC BY-SA 3.0
  • 12. Key Elements of IoT 12 Internet of Things (IoT) Identification Sensors Connectivity Computation Services Semantic
  • 13. IoT Services Architecture 13 Devices: Hardware + Embedded Software + Firmware UART/ I2C/ 2G/ 3G/ LTE/ ZigBee/ 6LowPan/ BLE / MQTT-SN Aggregation/ Bus: ESB, Message Broker Device Gateway: Local Coordination and Event Aggregation M2M: HTTP(/2) / WS / MQTT / CoAP / XMPP / DDS Management: TR-069 / OMA-DM / OMA LWM2M HTTP, AMQP Cloud (Micro)Service Mng. Docker, Kubernetes/ Apache Brooklyn Web/ Mobile Portal PaaSDashboard PaaS API: Event Processing Services, Analytics
  • 14. Cloud Computing - Definition 14 Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models. National Institute of Standards and Technology
  • 15. Essential Characterisics of Cloud 15  On-demand self-service  Broad network access  Resource pooling  Rapid elasticity  Measured service
  • 16. Cloud Service Models 16  Software as a Service (SaaS)  Platform as a Service (PaaS)  Infrastructure as a Service (IaaS)
  • 17. Cloud Deployment Models 17  Private cloud  Community cloud  Public cloud  Hybrid cloud
  • 18. Edge Computing (Mesh Computing) 18 “… places applications, data and processing at the logical extremes of a network rather than centralizing them. Placing data and data-intensive applications at the Edge reduces the volume and distance that data must be moved.” IoT Guide http://internetofthingsguide.com/d/edge_computing.htm
  • 19. Fog Computing: Definition 19 A horizontal, system-level architecture that distributes computing, storage, control and networking functions closer to he users along a cloud-to-thing continuum. OpenFog™ Consortium
  • 20. Vertical vs. Horizontal IoT 20 http://www.iot-week.eu/overview_2013/iot-week-2012/programme-1/tuesday-1/presentations/semantic- interoperability/K1_ETSI-M2M-oneM2M-and-the-need-for-semantics-IoTWeek2012.pdf, By Joerg Swetina (NEC)- ETSI M2M / oneM2M and the need for semantics
  • 21. Fog vs. Edge Computing - Diff 21 Fog computing Edge computing Works with the Cloud Defined separately without Cloud Multi-layered architecture, N-tier deployments, multiple IoT verticals Limited number of local layers, not aware of IoT verticals Independent of the devices and aware of the entire fog domain Device and few local services aware, no domain awareness Addresses networking, storage, control, processing acceleration Addresses computation only, little interoperability Analytics: collection, analysis, ML, anomalies, optim., multiple devices Analytics scoped to a single device – printer, camera, machine, etc. End-to-end (E2E) security – data protection, session, hardware level Custom security, partial point solution, VPN, Firewall Virtualization, containerization, App/ Soft PLC hosting, RT control, modularity, High Availability (HA) No virtualization, Hard PLC/ Soft PLC stack integrated on device hardware, not modular, not HA
  • 22. Cloud, Fog and Mist Computing Cloud Computing (Data-centers) Fog Computing (Fog Nodes, Edge Gateways, Cloudlets) Hundreds Thousands Millions Mist Computing (Smart IoT Devices, Sensor Networks) SN1 SN2 ...
  • 23. Mist Computing - Definition 23 Mist computing is a lightweight and rudimentary form of computing power that resides directly within the network fabric at the edge of the network, the fog layer closest to the smart end-devices, using microcomputers and microcontrollers to feed into fog computing nodes and potentially onward towards the cloud computing services. National Institute of Standards and Technology
  • 24. Why Fogging? 24  Exponential Data in Realtime – data generated by IoT devices is growing exponentially – especially high bandwidth devices and apps like: LIDARs, 3D cameras, US arrays, gaming, streaming, augmented reality, etc.  If all data should go to the cloud for analysis and speech/ image/ 3D scene recognition → a recipe for network congestion, high-latency, and self-made DoS.  Many metrics like performance, efficiency, scalability, latency, security, bandwidth, reliability, privacy could be greatly improved if the processing, analysis, and partially decision making are done locally – close to the source of data.
  • 25. Fog Nodes, Domains & Federation 25  Fog Node – The physical and logical network element that implements fog computing services. It is somewhat analogous to a server in cloud computing.  Fog Domain – seamlessly extends cloud computing to the edge for secure control and management of domain specific hardware, software, and standard compute, storage and network functions.  Fog Federation – secure control and management of multiple fog domain instances, including edge devices, computes, networking, storage & services in a distributed and consistent manner, providing horizontal expansion of functionality over disperse geolocations.
  • 26. Fog Comuting – a Cloud-Based Ecosystem for Smart End-Devices 26https://csrc.nist.gov/csrc/media/publications/sp/800-191/draft/documents/sp800-191-draft.pdf, National Institute of Standards and Technology (NIST) Definition of Fog Computing – Special Publication Draft 800-191
  • 27.
  • 28. IoT Object Identification Standards 28  ISO/IEC 20248 Automatic Identification and Data Capture Techniques – QR Code, RFID, NFC – secure identification of Things.  GS1's EPC Tag Data Standard (TDS) and EPCglobal Architecture Framework (EPC Network) – allows storing and querying of data related to objects identified with Electronic Product Code numbers.  IPv6 – allows identification of network interaces and IP package routing, not permanent  Mapping EPC to IPv6
  • 29. Fog Standards and Specifications 29  National Institute of Standards and Technology (NIST) Definition of Fog Computing – Special Publication Draft 800-191  OpenFog Consortium – OpenFog Reference Architecture for Fog Computing – medium to high level description of system architectures for fog nodes and networks, including of multiple viewpoints (Functional, Deployment), views (Software, System, Node), and Perspectives (cross-cutting concerns). Based on:  ISO/IEC/IEEE 42010:2011 – Systems and software engineering — Architecture description
  • 30. NIST Definition of Fog Computing 30 Fog computing is a horizontal, physical or virtual resource paradigm that resides between smart end- devices and traditional cloud or data centers. This paradigm supports vertically-isolated, latency-sensitive applications by providing ubiquitous, scalable, layered, federated, and distributed computing, storage, and network connectivity. National Institute of Standards and Technology
  • 31. Fog Computing Characteristics - I 31  Contextual location awareness, and low latency  Geographical distribution & distributed deployment  Large-scale sensor networks – environment monitoring, Smart Grid → distributed computing and storage  Very large number of nodes – geo-distributed  Support for mobility – mobile devices: smartphones, etc.  Real-time interactions – streaming, lambda architecture  Predominance of wireless IoT access: analytics, compute  Heterogeneity – deployed in wide variety of environments
  • 32. Fog Computing Characteristics - II 32  Interoperability and federation - seamless support of certain services (e.g. real-time streaming) requires the cooperation of different providers.  Support for real-time analytics and interplay with the Cloud -while Fog nodes provide localization, therefore enabling low latency and context awareness, the Cloud provides global centralization. Many applications require both Fog localization and Cloud globalization, particularly for analytics and Big Data.  Fog is particularly well suited to real-time streaming analytics as opposed to historical, Big Data batch analytics that is normally carried out in a data center.
  • 33. Fog as a Service (FaaS) 33  Pay-as-you-go model  Includes: • Software as a Service (SaaS) • Platform as a Service (PaaS) • Infrastructure as a Service (IaaS)
  • 34. OpenFog Consortium 34  Founded in November 2015 by ARM, Cisco, Dell, Intel, Microsoft and Princeton University  Open participation from across industry, academia and non-profit organizations that have an interest in the emerging IoT landscape  Defines open architectural framework enabling IoT industry convergence and game-changing innovation through fog computing  Efforts complementary to other initiatives like: Industrial Internet Consortium (IIC), ETSI-MEC (Mobile Edge Computing), OPC-UA, Open Connectivity Foundation (OCF), OpenNFV, etc.
  • 35. Example Use Cases 35  Traffic Control and Smart Cars – Vehicle-to-X – including: Vehicle-to-Vehicle (V2V), Vehicle-to- Infrastructure (V2I), Vehicle-to-Manufacturer (V2M), multiple public and private fog and cloud networks.  Security Cameras and Surveillance – in smart cities / homes, retail stores, factories, public transportation, airports – terabytes per day by single camera → local processing, anomaly detection, and decision making.  Smart cities- parking, shopping, healthcare, infrastructure  Smart Buildings – HVAC, lighting, doors, parking, security, elevtors, support for smartphones, tablets, etc.
  • 36. Core Principles 36  Scalable  Agile and open  Secure  Autonomous  Flexible & programmable  Highly available  Reliable  Remotely serviceable  Hierarchically structured based on business needs
  • 37. Fog Analytics 37  Descriptive Analytics  Reactive (Diagnostic) Analytics  Predictive Analytics  Prescriptive Analytics
  • 38. Intelligent Agents - Looks Similar? 38
  • 39. Using Context, Higher-Order Components and Observables with React Sofia May 15, 2017 Slide 39Sources:ReactJS [https://github.com/facebook/react/ ] Licensed under the Creative Commons Attribution 4.0 International Public License Подход на интелигентните агенти при моделиране на знания и системи
  • 41. 41  Message Driven – asynchronous message-passing allows to establish a boundary between components that ensures loose coupling, isolation, location transparency, and provides the means to delegate errors as messages [Reactive Manifesto].  The main idea is to separate concurrent producer and consumer workers by using message queues.  Message queues can be unbounded or bounded (limited max number of messages)  Unbounded message queues can present memory allocation problem in case the producers outrun the consumers for a long period → OutOfMemoryError Scalable, Massively Concurrent
  • 42. Data / Event / Message Streams 42 “Conceptually, a stream is a (potentially never-ending) flow of data records, and a transformation is an operation that takes one or more streams as input, and produces one or more output streams as a result.” Apache Flink: Dataflow Programming Model
  • 43. Data Stream Programming 43 The idea of abstracting logic from execution is hardly new -- it was the dream of SOA. And the recent emergence of microservices and containers shows that the dream still lives on. For developers, the question is whether they want to learn yet one more layer of abstraction to their coding. On one hand, there's the elusive promise of a common API to streaming engines that in theory should let you mix and match, or swap in and swap out. Tony Baer (Ovum) @ ZDNet - Apache Beam and Spark: New coopetition for squashing the Lambda Architecture?
  • 44. Lambda Architecture - I 44 https://commons.wikimedia.org/w/index.php?curid=34963986, By Textractor - Own work, CC BY-SA 4
  • 45. Lambda Architecture - II 45 https://commons.wikimedia.org/w/index.php?curid=34963987, By Textractor - Own work, CC BY-SA 4
  • 46. Lambda Architecture - III 46  Data-processing architecture designed to handle massive quantities of data by using both batch- and stream-processing methods  Balances latency, throughput, fault-tolerance, big data, real-time analytics, mitigates the latencies of map-reduce  Data model with an append-only, immutable data source that serves as a system of record  Ingesting and processing timestamped events that are appended to existing events. State is determined from the natural time-based ordering of the data.
  • 47. Druid Distributed Data Store (Java) 47 https://commons.wikimedia.org/w/index.php?curid=33899448 By Fangjin Yang - sent to me personally, GFDL Apache ZooKeeper MySQL / PostgreSQL HDFS / Amazon S3
  • 48. Lambda Architecture: Projects - I 48  Apache Spark is an open-source cluster-computing framework. Spark Streaming, Spark Mllib  Apache Storm is a distributed stream processing – streams DAG  Apache Apex™ unified stream and batch processing engine.
  • 49. Lambda Architecture: Projects - II  Apache Flink - open source stream processing framework – Java, Scala  Apache Kafka - open-source stream processing (Kafka Streams), real- time, low-latency, high-throughput, massively scalable pub/sub  Apache Beam – unified batch and streaming, portable, extensible
  • 51. Synchronous vs. Asynchronous IO 51 DB Synchronous A A B B DB Asynchronous A B C D A B C D
  • 52. Reactive Programming 52  Microsoft® opens source polyglot project ReactiveX (Reactive Extensions) [http://reactivex.io]: Rx = Observables + LINQ + Schedulers :) Java: RxJava, JavaScript: RxJS, C#: Rx.NET, Scala: RxScala, Clojure: RxClojure, C++: RxCpp, Ruby: Rx.rb, Python: RxPY, Groovy: RxGroovy, JRuby: RxJRuby, Kotlin: RxKotlin ...  Reactive Streams Specification [http://www.reactive-streams.org/] used by:  (Spring) Project Reactor [http://projectreactor.io/]  Actor Model – Akka (Java, Scala) [http://akka.io/]
  • 53. Reactive Streams Spec. 53  Reactive Streams – provides standard for asynchronous stream processing with non-blocking back pressure.  Minimal set of interfaces, methods and protocols for asynchronous data streams  April 30, 2015: has been released version 1.0.0 of Reactive Streams for the JVM (Java API, Specification, TCK and implementation examples)  Java 9: java.util.concurrent.Flow
  • 54. Reactive Streams Spec. 54  Publisher – provider of potentially unbounded number of sequenced elements, according to Subscriber(s) demand. Publisher.subscribe(Subscriber) => onSubscribe onNext* (onError | onComplete)?  Subscriber – calls Subscription.request(long) to receive notifications  Subscription – one-to-one Subscriber ↔ Publisher, request data and cancel demand (allow cleanup).  Processor = Subscriber + Publisher
  • 55. FRP = Async Data Streams 55  FRP is asynchronous data-flow programming using the building blocks of functional programming (e.g. map, reduce, filter) and explicitly modeling time  Used for GUIs, robotics, and music. Example (RxJava): Observable.from( new String[]{"Reactive", "Extensions", "Java"}) .take(2).map(s -> s + " : on " + new Date()) .subscribe(s -> System.out.println(s)); Result: Reactive : on Wed Jun 17 21:54:02 GMT+02:00 2015 Extensions : on Wed Jun 17 21:54:02 GMT+02:00 2015
  • 56. Project Reactor 56  Reactor project allows building high-performance (low latency high throughput) non-blocking asynchronous applications on JVM.  Reactor is designed to be extraordinarily fast and can sustain throughput rates on order of 10's of millions of operations per second.  Reactor has powerful API for declaring data transformations and functional composition.  Makes use of the concept of Mechanical Sympathy built on top of Disruptor / RingBuffer.
  • 57. Reactor Projects 57 https://github.com/reactor/reactor, Apache Software License 2.0 IPC – Netty, Kafka, Aeron
  • 60. Flux & Redux Design Patterns Source: Flux in GitHub, https://github.com/facebook/flux, License: BSD 3-clause "New" License
  • 61. Source: RxJava 2 API documentation, http://reactivex.io/RxJava/2.x/javadoc/ Redux == Rx Scan Opearator
  • 62. Hot and Cold Event Streams 62  PULL-based (Cold Event Streams) – Cold streams (e.g. RxJava Observable / Flowable or Reactor Flow / Mono) are streams that run their sequence when and if they are subscribed to. They present the sequence from the start to each subscriber.  PUSH-based (Hot Event Streams) – emit values independent of individual subscriptions. They have their own timeline and events occur whether someone is listening or not. When subscription is made observer receives current events as they happen. Example: mouse events
  • 63. Converting Cold to Hot Stream 63
  • 64. Hot Stream Example - Reactor 64 EmitterProcessor<String> emitter = EmitterProcessor.create(); FluxSink<String> sink = emitter.sink(); emitter.publishOn(Schedulers.single()) .map(String::toUpperCase) .filter(s -> s.startsWith("HELLO")) .delayElements(Duration.of(1000, MILLIS)) .subscribe(System.out::println); sink.next("Hello World!"); // emit - non blocking sink.next("Goodbye World!"); sink.next("Hello Trayan!"); Thread.sleep(3000);
  • 65. Top New Features in Spring 5 65  Reactive Programming Model  Spring Web Flux  Reactive DB repositories & integrations + hot event streaming: MongoDB, CouchDB, Redis, Cassandra, Kafka  JDK 8+ and Java EE 7+ baseline  Testing improvements – WebTestClient (based on reactive WebFlux WebClient)  Kotlin functional DSL
  • 66. Project Reactor Spring 5 Main Building Blocks 66Source: https://spring.io Spring Boot 2.0 Reactive Stack (async IO) Servlet Stack (one request per thread) Spring Security Reactive Every JEE Servlet Container (tomact, jetty, undertow, ...) Nonblocking NIO Runtimes (Netty, Servlet 3.1 Containers) Spring Security Spring MVC Spring WebFlux Spring Data Repositories JDBC, JPA, NoSQL Spring Data Reactive Repositories Mongo, Cassandra, Redis, Couchbase
  • 67. WebFlux: Best Expalined in Code 67 Lets see REST service Spring 5 WebFlux demos. Available @GitHub: https://github.com/iproduct/spring-5-webflux
  • 68. Eclipse IoT Platform 68 Based on: https://www.researchgate.net/publication/279177017_Internet_of_Things_A_Survey_on_Enabling_ Technologies_Protocols_and_Applications, By Ala Al-Fuqaha et al. - Internet of Things: A Survey on Enabling Technologies, Protocols and Applications
  • 69. IPTPI: RPi2 + Ardunio Robot 69  Raspberry Pi 2 (quad-core ARMv7 @ 900MHz) + Arduino Leonardo cloneA-Star 32U4 Micro  Optical encoders (custom), IR optical array, 3D accelerometers, gyros, and compass MinIMU-9 v2  IPTPI is programmed in Java using Pi4J, Reactor, RxJava, Akka  More information about IPTPI: http://robolearn.org/iptpi-robot/
  • 70. IPTPI: RPi2 + Ardunio Robot 70 3D accelerometers, gyros, and compass MinIMU-9 v2 Pololu DRV8835 Dual Motor Driver for Raspberry Pi Arduino Leonardo clone A-Star 32U4 Micro USB Stereo Speakers - 5V LiPo Powebank 15000 mAh
  • 71. IPTPI: RPi2 + Ardunio Robot 71 Raspberry Pi 2 (quad-core ARMv7 @ 900MHz) IR Optical Sensor QRD1114 Array (Line Following) Adafruit 2.8" PiTFT - Capacitive Touch Screen
  • 72. 72
  • 73. LeJaRo: Lego® Java Robot 73  Modular – 3 motors (with encoders) – one driving each track, and third for robot clamp.  Three sensors: touch sensor (obstacle avoidance), light color sensor (follow line), IR sensor (remote).  LeJaRo is programmed in Java using LeJOS library.  More information about LeJaRo: http://robolearn.org/lejaro/  Programming examples available @GitHub: https://github.com/iproduct/course-social-robotics/tre e/master/motors_demo LEGO® is a registered trademark of LEGO® Group. Programs of IPT are not affiliated, sponsored or endorsed by LEGO® Education or LEGO® Group.
  • 76. Demo Code 76 Reactive Java Robotics and IoT with Reactor, RxJS, Angular 2 Demos are available @ GitHub: https://github.com/iproduct/course-social-robotics
  • 77. Thank’s for Your Attention! 77 Trayan Iliev CEO of IPT – Intellectual Products & Technologies http://iproduct.org/ http://robolearn.org/ https://github.com/iproduct https://twitter.com/trayaniliev https://www.facebook.com/IPT.EACAD https://plus.google.com/+IproductOrg