SlideShare a Scribd company logo
Bye Bye WCF,
hello gRPC
@svswaminathan
.NET Conf Local Bengaluru – Oct 19, 2019
1
Swaminathan Vetri
SWAMINATHANVETRI.IN 2
Technical Architect,
Maersk | Microsoft
MVP
Speaking, Blogging,
Photography,
Travelling
Gadget freak
Twitter :
@svswaminathan
Blog :
swaminathanvetri.in
Agenda
• State of WCF in .NET Core 3.0 ?
• What is gRPC ?
• Why gRPC ?
• What it offers ?
• gRPC – C Core vs gRPC-dotnet
• Demos
State of WCF in .NET Core 3.0
• What didn’t make it to .NET Core 3.0 ?
• WCF Server, Workflow, ASP.NET WebForms, Remoting, App Domains
• Core WCF – open source community project
• WCF Client components are part of .NET Core 3.0
SWAMINATHANVETRI.IN 4
What is gRPC ?
• gRPC is a modern open source high
performance RPC framework that can run in
any environment
SWAMINATHANVETRI.IN 5
Protocol Buffers
• Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data –
think XML, but smaller, faster, and simpler
Sample proto format
message Person
{ string name = 1;
int32 id = 2;
bool has_ponycopter = 3;
}
SWAMINATHANVETRI.IN 6
Why Protocol Buffers ?
SWAMINATHANVETRI.IN 7
Simpler 3 to 10 times smaller 20 to 100 times faster Less ambiguous Generate data access
classes that are easier to
use programmatically
How gRPC works ?
SWAMINATHANVETRI.IN 8
Why gRPC?
SWAMINATHANVETRI.IN 9
PERFORMANCE INTEROPERABILITY USABILITY &
PRODUCTIVITY
STREAMING SECURITY
What it offers ?
SWAMINATHANVETRI.IN 10
WCF vs gRPC
WCF
• Service Contract, Operation Contract, and Data
Contract
• Contracts written in C# or Visual Basic
• Configurable, including SOAP/XML, Plain XML,
JSON, .NET Binary, and so on.
• Interop when using SOAP over HTTP
• Networking configured at runtime. Switch
between TCP, HTTP, MSMQ, and so on.
• Runtime generation of serialization
/deserialization and networking code in base
classes
• Authentication, WS-Security, message encryption
gRPC
• Uses proto file to declare services and messages
• Protocol Buffer language
• Protocol Buffer binary format (although it’s
possible to use other formats).
• Official support: .NET, Java, Python, JavaScript,
C/C++, Go, Rust, Ruby, Swift, Dart, PHP. Unofficial
support for other languages from the community.
• Always HTTP/2
• Build-time generation of serialization
/deserialization and networking code in base
classes
• Credentials, ASP.NET Core security, TLS networking
SWAMINATHANVETRI.IN 11
Source : http://aka.ms/grpcforwcfebook
grpc c-core vs grpc-dotnet
• Source : https://grpc.io/blog/grpc-on-dotnetcore/
SWAMINATHANVETRI.IN 12
References
• https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-
net/
SWAMINATHANVETRI.IN 13

More Related Content

PPTX
Microservice Workshop Hands On
PPTX
Production ready Vert.x
PPTX
Vertx in production
PPTX
istio: service mesh for all
PPTX
Detailed Introduction To Docker
PDF
Inter-Process Communication in Microservices using gRPC
PDF
Application Rollout - Istio
PDF
GDG Algiers DevFest 2013 Cool AndroidLibs
Microservice Workshop Hands On
Production ready Vert.x
Vertx in production
istio: service mesh for all
Detailed Introduction To Docker
Inter-Process Communication in Microservices using gRPC
Application Rollout - Istio
GDG Algiers DevFest 2013 Cool AndroidLibs

What's hot (20)

