SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Version 1.0
APIs at the
Edge
APIs in the wild or how do APIs behave when left at the edge? Will they survive the
adversities out there?
Luca Ferrari
EMEA Edge Solution
Architect @ Red Hat
1
Version 1.0
Agenda
Edge definition
Edge challenges
Application pattern solutions
Protocol alternatives
Comparison
Energy analysis on PI [WIP]
Silver bullet
2
What and why
edge?
3
Definition
Edge computing is a distributed application
architecture that places computational resources
(eg, CPU and storage) close to the source of the
data.
By doing so, it offers the advantages of low
latency, high performance, and security for a wide
range of applications. 4
Why?
“ Around 10% of enterprise-generated data is created and processed outside
a traditional centralized data center or cloud. By 2025, Gartner predicts this
figure will reach 75%”
5
In everyday life …
➔ 5g connected ambulance to stream video and
sensor data from the ambulance directly to the
hospital
➔ Intelligent analysis at the edge of the patient
condition by leveraging patient models
➔ Allow for remote diagnostics through streaming of
advanced tools feed
6
Connected ambulance
Edge challenges
7
Challenges
1
Unreliable
connection
2
Unreliable
power source
3
Data sync not
always possible
4
Reduced
computing
resources
5
Legacy
protocols
6
Secure by
design
requirement
7
Low latency
requirement
8
High volume
of data
8
Problem
BrianzAcque self-service Case dell’acqua water kiosks dispense high-quality
still and sparkling water, purchased using a rechargeable payment card. To
present relevant, real-time information to consumers at each Case dell’acqua
location, BrianzAcque needed to integrate live data from its aqueducts and
water purification plants such as pH, calcium, chromium, nickel, mercury, and
manganese levels—and create a central management system. Additionally,
kiosks must be able to read citizens’ payment cards to identify users and
process purchases.
Solution
The technology in the kiosks is based on the Arduino interactive electronic
platform. Container platform is distributed outside of the datacenter to adapt
to IoT needs, which provides portability across deployments and devices.
1. Achieved real-time delivery of water quality data
2. Improved operational efficiency and costs
3. Established robust security to meet industry regulations
Field example
9
Field example
10
Problem
Manage 1 billion ConnectedDrive requests per week
Stay competitive in the autonomous vehicle market & transform from a “car
maker” to “mobility provider”
Offer customers new connected services
Invest in autonomous driving by using data
Solution
High-performance AI Platform for autonomous driving to analyze massive
amounts of global test fleet data in the cloud
Cloud-native platform lets developers focus on building apps
ConnectedDrive backend runs on Container Platform
1. 12 million connected cars
2. 1 billion request per week
Patterns
11
Pattern solutions
Typical policies or patterns applied at the REST level to solve edge challenges:
1. Persist measurements locally when disconnected
2. Filter and aggregate to reduce bandwidth usage
3. Cache query results and authentication on Edge side
4. Automatic device registration
5. …
12
Talking to edge
13
Stack
14
REST
COAP
MQTT
Thrift
Websockets
AMQP
gRPC
HTTP
HTTP/2
HTTP/2 improvements:
❏ Binary encoding (vs plain text)
❏ Request response multiplexing (vs multiple TCP
connections)
❏ Stream prioritization
❏ TLS by default
❏ Server Push
❏ Header compression
15
http://www.http2demo.io/
HTTP
HTTP/3 [proposal]
HTTP/3 major difference:
❏ HTTP/3 uses QUIC, a multiplexed transport
protocol built on UDP
16
https://cloudflare-quic.com/
REST
01
No official standard
Defining features:
● Client server model
● Stateless
● Cacheable
● Uniform interface
● Transparent layering
17
REST
01
No official standard
Defining features:
● Client server model
● Stateless
● Cacheable
● Uniform interface
● Transparent layering
18
REST
01
Used everywhere, mobile applications included
Easiest way to try:
https://learning.postman.com/docs/developer/ech
o-api/
Typical output format:
JSON but can transfer binary
19
COAP
02
CoAP is a lightweight M2M protocol from the IETF CoRE
(Constrained RESTful Environments) Working Group.
Constrained Application Protocol (CoAP):
❏ Runs on UDP (optional DTLS)
❏ Very similar to HTTP (support many of the request/response
codes)
❏ Possible multicast
❏ Low protocol overhead (binary protocol)
20
COAP
02
Used mainly for IoT and M2M communications, found
in WSN. Not widely used as it is relatively young
Easiest way to try:
https://coap.me/
21
gRPC
03
gRPC is a cross-platform open source high
performance Remote Procedure Call (RPC) framework.
gRPC was initially created by Google.
gRPC Remote Procedure Call:
❏ Uses HTTP/2 protocol
❏ Uses Protocol Buffers to describe the interfaces
❏ Strict message specification (less doubt about
implementation)
22
gRPC
03
Typically used in connecting services in a microservices
oriented architecture, or connecting mobile device
clients to backend services.
Try out with:
https://blog.postman.com/testing-grpc-apis-with-
postman/
23
MQTT
04
MQTT is a M2M communication protocols, introduced
in 1999.
MQTT client publishes messages to an MQTT broker,
which are subscribed by other clients or may be
retained for the future subscription. Clients can
subscribe to multiple topics and receives every
message published to the each topic.
Message Queuing Telemetry Transport Protocol:
❏ it is a publish/subscribe messaging
❏ it is a binary protocol
❏ It offers 3 levels of QoS
24
MQTT
04
Typically used in IoT enterprise and home solutions
Easiest way to try:
http://www.hivemq.com/demos/websocket-client/
25
AMQP
05
AMQP is a lightweight M2M protocol, designed
for reliability, security, provisioning and interoperability.
Latest spec version is 1.0
Advanced Message Queuing Protocol:
❏ supports both request/response and publish/subscribe
❏ Binary protocol
❏ exchanges messages in various ways: directly, in fanout
form, by topic, or based on headers
26
AMQP
05
Java environment, enterprise messaging, but also
sometimes IoT scenarios
Easiest way to try:
http://tryrabbitmq.com/
27
Thrift
06
Thrift is an Interface Definition Language and binary communication
protocol developed at Facebook for "scalable cross-language services
development". Open Source Apache project.
Apache Thrift:
❏ Similar to gRPC and inherently similar advantages
❏ Binary format
❏ It can use TCP and HTTP
28
Thrift
06
29
Still used widely at Facebook and in general for all
those use cases where gRPC is used
Websockets
07
WebSocket provides full-duplex communication
channels over a single TCP connection. It is using
HTTP as underlying protocol, with HTTP Upgrade
message.
WebSockets:
❏ Provides full duplex communication
❏ Allow for stream of messages
❏ Enabled by default on most browsers
30
Websockets
07
31
Relevant in IoT scenarios for these main reasons:
❏ allow to encapsulate protocols such as MQTT
without the need for middleware
❏ It is a real time protocol
❏ It uses a pub/sub framework based on HTTP
Typically used when real time feeds are needed:
video/chats, real time location, real time updates
Easiest way to try:
https://www.piesocket.com/websocket-tester
Showdown
32
Metrics
1. Information efficiency (protocol overhead)
2. Support for prioritization and traffic control
3. Security measures and standards
4. Performance (latency & TPS) [WIP]
5. Developer experience & adoption
33
Protocol overhead
34
❏ Assumption of a very simple message to
simulate Edge scenario (1KB)
❏ Will be using default or typical header size
for all protocols
❏ Since grpc runs on HTTP/2 further
optimizations might be achieved
Lower is better
Security
35
❏ REST and HTTP offer almost any form of variation in terms of AuthN and AuthZ and
communication encryption
❏ MQTT supports secure communication over TLS and supports AuthZ as well (port 8883
typically)
❏ AMQP supports secure communication over TLS and supports AuthZ too (port 5671)
❏ Websockets can use secure communication over port 443 HTTPS
❏ Grpc implements secure communication by default based on HTTP/2 with multiple AuthN
methods
❏ Coap adopts Datagram TLS over UDP for secure communication
Traffic control
36
❏ REST offers no flow control, but HTTP/2 introduces flow control functionality
❏ gRPC can take advantage of the above features
❏ Flow control is possible with AMQP (in Apache ArtemisMQ both Consumer and
Producer flow control measures are available), QoS is supported as well
❏ Flow control is available with the latest version of MQTT (v5), 3 level of QoS are
supported
❏ No flow control with Thrift, Coap or Websockets
Performance
37
Higher is better Lower is better
DX & adoption
❏ Interest is growing for MQTT at the edge
❏ grpc interest mostly related to cyberattacks
❏ Amqp mostly related and associated to java world
❏ Websockets mostly associated with javascript
❏ Both grpc and thrift have support across all major
programming languages
❏ Both mqtt and amqp require a broker making DX harder
38
Subjective scoring
Give me the
answer!
39
Sorry no silver bullet here, just a clickbait
Given the current environment and
volatility around Iot and Edge markets
no predictions can be made, but …
40
Sorry no silver bullet here, just a clickbait
Seems like MQTT is winning over in the
IoT and Edge space.
If otherwise you prefer request /
response model your answer might be
gRPC
41
Few words from
my co-host …
42
Quick intro
43
Links
44
Links
45
Thank you &
to our collaborator
Honeypot.io
46

