Suite du workshop de ce matin.

Voici un aperçu non exhaustif de cette deuxième partie de session

Dynamic Worker Roles

Présentation des worker roles dynamiques : Ou comment répartir les types de travaux sur un worker role, et pouvoir ajouter de nouveaux types de travaux sans redéployer

La solution : Utiliser une file d’attente de stockage: Grosso modo, le principe est d’uploader les taches dans un Blob storage qui est chargé dans le worker role à la volée, dans un AppDomain perso, quand celui en a besoin pour parser un message.

image

Ah, petit exemple avec un service “PingPongService” :)

image

image

Le gros intéret réside surtout dans le fait que le déploiement d’un service mis à jour ne nécessite pas le redéploiement complet du Worker Role.

L’exemple est concluant, le redéploiement d’une nouvelle version d’une assembly est quasi instantanée, sans interruption des autres services du worker Role

image

The MapReduce Pattern

Concept du MapReduce : Diviser un problème énorme à résoudre en plusieurs problèmes plus simple, ou comment résoudre le traitement d’une charge trop importante pour un worker role.

image

A vous de définir comment mapper et réduire votre charge de travail, avec une fonction de répartition:

image

Storage Strategy

Il est déjà 15h quand nous attaquons les différentes stratégies de stockage

Chris Auld nous parle de Partitionning : Parce que les données sont trop volumineuses ou la charge top importante (trop de transactions / sec par ex) il est intéressant de partitionner (ça vous rappelle surement le partionning sous SQL SERVER non ? :) )

Le partitionning est divisé en 3 types : Horizontal, Vertical et Hybrid.

L’Horizontal Partitionning est géré par défaut dans Azure Blobs ou Azure Queues, et à gérer dans SQL Azure

image

Le Vertical Partitionning, va découper les données sur plusieurs noeuds.

image image

L’Hybrid partitionning prend les avantages et défaut des deux modèles précédents

Quelques slides supplémentaires nous présentent les meilleurs façons de partitionner sous SQL AZURE (qui reste une solution à implémenter selon votre propre méthode algorithme)

image

La partie partionning se termine sur une démo des différentes façons de créer une clé de partitionnement.

image

,