PDF
The Beam Vision for Portability: "Write once run anywhere"
PDF
Introduction to event based microservices
PPTX
Ruby on rails
PDF
'How to build efficient backend based on microservice architecture' by Anton ...
PDF
Managing Microservices traffic using Istio
PDF
APIdays Helsinki 2019 - gRPC: Lightning Fast, Self-Documenting APIs with Moha...
PDF
NATS in action - A Real time Microservices Architecture handled by NATS
PDF
Introduction to gRPC
PPTX
Open API (aka Swagger) - DDD by Night May 2020
PDF
RIA front-ends: Flex, GWT integration in Nuxeo
PDF
Scaling and Orchestrating Microservices with OSGi - N Bartlett
PDF
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020
PDF
Building Scalable Backends with Go
PDF
Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...
PPTX
Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021
PPTX
Using an API Gateway for Microservices (APAC Webinar)
PPTX
Advent of magento2
PDF
Conheça a nova arquitetura do compilador do C# (DNAD 2015)
PPTX
Get acquainted with the new ASP.Net 5
PDF
Asynchronous Microservices in nodejs
The Beam Vision for Portability: "Write once run anywhere"
Introduction to event based microservices
Ruby on rails
'How to build efficient backend based on microservice architecture' by Anton ...
Managing Microservices traffic using Istio
APIdays Helsinki 2019 - gRPC: Lightning Fast, Self-Documenting APIs with Moha...
NATS in action - A Real time Microservices Architecture handled by NATS
Introduction to gRPC
Open API (aka Swagger) - DDD by Night May 2020
RIA front-ends: Flex, GWT integration in Nuxeo
Scaling and Orchestrating Microservices with OSGi - N Bartlett
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020
Building Scalable Backends with Go
Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...
Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021
Using an API Gateway for Microservices (APAC Webinar)
Advent of magento2
Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Get acquainted with the new ASP.Net 5
Asynchronous Microservices in nodejs
Ad

Similar to Bye bye WCF, hello gRPC (20)

PPTX
Presentation1.pptx
PDF
Aspnet Core Grpc For Wcf Developers V60 20211217 Mark Rendle
PDF
What do you need to know about g rpc on .net
PPTX
The new (is it really ) api stack
PPTX
From WCF to gRPC
PDF
From '00s to '20s: from RESTful to gRPC
PDF
Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017
PPTX
Demystifying gRPC in .Net by John Staveley
PPTX
Introduction to gRPC (Application) Presentation
PPTX
Introduction to gRPC. Advantages and Disadvantages
PPTX
Introduction to gRPC Presentation (Java)
PDF
gRPC - RPC rebirth?
PPTX
ASP.NET Core 3.0 Deep Dive
PDF
gRPC with java
PPTX
gRPC on .NET Core - NDC Sydney 2019
PPTX
What is gRPC introduction gRPC Explained
PPTX
.NET Core Today and Tomorrow
Presentation1.pptx
Aspnet Core Grpc For Wcf Developers V60 20211217 Mark Rendle
What do you need to know about g rpc on .net
The new (is it really ) api stack
From WCF to gRPC
From '00s to '20s: from RESTful to gRPC
Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017
Demystifying gRPC in .Net by John Staveley
Introduction to gRPC (Application) Presentation
Introduction to gRPC. Advantages and Disadvantages
Introduction to gRPC Presentation (Java)
gRPC - RPC rebirth?
ASP.NET Core 3.0 Deep Dive
gRPC with java
gRPC on .NET Core - NDC Sydney 2019
What is gRPC introduction gRPC Explained
.NET Core Today and Tomorrow
Ad

More from Swaminathan Vetri (20)

