SlideShare a Scribd company logo
Garuda
Automagically Exposing Django
ORM over gRPC for microservices
wri en in any other languages
@dhilipsiva
A bit about myself
Optimistic Nihilist.
Wannabe Astrophysicist.
I code for fun & pro t.
I love Science, Python, FOSS & tness.
Dad of 2. Environmentalist. Story Teller. Gamer.
http://dhilipsiva.com
dhilipsiva@gmail.com
I have no idea what I am
talking about
Microservices
I am assuming that everyone has a basic
understanding of a microservice architecture
For the uninitiated, it is an architectural style that
structures an application as a collection of loosely
coupled services, which implement business
capabilities. The microservice architecture
enables the continuous delivery/deployment of
large, complex applications. It also enables an
organization to evolve its technology stack.
Implementa on of
microservices that I have
come across
I am just talking about small & medium startups
[The only space that I have experience with]
CLI, HTTP, RPC, Thrift
CLI
Call a command line/console application with
Popen or something similar
Very notorious (because we have limited control
over the called program)
Scaling is a bit tricky
HTTP
Build a REST / SOAP endpoint
Document the message exchange format (which is
a manual process and might be error prone)
relatively easier to scale compared to CLI method
RPC & Thir
Build RPC Server and clients
Just as easy to scale as HTTP method, but this is
faster because of strongly typed messages
serialize and deserialize very fast and data is
smaller compared to JSON / XML
Relatively harder (Implementation wise) because
of all the learning curve involved
We have well-de ned Data schemas; So manual
intervention is not required to communicate
changes
Garuda
How to make the RPC Implementation relatively
easier
Introducing Garuda
Automagically Exposing Django ORM over gRPC
for microservices written in any other languages
It's done with the help of gRPC (for now). So you
need to understand Protobuf, gRPC and the likes.
RPC Frameworks
gRPC: A high performance, open-source universal
RPC framework
Cap'n Proto: Cap'n Proto is an insanely fast data
interchange format and capability-based RPC
system.
Protobuf (Which we use with
gRPC)
Protocol Buffers are Google's language-neutral,
platform-neutral, extensible mechanism for
serializing structured data.
message Article {
string id = 1;
string content = 2;
int32 status = 3;
string title = 4;
}
gRPC
Service De nition
service Blog {
rpc CreateArticle (Article) returns (Article) {}
rpc UpdateArticle (Article) returns (Article) {}
}
What's pending?
Documentation
Cap'n Proto Backend
Complex queries
Garuda Demo
Thanks!
h ps://github.com/dhilipsiva/talks
This copy is released under the MIT License
Source Code
SlideShare Link
Ques ons
http://dhilipsiva.com
dhilipsiva@gmail.com

More Related Content

Similar to Garuda: Automagically Exposing Djagno ORM over gRPC for microservices written in any other languages (20)

PDF
Building microservices with grpc
Sathiyaseelan Muthu kumar
 
PPTX
Building API Using GRPC And Scala
Knoldus Inc.
 
PPTX
REST vs gRPC: Battle of API's
Luram Archanjo
 
PDF
Inter-Process Communication in Microservices using gRPC
Shiju Varghese
 
PDF
Implementing OpenAPI and GraphQL services with gRPC
Tim Burks
 
PPTX
Introduction to gRPC. Advantages and Disadvantages
abdulrehmanlatif65
 
PDF
Driving containerd operations with gRPC
Docker, Inc.
 
PDF
gRPC: The Story of Microservices at Square
Apigee | Google Cloud
 
PDF
gRPC:更高效的微服務介面
William Yeh
 
PDF
gRPC Design and Implementation
Varun Talwar
 
PPTX
Yotpo microservices
Ron Barabash
 
PDF
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Md. Sadhan Sarker
 
PDF
gRPC - RPC rebirth?
Luís Barbosa
 
PDF
gRPC services testing
Thivya Lakshmi
 
PDF
apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...
apidays
 
PDF
gRPC: Beyond REST
Domingo Suarez Torres
 
PDF
gRPC 프레임워크를 만들며 알아보는 파이썬 - 파이콘2020
재현 신
 
PDF
gRPC Microservices in Go (MEAP V08) Hüseyin Babal
bouicmalapa
 
PDF
gRPC or Rest, why not both?
Mohammad Murad
 
Building microservices with grpc
Sathiyaseelan Muthu kumar
 
