SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
gRPC
Fai parlare i tuoi servizi: in binario, cross-platform, cross-language, ovunque siano
Mauro Bennici - 09/06/2021
Mauro Bennici
.NET Foundation member, Startupper, Data Scientist, Professional Scrum Master (PSM), Microsoft Certified Trainer
(MCT), Azure Cloud Solutions Associate (MCSA). Member of the European DIGITAL SME Alliance Focus Group on
Artificial Intelligence. Mentor at Techstars.
@maurobennici
https://www.linkedin.com/in/maurobennici/
https://ghostwriter.ai
gRPC?
A high performance, open
source universal RPC
framework
Source: https://blog.oureducation.in/important-questions-on-remote-procedure-call/
Source: https://sagikazarmark.hu/blog/twirphp-a-modern-rpc-framework-for-php/
Problemi
- Piattaforma
- Compatibilità binaria
- Dati in binario
- Linguaggio di programmazione
- Sicurezza
- Latenza
Alternative (più o meno)
- SOAP
- CORBA
- (REST) API
- WebSocket
Limiti
- CORBA (enorme e complesso)
- REST API (nata NON per la velocità, non bi-direzionale)
Linguaggi supportati
- C#
- C++
- Dart
- Go
- Java
- Kotlin
- Node
- Objective-C
- PHP
- Python
- Ruby
Protocol Buffers
Source: https://developers.google.com/protocol-buffers/
HTTP 2
Source: https://developers.google.com/web/fundamentals/performance/http2/
DEMO
Passiamo alla ciccia!
Ma prima un paio di link:
https://github.com/protocolbuffers/protobuf
https://github.com/fullstorydev/grpcui
Quando usare cosa?
gRPC vs REST: Understanding gRPC,
OpenAPI and REST and when to use
them in API design
https://cloud.google.com/blog/products/api-management/understanding-grpc-openapi-and-rest-and-when-to-use-them
gRPC vs REST
- Entrambi -> HTTP 2
- Entrambi -> ProtoBuf
- Entrambi -> SSL
- Entrambi -> Interceptor (implementazione)
- gRPC -> streaming
- gRPC -> bidirezionale
- REST -> funziona su browser (gRPC nì)
- REST -> interoperabile (gRPC nì)
- gRPC -> FAST!!!!
- gRPC -> strongly typed
gRPC e REST
Creare gateway REST API per gRPC
https://grpc-ecosystem.github.io/grpc-gateway/
Generare sia gRPC che REST API (con tanto di Swagger) da file proto ma NON supportato
https://docs.microsoft.com/en-us/aspnet/core/grpc/httpapi?view=aspnetcore-5.0
Benchmarks .Net Core 3.1 v 5.0
Source: https://medium.com/swlh/working-with-grpc-in-net-b8e56404674b
Caso Studio
DropBox
https://dropbox.tech/infrastructure/how-we-migrated-dropbox-from-nginx-to-envoy
Mauro Bennici
.NET Foundation member, Startupper, Data Scientist, Professional Scrum Master (PSM), Microsoft Certified Trainer
(MCT), Azure Cloud Solutions Associate (MCSA). Member of the European DIGITAL SME Alliance Focus Group on
Artificial Intelligence. Mentor at Techstars.
@maurobennici
https://www.linkedin.com/in/maurobennici/
https://ghostwriter.ai

Weitere ähnliche Inhalte

Ähnlich wie gRPC - Meetup #aperi tech torino.net

MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst Boulder Digital Works at CU
 
Terraform a gitlab ci
Terraform a gitlab ciTerraform a gitlab ci
Terraform a gitlab ciJuraj Hantak
 
Gluing the IoT world with Java and LoRaWAN
Gluing the IoT world with Java and LoRaWANGluing the IoT world with Java and LoRaWAN
Gluing the IoT world with Java and LoRaWANPance Cavkovski
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019Ahmed Abu Eldahab
 
Mohamed rashad resume september 2020
Mohamed rashad resume september 2020Mohamed rashad resume september 2020
Mohamed rashad resume september 2020Mohamed Rashad
 
ASP.NET Core dospělo už i v Linuxu
ASP.NET Core dospělo už i v LinuxuASP.NET Core dospělo už i v Linuxu
ASP.NET Core dospělo už i v LinuxuTomáš Horváth
 
What's Next Replay - SpringSource
What's Next Replay - SpringSourceWhat's Next Replay - SpringSource
What's Next Replay - SpringSourceZenikaOuest
 
Gaurav security profile_5_years_experience
Gaurav security profile_5_years_experienceGaurav security profile_5_years_experience
Gaurav security profile_5_years_experiencegaurav sharma
 
Mallikarjun_BizTalkResume_10_June_15
Mallikarjun_BizTalkResume_10_June_15Mallikarjun_BizTalkResume_10_June_15
Mallikarjun_BizTalkResume_10_June_15Mallikarjun Dirisala
 
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}Md. Sadhan Sarker
 