PPTX
Getting Started with Azure AI Studio.pptx
PPTX
Blueprint-for-designing-solutions-on-azure.pptx
PPTX
Unlocking the potential of GitHub Copilot.pptx
PPTX
Architecting multi-cloud ready applications
PPTX
BDotNet - Microsoft Build 2023 After Party
PPTX
AzureContainerAppswithDotNet_Pune_2022.pptx
PPTX
Microservices and Service Mesh
PPTX
Infrastructure automation with .NET
PPTX
Azure infra automation using pulumi
PPTX
CI/CD with GitHub Actions
PPTX
Building cloud native apps
PPTX
Azure dev ops
PPTX
.Net Standard 2.0
PPTX
Cross platform dotnet development using dotnet core
PPTX
Unicom DevCon - CI/CD for Asp.net core apps using Docker
PPTX
CI/CD for Asp.net core apps using Docker
POTX
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
PPTX
Rapid mobile app development using Ionic framework
PPTX
Entity Framework for Cross platform apps
PPTX
Xamarin Dev Days - Intro to Xamarin
Getting Started with Azure AI Studio.pptx
Blueprint-for-designing-solutions-on-azure.pptx
Unlocking the potential of GitHub Copilot.pptx
Architecting multi-cloud ready applications
BDotNet - Microsoft Build 2023 After Party
AzureContainerAppswithDotNet_Pune_2022.pptx
Microservices and Service Mesh
Infrastructure automation with .NET
Azure infra automation using pulumi
CI/CD with GitHub Actions
Building cloud native apps
Azure dev ops
.Net Standard 2.0
Cross platform dotnet development using dotnet core
Unicom DevCon - CI/CD for Asp.net core apps using Docker
CI/CD for Asp.net core apps using Docker
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Rapid mobile app development using Ionic framework
Entity Framework for Cross platform apps
Xamarin Dev Days - Intro to Xamarin

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Review of recent advances in non-invasive hemoglobin estimation
Diabetes mellitus diagnosis method based random forest with bat algorithm
The AUB Centre for AI in Media Proposal.docx
Digital-Transformation-Roadmap-for-Companies.pptx
Spectroscopy.pptx food analysis technology
Empathic Computing: Creating Shared Understanding
Advanced methodologies resolving dimensionality complications for autism neur...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
MIND Revenue Release Quarter 2 2025 Press Release
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Reach Out and Touch Someone: Haptics and Empathic Computing
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Review of recent advances in non-invasive hemoglobin estimation

Bye bye WCF, hello gRPC

  • 1. Bye Bye WCF, hello gRPC @svswaminathan .NET Conf Local Bengaluru – Oct 19, 2019 1
  • 2. Swaminathan Vetri SWAMINATHANVETRI.IN 2 Technical Architect, Maersk | Microsoft MVP Speaking, Blogging, Photography, Travelling Gadget freak Twitter : @svswaminathan Blog : swaminathanvetri.in
  • 3. Agenda • State of WCF in .NET Core 3.0 ? • What is gRPC ? • Why gRPC ? • What it offers ? • gRPC – C Core vs gRPC-dotnet • Demos
  • 4. State of WCF in .NET Core 3.0 • What didn’t make it to .NET Core 3.0 ? • WCF Server, Workflow, ASP.NET WebForms, Remoting, App Domains • Core WCF – open source community project • WCF Client components are part of .NET Core 3.0 SWAMINATHANVETRI.IN 4
  • 5. What is gRPC ? • gRPC is a modern open source high performance RPC framework that can run in any environment SWAMINATHANVETRI.IN 5
  • 6. Protocol Buffers • Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler Sample proto format message Person { string name = 1; int32 id = 2; bool has_ponycopter = 3; } SWAMINATHANVETRI.IN 6
  • 7. Why Protocol Buffers ? SWAMINATHANVETRI.IN 7 Simpler 3 to 10 times smaller 20 to 100 times faster Less ambiguous Generate data access classes that are easier to use programmatically
  • 8. How gRPC works ? SWAMINATHANVETRI.IN 8
  • 9. Why gRPC? SWAMINATHANVETRI.IN 9 PERFORMANCE INTEROPERABILITY USABILITY & PRODUCTIVITY STREAMING SECURITY
  • 10. What it offers ? SWAMINATHANVETRI.IN 10
  • 11. WCF vs gRPC WCF • Service Contract, Operation Contract, and Data Contract • Contracts written in C# or Visual Basic • Configurable, including SOAP/XML, Plain XML, JSON, .NET Binary, and so on. • Interop when using SOAP over HTTP • Networking configured at runtime. Switch between TCP, HTTP, MSMQ, and so on. • Runtime generation of serialization /deserialization and networking code in base classes • Authentication, WS-Security, message encryption gRPC • Uses proto file to declare services and messages • Protocol Buffer language • Protocol Buffer binary format (although it’s possible to use other formats). • Official support: .NET, Java, Python, JavaScript, C/C++, Go, Rust, Ruby, Swift, Dart, PHP. Unofficial support for other languages from the community. • Always HTTP/2 • Build-time generation of serialization /deserialization and networking code in base classes • Credentials, ASP.NET Core security, TLS networking SWAMINATHANVETRI.IN 11 Source : http://aka.ms/grpcforwcfebook
  • 12. grpc c-core vs grpc-dotnet • Source : https://grpc.io/blog/grpc-on-dotnetcore/ SWAMINATHANVETRI.IN 12