Building API Using GRPC And Scala
Knoldus Inc.
 
REST vs gRPC: Battle of API's
Luram Archanjo
 
Inter-Process Communication in Microservices using gRPC
Shiju Varghese
 
Implementing OpenAPI and GraphQL services with gRPC
Tim Burks
 
Introduction to gRPC. Advantages and Disadvantages
abdulrehmanlatif65
 
Driving containerd operations with gRPC
Docker, Inc.
 
gRPC: The Story of Microservices at Square
Apigee | Google Cloud
 
gRPC:更高效的微服務介面
William Yeh
 
gRPC Design and Implementation
Varun Talwar
 
Yotpo microservices
Ron Barabash
 
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Md. Sadhan Sarker
 
gRPC - RPC rebirth?
Luís Barbosa
 
gRPC services testing
Thivya Lakshmi
 
apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...
apidays
 
gRPC: Beyond REST
Domingo Suarez Torres
 
gRPC 프레임워크를 만들며 알아보는 파이썬 - 파이콘2020
재현 신
 
gRPC Microservices in Go (MEAP V08) Hüseyin Babal
bouicmalapa
 
gRPC or Rest, why not both?
Mohammad Murad
 

More from Dhilipsiva DS (12)

PDF
Introduction To DevOps Workshop @ New Horizon College
Dhilipsiva DS
 
PDF
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Dhilipsiva DS
 
PDF
Deploy your Python code on Azure Functions
Dhilipsiva DS
 
PDF
AWS LearnUp - Intro to AWS Services - Venturesity
Dhilipsiva DS
 
PDF
Python Workshop Day - 2 (REVA University)
Dhilipsiva DS
 
PDF
Full-Stack Development
Dhilipsiva DS
 
PDF
BangML Meetup 1: The Path to Becoming an Machine Learning Expert
Dhilipsiva DS
 
PDF
Architecture @ Appknox
Dhilipsiva DS
 
PDF
Microservices with Swagger, Flask and Docker
Dhilipsiva DS
 
PDF
Container (Docker) Orchestration Tools
Dhilipsiva DS
 
PPT
IEEE
Dhilipsiva DS
 
PPT
MuLiST
Dhilipsiva DS
 
Introduction To DevOps Workshop @ New Horizon College
Dhilipsiva DS
 
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Dhilipsiva DS
 
Deploy your Python code on Azure Functions
Dhilipsiva DS
 
AWS LearnUp - Intro to AWS Services - Venturesity
Dhilipsiva DS
 
Python Workshop Day - 2 (REVA University)
Dhilipsiva DS
 
Full-Stack Development
Dhilipsiva DS
 
BangML Meetup 1: The Path to Becoming an Machine Learning Expert
Dhilipsiva DS
 
Architecture @ Appknox
Dhilipsiva DS
 
Microservices with Swagger, Flask and Docker
Dhilipsiva DS
 
Container (Docker) Orchestration Tools
Dhilipsiva DS
 
Ad

Recently uploaded (20)

PDF
IEEE EMBC 2025 「Improving electrolaryngeal speech enhancement via a represent...
NU_I_TODALAB
 
PPTX
cybersecurityandthe importance of the that
JayachanduHNJc
 
PDF
Zero carbon Building Design Guidelines V4
BassemOsman1
 
PPTX
Online Cab Booking and Management System.pptx
diptipaneri80
 
PPT
IISM Presentation.ppt Construction safety
lovingrkn
 
PPTX
ENSA_Module_7.pptx_wide_area_network_concepts
RanaMukherjee24
 
PPTX
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
PDF
Natural_Language_processing_Unit_I_notes.pdf
sanguleumeshit
 
PPTX
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
PDF
SG1-ALM-MS-EL-30-0008 (00) MS - Isolators and disconnecting switches.pdf
djiceramil
 
PPTX
Water resources Engineering GIS KRT.pptx
Krunal Thanki
 
PPTX
Inventory management chapter in automation and robotics.
atisht0104
 
PPTX
00-ClimateChangeImpactCIAProcess_PPTon23.12.2024-ByDr.VijayanGurumurthyIyer1....
praz3
 
