PyconFR 2015 — Cliquet

Note

Voici quelques notes prises durant la PyconFR 2015, à Pau. N’hésitez pas à les completer si besoin.

Speaker: Mathieu Leplatre (@leplatrem), Mozilla

Toolkit HTTP, pour éventuellement faire des microservices.

  1. Origines
  2. Protocole
  3. Toolkit
  4. Conversation

Origines

Stockage de données, Cloud Services, Mozilla. Le boulot, c’est de faire des APIs. On nous demande de faire des APIs, tout le temps.

Souvent, les mêmes questions sont à l’ordre du jour. Heartbeat, codes d’erreurs, etc. L’inventaire de tout ce qui est attendu d’une API, au dela de ce qui est la valeur ajoutée du service.

Définition d’un protocole. Définir une API REST n’est pas aussi évident qu’il y parait. Il faut définir les formats de JSON, les status, etc.

La réutilisation de certaines protocoles existants était possible (Sync, en production depuis quelques années).

Réutiliser du code nous permettait et faire un template pour démarrer plus facilement, pour se concentrer sur le métier de l’API. Puisque les besoins ne sont pas toujours les mêmes, avoir une boite à outil permet de choisir ce que l’on souhaite.

Protocole

Définir le protocole une seule fois permet de se mettre d’accord avec les Ops. On ne créé pas une RFC pour l’instant, il faut qu’on valide ce qu’on a fait, il est necessaire de valider notre approche.

Toolkit

La stack en place est basée sur Pyramid et Cornice. Autre chose aurait pu petre utilisé. Mais pyramid à été choisi pour son approche simpliste et qui permet de rajouter de la complexité au fur et à mesure.

Cliquet propose de faire l’ensemble du boilerplate, la lecture du protocole, et vous permet de créer les backends souhaités.

Il est possible de choisir les methodes HTTP acceptables, les URLs à utiliser etc. Tweaker l’API est possible, la chose qui reste toujouts stable est le protocole.

le toolkit vise à faire quelque chose de pluggable. Tout est controllable depuis la configuration.

Pour le deploiement, cela veut dire que le monitoring est déjà connecté, et il est possible de changer la configuration depuis un fichier .ini.

Il est aussi possible de faire du profiling en ajoutant deux lignes de code, qui permet de générer des graphs qui permettent d’identifier les goulots d’étranglement.

Microservices ?

Cliquet est utilisé pour

Questions