Weitere ähnliche Inhalte

Was ist angesagt?

AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
Amazon Web Services Korea
 
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
Amazon Web Services Korea
 
금융사의 AWS기반 Digital Transformation 사례::고종원::AWS Summit Seoul 2018
금융사의 AWS기반 Digital Transformation 사례::고종원::AWS Summit Seoul 2018 금융사의 AWS기반 Digital Transformation 사례::고종원::AWS Summit Seoul 2018
금융사의 AWS기반 Digital Transformation 사례::고종원::AWS Summit Seoul 2018
Amazon Web Services Korea
 

Was ist angesagt? (20)

FIWARE Wednesday Webinars - How to Design DataModels
FIWARE Wednesday Webinars - How to Design DataModelsFIWARE Wednesday Webinars - How to Design DataModels
FIWARE Wednesday Webinars - How to Design DataModels
 
높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019
높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019 높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019
높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019
 
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
 
Amazon Detective를 활용하여 AWS 환경에서 보안사고 원인 분석하기 – 임기성, AWS 보안 담당 솔루션즈 아키텍트:: AWS...
Amazon Detective를 활용하여 AWS 환경에서 보안사고 원인 분석하기 – 임기성, AWS 보안 담당 솔루션즈 아키텍트:: AWS...Amazon Detective를 활용하여 AWS 환경에서 보안사고 원인 분석하기 – 임기성, AWS 보안 담당 솔루션즈 아키텍트:: AWS...
Amazon Detective를 활용하여 AWS 환경에서 보안사고 원인 분석하기 – 임기성, AWS 보안 담당 솔루션즈 아키텍트:: AWS...
 
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
 
