Formation Développer des services avec gRPC et ProtocolBuffers - Leuville Objects

Développer des services avec gRPC et ProtocolBuffers

Description

Vous découvrirez dans cette formation les solutions gRPC qui permettent de réaliser une infrastructure client-serveur orientée micro-services et soumise à forte charge. Cette technologie est également indiquée dans toutes les situations où il faut économiser la bande passante. Vous mettrez en oeuvre ces concepts en Java, C++, C#, selon vos souhaits et habitudes de travail.

Objectifs

A l'issue de cette formation, les participants seront en mesure de:

  • Comprendre les principes de fonctionnement de gRPC
  • Développer et tester un service échangeant des données Protocol Buffers
  • Exploiter l'asynchronisme, le cycle de vie, le streaming
  • Appréhender les principes HTTP2
  • Sécuriser un client-serveur gRPC

Méthodes pédagogiques

Formation avec un minimum de 50% de travaux pratiques. La session alterne les présentations théoriques avec les exercices en groupe ou individuels. Des versions numériques de tous les documents sont remises aux participants (support de cours, énoncés, corrigés).

Participants

Ce cours s'adresse à des développeurs souhaitant utiliser gRPC pour optimiser leur infrastructure client-serveur.

Pré requis

  • La connaissance préalable des principes client-serveur est nécessaire.
  • Une pratique courante d'un des langages de programmation Java, C# ou C++ est indispensable.

Programme

Pourquoi gRPC ?

Présentation des concepts de base gRPC.

  • Les problèmes posés par les architectures RESTful basées sur HTTP/JSON.
  • Le projet gRPC, ses fondateurs et utilisateurs essentiels (Google, Kubernetes, Netflix, ...).
  • Les concepts de base gRPC: client-serveur, idl, Protocol Buffer.
  • Le positionnement par rapport aux web-services SOAP et REST, HTTP et HTTP2.
  • L'outillage et l'éco-système.

Caractéristiques de base d'un service gRPC

Caractéristiques de base d'un service gRPC.

  • La définition d'un service avec IDL basé sur Protocol Buffers.
  • La compilation d'une définition.
  • Les passages de paramètres et valeurs de retour (types primitifs par valeur).
  • L'invocation synchrone d'un service.

Mise en pratique: définition d'un service synchrone simple, invocation depuis un client.

Le format de données Protocol Buffers

Caractéristiques du format de sérialisation Protocol Buffers.

  • L'utilité de la sérialisation des données et les solutions disponibles.
  • Le concept de message Protocol Buffers.
  • La structure d'un message.
  • Les différents types de données disponibles.
  • La compilation et l'exploitation du code généré.

Mise en pratique: définition d'un format de message simple, utilisation d'un message basé sur un autre message, sérialisation et désérialisation en environnement hétérogène.

Caractéristiques avancées d'un service gRPC

Caractéristiques avancées d'un service gRPC.

  • Les paramètres et retours Protocol Buffers complexes.
  • Le streaming des données.
  • L'invocation asynchrone.
  • Le cycle de vie du service.

Mise en pratique: utilisation de l'asynchronisme, mise en oeuvre du streaming.

Sécurisation d'un client-serveur gRPC

Sécurisation d'un client-serveur gRPC.

  • Les possibilités d'authentification disponibles (TLS, Google auth).
  • Les différents types de credentials.
  • L'API d'authentification.
  • La mise en oeuvre de TLS sur le client.

Mise en pratique: sécurisation d'un client-serveur.

Concepts avancés

Concepts avancés gRPC.

  • Les types d'erreurs (générales, protocoles, réseau).
  • La mise en oeuvre sur HTTP2.
  • Les performances par rapport à REST/HTTP.

Mise en pratique: gestion d'erreurs, mise en place de benchmarks.

Code

CP-GRPC

Durée

3 jours

Tarif

2190 € HT

Sessions

Nous contacter

01 39 50 2000