Apidays Paris 2023 - API Security Challenges for Cloud-native Software Archit...
Apidays Paris 2023 - API Security Challenges for Cloud-native Software Archit...Apidays Paris 2023 - API Security Challenges for Cloud-native Software Archit...
Apidays Paris 2023 - API Security Challenges for Cloud-native Software Archit...apidays
 

Ähnlich wie gRPC - Meetup #aperi tech torino.net (20)

Kavita resume
Kavita resume Kavita resume
Kavita resume
 
RSPSAP
RSPSAPRSPSAP
RSPSAP
 
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
 
CurriculumVitae
CurriculumVitaeCurriculumVitae
CurriculumVitae
 
Terraform a gitlab ci
Terraform a gitlab ciTerraform a gitlab ci
Terraform a gitlab ci
 
Gluing the IoT world with Java and LoRaWAN
Gluing the IoT world with Java and LoRaWANGluing the IoT world with Java and LoRaWAN
Gluing the IoT world with Java and LoRaWAN
 
Resume
ResumeResume
Resume
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
 
Mohamed rashad resume september 2020
Mohamed rashad resume september 2020Mohamed rashad resume september 2020
Mohamed rashad resume september 2020
 
cvBarisGomleksizoglu-eng
cvBarisGomleksizoglu-engcvBarisGomleksizoglu-eng
cvBarisGomleksizoglu-eng
 
ASP.NET Core dospělo už i v Linuxu
ASP.NET Core dospělo už i v LinuxuASP.NET Core dospělo už i v Linuxu
ASP.NET Core dospělo už i v Linuxu
 
What's Next Replay - SpringSource
What's Next Replay - SpringSourceWhat's Next Replay - SpringSource
What's Next Replay - SpringSource
 
Gaurav security profile_5_years_experience
Gaurav security profile_5_years_experienceGaurav security profile_5_years_experience
Gaurav security profile_5_years_experience
 
Resume
ResumeResume
Resume
 
Mohammed_Murtuza_EAI
Mohammed_Murtuza_EAIMohammed_Murtuza_EAI
Mohammed_Murtuza_EAI
 
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
 
Jawad's Resume
Jawad's ResumeJawad's Resume
Jawad's Resume
 
Mallikarjun_BizTalkResume_10_June_15
Mallikarjun_BizTalkResume_10_June_15Mallikarjun_BizTalkResume_10_June_15
Mallikarjun_BizTalkResume_10_June_15
 
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
 
Apidays Paris 2023 - API Security Challenges for Cloud-native Software Archit...
Apidays Paris 2023 - API Security Challenges for Cloud-native Software Archit...Apidays Paris 2023 - API Security Challenges for Cloud-native Software Archit...
Apidays Paris 2023 - API Security Challenges for Cloud-native Software Archit...
 

Mehr von Mauro Bennici

The Dev Battle - Codemotion - Giugno 2021
The Dev Battle - Codemotion - Giugno 2021The Dev Battle - Codemotion - Giugno 2021
The Dev Battle - Codemotion - Giugno 2021Mauro Bennici
 
NextCode 31 marzo 2021
NextCode 31 marzo 2021NextCode 31 marzo 2021
NextCode 31 marzo 2021Mauro Bennici
 
ONNX Runtime - Talk at Codemotion 2021
ONNX Runtime - Talk at Codemotion 2021ONNX Runtime - Talk at Codemotion 2021
ONNX Runtime - Talk at Codemotion 2021Mauro Bennici
 
AI Talks Live - ML.NET and NLP (with ONNX)
AI Talks Live - ML.NET and NLP (with ONNX)AI Talks Live - ML.NET and NLP (with ONNX)
AI Talks Live - ML.NET and NLP (with ONNX)Mauro Bennici
 

Mehr von Mauro Bennici (6)

AI Ethics.pptx
AI Ethics.pptxAI Ethics.pptx
AI Ethics.pptx
 
The Dev Battle - Codemotion - Giugno 2021
The Dev Battle - Codemotion - Giugno 2021The Dev Battle - Codemotion - Giugno 2021
The Dev Battle - Codemotion - Giugno 2021
 
NextCode 31 marzo 2021
NextCode 31 marzo 2021NextCode 31 marzo 2021
NextCode 31 marzo 2021
 
ONNX Runtime - Talk at Codemotion 2021
ONNX Runtime - Talk at Codemotion 2021ONNX Runtime - Talk at Codemotion 2021
ONNX Runtime - Talk at Codemotion 2021
 
AI Talks Live - ML.NET and NLP (with ONNX)
AI Talks Live - ML.NET and NLP (with ONNX)AI Talks Live - ML.NET and NLP (with ONNX)
AI Talks Live - ML.NET and NLP (with ONNX)
 
A.I. for business
A.I. for businessA.I. for business
A.I. for business
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 

Kürzlich hochgeladen (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

gRPC - Meetup #aperi tech torino.net