Winhon Network Solution
Winhon Network SolutionWinhon Network Solution
Winhon Network Solution
 
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
 
Practical Implementation of Large BGP Community with Geotags and Traffic Engi...
Practical Implementation of Large BGP Community with Geotags and Traffic Engi...Practical Implementation of Large BGP Community with Geotags and Traffic Engi...
Practical Implementation of Large BGP Community with Geotags and Traffic Engi...
 
AWS Black Belt Techシリーズ Amazon Cognito / Amazon Mobile Analytics
AWS Black Belt Techシリーズ  Amazon Cognito / Amazon Mobile AnalyticsAWS Black Belt Techシリーズ  Amazon Cognito / Amazon Mobile Analytics
AWS Black Belt Techシリーズ Amazon Cognito / Amazon Mobile Analytics
 
Monitoring Microservices
Monitoring MicroservicesMonitoring Microservices
Monitoring Microservices
 
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...
 
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
 
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
 
[금융 고객을 위한 re:Invent 2023 re:Cap Event] 04_금융사가 알아야 할 reInvent 20...
[금융 고객을 위한 re:Invent 2023 re:Cap Event] 04_금융사가 알아야 할 reInvent 20...[금융 고객을 위한 re:Invent 2023 re:Cap Event] 04_금융사가 알아야 할 reInvent 20...
[금융 고객을 위한 re:Invent 2023 re:Cap Event] 04_금융사가 알아야 할 reInvent 20...
 
