7 points par xguru 2020-09-29 | 1 commentaires | Partager sur WhatsApp
  • Des « Unique Durable Objects » pour le serverless

→ Objects : comme dans le concept de la POO, ce sont des instances de classe qui incluent du code et un état

→ Unique : ils possèdent un UUID. Depuis n’importe quel Worker dans le monde, il suffit de connaître l’ID pour envoyer un message à l’objet concerné

→ Durable : contrairement aux objets classiques, ils peuvent stocker un état persistant sur disque. Cet état est accessible sans latence apparente

  • Deux fonctionnalités principales

→ Storage : offre une forte cohérence transactionnelle. Il devient possible de diviser une grande base de données en plusieurs petites unités. La montée en charge se fait sans charge de maintenance

→ Coordination : les requêtes serverless sont généralement réparties aléatoirement par load balancing, ce qui empêchait jusqu’ici deux clients de se connecter au même worker ; c’est désormais possible.

Autrement dit, il devient possible d’implémenter en serverless le chat en temps réel, l’édition collaborative, la visioconférence, les files de messages Pub/Sub, les sessions de jeu, etc.

L’usage de WebSocket nécessitait ce type de coordination ; avec les DO, cela devient possible, et Workers commence donc aussi à prendre en charge WebSocket

  • Les Durable Objects n’ont pas de notion de région et visent directement une portée mondiale (Cloudflare se charge d’acheminer et de gérer cela vers l’emplacement le plus proche)

Cas d’usage

  • L’application phare pourrait être un outil collaboratif d’édition de documents en temps réel utilisé à très grande échelle

  • Atomic Counter : un compteur concurrent qui ne perd pas les incréments/décréments même lorsque plusieurs clients envoient des requêtes simultanément

  • Chat : même des salons de discussion à très grande échelle sont possibles avec quelques centaines de lignes de code, avec en plus du rate limiting par IP

  • Panier d’achat, serveur de jeu, coordination IoT, flux social, widget de commentaires/chat

L’avenir des Durable Objects : une véritable base de données Edge

Pour l’instant, l’usage nécessite une invitation à la bêta

Le prix est encore en réflexion, mais il devrait être inférieur à celui d’AWS DynamoDB ou de Google Cloud Firestore (d’après un commentaire laissé sur HN par Greg, le PM)

1 commentaires

 
xguru 2020-09-29

Le serverless s’est surtout appliqué jusqu’ici à des éléments majoritairement stateless, et cela semble maintenant s’étendre pour inclure aussi les parties qui nécessitent de la coordination.

Ces temps-ci, les évolutions de Cloudflare sont particulièrement intéressantes.

CloudFlare, lancement de la bêta serverless de Workers Unbound https://fr.news.hada.io/topic?id=2543

Comment CloudFlare a réduit à 0 le temps de cold start de Workers https://fr.news.hada.io/topic?id=2567

Cloudflare lance un service TV en direct 24h/24 utilisant son propre réseau mondial https://fr.news.hada.io/topic?id=2227