PPTX
ETP Presentation(1000m3 Small ETP For Power Plant and industry
MD Azharul Islam
 
PDF
Air -Powered Car PPT by ER. SHRESTH SUDHIR KOKNE.pdf
SHRESTHKOKNE
 
PPTX
Unit 2 Theodolite and Tachometric surveying p.pptx
satheeshkumarcivil
 
PDF
All chapters of Strength of materials.ppt
girmabiniyam1234
 
PPTX
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
PDF
4 Tier Teamcenter Installation part1.pdf
VnyKumar1
 
PPTX
Information Retrieval and Extraction - Module 7
premSankar19
 
IEEE EMBC 2025 「Improving electrolaryngeal speech enhancement via a represent...
NU_I_TODALAB
 
cybersecurityandthe importance of the that
JayachanduHNJc
 
Zero carbon Building Design Guidelines V4
BassemOsman1
 
Online Cab Booking and Management System.pptx
diptipaneri80
 
IISM Presentation.ppt Construction safety
lovingrkn
 
ENSA_Module_7.pptx_wide_area_network_concepts
RanaMukherjee24
 
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
Natural_Language_processing_Unit_I_notes.pdf
sanguleumeshit
 
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
SG1-ALM-MS-EL-30-0008 (00) MS - Isolators and disconnecting switches.pdf
djiceramil
 
Water resources Engineering GIS KRT.pptx
Krunal Thanki
 
Inventory management chapter in automation and robotics.
atisht0104
 
00-ClimateChangeImpactCIAProcess_PPTon23.12.2024-ByDr.VijayanGurumurthyIyer1....
praz3
 
ETP Presentation(1000m3 Small ETP For Power Plant and industry
MD Azharul Islam
 
Air -Powered Car PPT by ER. SHRESTH SUDHIR KOKNE.pdf
SHRESTHKOKNE
 
Unit 2 Theodolite and Tachometric surveying p.pptx
satheeshkumarcivil
 
All chapters of Strength of materials.ppt
girmabiniyam1234
 
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
4 Tier Teamcenter Installation part1.pdf
VnyKumar1
 
Information Retrieval and Extraction - Module 7
premSankar19
 
Ad

Garuda: Automagically Exposing Djagno ORM over gRPC for microservices written in any other languages

  • 1. Garuda Automagically Exposing Django ORM over gRPC for microservices wri en in any other languages @dhilipsiva
  • 2. A bit about myself Optimistic Nihilist. Wannabe Astrophysicist. I code for fun & pro t. I love Science, Python, FOSS & tness. Dad of 2. Environmentalist. Story Teller. Gamer. http://dhilipsiva.com [email protected]
  • 3. I have no idea what I am talking about
  • 4. Microservices I am assuming that everyone has a basic understanding of a microservice architecture For the uninitiated, it is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack.
  • 5. Implementa on of microservices that I have come across I am just talking about small & medium startups [The only space that I have experience with] CLI, HTTP, RPC, Thrift
  • 6. CLI Call a command line/console application with Popen or something similar Very notorious (because we have limited control over the called program) Scaling is a bit tricky
  • 7. HTTP Build a REST / SOAP endpoint Document the message exchange format (which is a manual process and might be error prone) relatively easier to scale compared to CLI method
  • 8. RPC & Thir Build RPC Server and clients Just as easy to scale as HTTP method, but this is faster because of strongly typed messages serialize and deserialize very fast and data is smaller compared to JSON / XML Relatively harder (Implementation wise) because of all the learning curve involved We have well-de ned Data schemas; So manual intervention is not required to communicate changes
  • 9. Garuda How to make the RPC Implementation relatively easier Introducing Garuda Automagically Exposing Django ORM over gRPC for microservices written in any other languages It's done with the help of gRPC (for now). So you need to understand Protobuf, gRPC and the likes.
  • 10. RPC Frameworks gRPC: A high performance, open-source universal RPC framework Cap'n Proto: Cap'n Proto is an insanely fast data interchange format and capability-based RPC system.
  • 11. Protobuf (Which we use with gRPC) Protocol Buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. message Article { string id = 1; string content = 2; int32 status = 3; string title = 4; }
  • 12. gRPC Service De nition service Blog { rpc CreateArticle (Article) returns (Article) {} rpc UpdateArticle (Article) returns (Article) {} }
  • 13. What's pending? Documentation Cap'n Proto Backend Complex queries
  • 15. Thanks! h ps://github.com/dhilipsiva/talks This copy is released under the MIT License Source Code SlideShare Link Ques ons http://dhilipsiva.com [email protected]