05. 마이크로서비스 아키텍처 환경에서의 SSO 구축방안
05. 마이크로서비스 아키텍처 환경에서의 SSO 구축방안05. 마이크로서비스 아키텍처 환경에서의 SSO 구축방안
05. 마이크로서비스 아키텍처 환경에서의 SSO 구축방안
 
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
 
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
 
금융사의 AWS기반 Digital Transformation 사례::고종원::AWS Summit Seoul 2018
금융사의 AWS기반 Digital Transformation 사례::고종원::AWS Summit Seoul 2018 금융사의 AWS기반 Digital Transformation 사례::고종원::AWS Summit Seoul 2018
금융사의 AWS기반 Digital Transformation 사례::고종원::AWS Summit Seoul 2018
 
Herramientas de monitorización de flujos ¿Qué tenemos? ¿Qué necesitamos?
Herramientas de monitorización de flujos ¿Qué tenemos? ¿Qué necesitamos?Herramientas de monitorización de flujos ¿Qué tenemos? ¿Qué necesitamos?
Herramientas de monitorización de flujos ¿Qué tenemos? ¿Qué necesitamos?
 
Deep Dive on Amazon Aurora - Covering New Feature Announcements
Deep Dive on Amazon Aurora - Covering New Feature AnnouncementsDeep Dive on Amazon Aurora - Covering New Feature Announcements
Deep Dive on Amazon Aurora - Covering New Feature Announcements
 

Ähnlich wie APIs at the Edge

Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
Charles Gibbons
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
Charles Gibbons
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
Charles Gibbons
 

Ähnlich wie APIs at the Edge (20)

The new (is it really ) api stack
The new (is it really ) api stackThe new (is it really ) api stack
The new (is it really ) api stack
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
 
Internet of Things: Protocols for M2M
Internet of Things: Protocols for M2MInternet of Things: Protocols for M2M
Internet of Things: Protocols for M2M
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 
WebRTC
WebRTCWebRTC
WebRTC
 
WebRTC in action
WebRTC in actionWebRTC in action
WebRTC in action
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M users
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
KrakenD API Gateway
KrakenD API GatewayKrakenD API Gateway
KrakenD API Gateway
 
Locationless data science on a modern secure edge
Locationless data science on a modern secure edgeLocationless data science on a modern secure edge
Locationless data science on a modern secure edge
 
Chapter04
Chapter04Chapter04
Chapter04
 
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
 
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, GoogleBringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
 
Architecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto GonzalezArchitecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto Gonzalez
 

Mehr von Luca Mattia Ferrari

Lucamaf1 2949-db--winter2013-accomplishment
Lucamaf1 2949-db--winter2013-accomplishmentLucamaf1 2949-db--winter2013-accomplishment
Lucamaf1 2949-db--winter2013-accomplishment
Luca Mattia Ferrari
 
statement of accomplishment - heterogeneous parallel programming
statement of accomplishment - heterogeneous parallel programmingstatement of accomplishment - heterogeneous parallel programming
statement of accomplishment - heterogeneous parallel programming
Luca Mattia Ferrari
 

Mehr von Luca Mattia Ferrari (20)

Meetup 2023 - Gateway API.pdf
Meetup 2023 - Gateway API.pdfMeetup 2023 - Gateway API.pdf
Meetup 2023 - Gateway API.pdf
 
Meetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfMeetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdf
 
Meetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdfMeetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdf
 
Opa in the api management world
Opa in the api management worldOpa in the api management world
Opa in the api management world
 
How easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performanceHow easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performance
 
Covid impact on digital identity
Covid impact on digital identityCovid impact on digital identity
Covid impact on digital identity
 
How do async ap is survive in a rest world
How do async ap is survive in a rest world How do async ap is survive in a rest world
How do async ap is survive in a rest world
 
The case for a unified way of speaking to things
The case for a unified way of speaking to thingsThe case for a unified way of speaking to things
The case for a unified way of speaking to things
 
What is the best approach to tdd
What is the best approach to tddWhat is the best approach to tdd
What is the best approach to tdd
 
Leverage event streaming framework to build intelligent applications
Leverage event streaming framework to build intelligent applicationsLeverage event streaming framework to build intelligent applications
Leverage event streaming framework to build intelligent applications
 
Using Streaming APIs in Production
Using Streaming APIs in ProductionUsing Streaming APIs in Production
Using Streaming APIs in Production
 
The independence facts
The independence factsThe independence facts
The independence facts
 
Api observability
Api observability Api observability
Api observability
 
Api service mesh and microservice tooling
Api service mesh and microservice toolingApi service mesh and microservice tooling
Api service mesh and microservice tooling
 
Api design best practice
Api design best practiceApi design best practice
Api design best practice
 
Certificate complexity
Certificate complexityCertificate complexity
Certificate complexity
 
Lucamaf1 2949-db--winter2013-accomplishment
Lucamaf1 2949-db--winter2013-accomplishmentLucamaf1 2949-db--winter2013-accomplishment
Lucamaf1 2949-db--winter2013-accomplishment
 
certificate game theory
certificate game theorycertificate game theory
certificate game theory
 
statement of accomplishment - heterogeneous parallel programming
statement of accomplishment - heterogeneous parallel programmingstatement of accomplishment - heterogeneous parallel programming
statement of accomplishment - heterogeneous parallel programming
 
MS thesis
MS thesisMS thesis
MS thesis
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
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
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Kürzlich hochgeladen (20)

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
 
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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
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
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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
 
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
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
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 ☂️
 
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
 
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
 
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
 
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 ...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 

APIs at the Edge

  • 1. Version 1.0 APIs at the Edge APIs in the wild or how do APIs behave when left at the edge? Will they survive the adversities out there? Luca Ferrari EMEA Edge Solution Architect @ Red Hat 1
  • 2. Version 1.0 Agenda Edge definition Edge challenges Application pattern solutions Protocol alternatives Comparison Energy analysis on PI [WIP] Silver bullet 2
  • 4. Definition Edge computing is a distributed application architecture that places computational resources (eg, CPU and storage) close to the source of the data. By doing so, it offers the advantages of low latency, high performance, and security for a wide range of applications. 4
  • 5. Why? “ Around 10% of enterprise-generated data is created and processed outside a traditional centralized data center or cloud. By 2025, Gartner predicts this figure will reach 75%” 5
  • 6. In everyday life … ➔ 5g connected ambulance to stream video and sensor data from the ambulance directly to the hospital ➔ Intelligent analysis at the edge of the patient condition by leveraging patient models ➔ Allow for remote diagnostics through streaming of advanced tools feed 6 Connected ambulance
  • 8. Challenges 1 Unreliable connection 2 Unreliable power source 3 Data sync not always possible 4 Reduced computing resources 5 Legacy protocols 6 Secure by design requirement 7 Low latency requirement 8 High volume of data 8
  • 9. Problem BrianzAcque self-service Case dell’acqua water kiosks dispense high-quality still and sparkling water, purchased using a rechargeable payment card. To present relevant, real-time information to consumers at each Case dell’acqua location, BrianzAcque needed to integrate live data from its aqueducts and water purification plants such as pH, calcium, chromium, nickel, mercury, and manganese levels—and create a central management system. Additionally, kiosks must be able to read citizens’ payment cards to identify users and process purchases. Solution The technology in the kiosks is based on the Arduino interactive electronic platform. Container platform is distributed outside of the datacenter to adapt to IoT needs, which provides portability across deployments and devices. 1. Achieved real-time delivery of water quality data 2. Improved operational efficiency and costs 3. Established robust security to meet industry regulations Field example 9
  • 10. Field example 10 Problem Manage 1 billion ConnectedDrive requests per week Stay competitive in the autonomous vehicle market & transform from a “car maker” to “mobility provider” Offer customers new connected services Invest in autonomous driving by using data Solution High-performance AI Platform for autonomous driving to analyze massive amounts of global test fleet data in the cloud Cloud-native platform lets developers focus on building apps ConnectedDrive backend runs on Container Platform 1. 12 million connected cars 2. 1 billion request per week
  • 12. Pattern solutions Typical policies or patterns applied at the REST level to solve edge challenges: 1. Persist measurements locally when disconnected 2. Filter and aggregate to reduce bandwidth usage 3. Cache query results and authentication on Edge side 4. Automatic device registration 5. … 12
  • 15. HTTP HTTP/2 HTTP/2 improvements: ❏ Binary encoding (vs plain text) ❏ Request response multiplexing (vs multiple TCP connections) ❏ Stream prioritization ❏ TLS by default ❏ Server Push ❏ Header compression 15 http://www.http2demo.io/
  • 16. HTTP HTTP/3 [proposal] HTTP/3 major difference: ❏ HTTP/3 uses QUIC, a multiplexed transport protocol built on UDP 16 https://cloudflare-quic.com/
  • 17. REST 01 No official standard Defining features: ● Client server model ● Stateless ● Cacheable ● Uniform interface ● Transparent layering 17
  • 18. REST 01 No official standard Defining features: ● Client server model ● Stateless ● Cacheable ● Uniform interface ● Transparent layering 18
  • 19. REST 01 Used everywhere, mobile applications included Easiest way to try: https://learning.postman.com/docs/developer/ech o-api/ Typical output format: JSON but can transfer binary 19
  • 20. COAP 02 CoAP is a lightweight M2M protocol from the IETF CoRE (Constrained RESTful Environments) Working Group. Constrained Application Protocol (CoAP): ❏ Runs on UDP (optional DTLS) ❏ Very similar to HTTP (support many of the request/response codes) ❏ Possible multicast ❏ Low protocol overhead (binary protocol) 20
  • 21. COAP 02 Used mainly for IoT and M2M communications, found in WSN. Not widely used as it is relatively young Easiest way to try: https://coap.me/ 21
  • 22. gRPC 03 gRPC is a cross-platform open source high performance Remote Procedure Call (RPC) framework. gRPC was initially created by Google. gRPC Remote Procedure Call: ❏ Uses HTTP/2 protocol ❏ Uses Protocol Buffers to describe the interfaces ❏ Strict message specification (less doubt about implementation) 22
  • 23. gRPC 03 Typically used in connecting services in a microservices oriented architecture, or connecting mobile device clients to backend services. Try out with: https://blog.postman.com/testing-grpc-apis-with- postman/ 23
  • 24. MQTT 04 MQTT is a M2M communication protocols, introduced in 1999. MQTT client publishes messages to an MQTT broker, which are subscribed by other clients or may be retained for the future subscription. Clients can subscribe to multiple topics and receives every message published to the each topic. Message Queuing Telemetry Transport Protocol: ❏ it is a publish/subscribe messaging ❏ it is a binary protocol ❏ It offers 3 levels of QoS 24
  • 25. MQTT 04 Typically used in IoT enterprise and home solutions Easiest way to try: http://www.hivemq.com/demos/websocket-client/ 25
  • 26. AMQP 05 AMQP is a lightweight M2M protocol, designed for reliability, security, provisioning and interoperability. Latest spec version is 1.0 Advanced Message Queuing Protocol: ❏ supports both request/response and publish/subscribe ❏ Binary protocol ❏ exchanges messages in various ways: directly, in fanout form, by topic, or based on headers 26
  • 27. AMQP 05 Java environment, enterprise messaging, but also sometimes IoT scenarios Easiest way to try: http://tryrabbitmq.com/ 27
  • 28. Thrift 06 Thrift is an Interface Definition Language and binary communication protocol developed at Facebook for "scalable cross-language services development". Open Source Apache project. Apache Thrift: ❏ Similar to gRPC and inherently similar advantages ❏ Binary format ❏ It can use TCP and HTTP 28
  • 29. Thrift 06 29 Still used widely at Facebook and in general for all those use cases where gRPC is used
  • 30. Websockets 07 WebSocket provides full-duplex communication channels over a single TCP connection. It is using HTTP as underlying protocol, with HTTP Upgrade message. WebSockets: ❏ Provides full duplex communication ❏ Allow for stream of messages ❏ Enabled by default on most browsers 30
  • 31. Websockets 07 31 Relevant in IoT scenarios for these main reasons: ❏ allow to encapsulate protocols such as MQTT without the need for middleware ❏ It is a real time protocol ❏ It uses a pub/sub framework based on HTTP Typically used when real time feeds are needed: video/chats, real time location, real time updates Easiest way to try: https://www.piesocket.com/websocket-tester
  • 33. Metrics 1. Information efficiency (protocol overhead) 2. Support for prioritization and traffic control 3. Security measures and standards 4. Performance (latency & TPS) [WIP] 5. Developer experience & adoption 33
  • 34. Protocol overhead 34 ❏ Assumption of a very simple message to simulate Edge scenario (1KB) ❏ Will be using default or typical header size for all protocols ❏ Since grpc runs on HTTP/2 further optimizations might be achieved Lower is better
  • 35. Security 35 ❏ REST and HTTP offer almost any form of variation in terms of AuthN and AuthZ and communication encryption ❏ MQTT supports secure communication over TLS and supports AuthZ as well (port 8883 typically) ❏ AMQP supports secure communication over TLS and supports AuthZ too (port 5671) ❏ Websockets can use secure communication over port 443 HTTPS ❏ Grpc implements secure communication by default based on HTTP/2 with multiple AuthN methods ❏ Coap adopts Datagram TLS over UDP for secure communication
  • 36. Traffic control 36 ❏ REST offers no flow control, but HTTP/2 introduces flow control functionality ❏ gRPC can take advantage of the above features ❏ Flow control is possible with AMQP (in Apache ArtemisMQ both Consumer and Producer flow control measures are available), QoS is supported as well ❏ Flow control is available with the latest version of MQTT (v5), 3 level of QoS are supported ❏ No flow control with Thrift, Coap or Websockets
  • 38. DX & adoption ❏ Interest is growing for MQTT at the edge ❏ grpc interest mostly related to cyberattacks ❏ Amqp mostly related and associated to java world ❏ Websockets mostly associated with javascript ❏ Both grpc and thrift have support across all major programming languages ❏ Both mqtt and amqp require a broker making DX harder 38 Subjective scoring
  • 40. Sorry no silver bullet here, just a clickbait Given the current environment and volatility around Iot and Edge markets no predictions can be made, but … 40
  • 41. Sorry no silver bullet here, just a clickbait Seems like MQTT is winning over in the IoT and Edge space. If otherwise you prefer request / response model your answer might be gRPC 41
  • 42. Few words from my co-host … 42
  • 46. Thank you & to our collaborator Honeypot.io 46

Hinweis der Redaktion

  1. https://enterprisersproject.com/article/2019/7/edge-computing-explained-plain-english https://www.gartner.com/smarterwithgartner/what-edge-computing-means-for-infrastructure-and-operations-leaders
  2. https://stlpartners.com/articles/edge-computing/digital-health-at-the-edge/
  3. https://web.dev/performance-http2/
  4. https://web.dev/performance-http2/
  5. https://en.wikipedia.org/wiki/Representational_state_transfer
  6. https://en.wikipedia.org/wiki/Representational_state_transfer
  7. https://www.amqp.org/about/examples
  8. https://thrift-tutorial.readthedocs.io/en/latest/thrift-stack.html
  9. https://medium.com/the-developer-journal/10-most-amazing-use-cases-of-websockets-go-real-time-166b71e0e711