Une partie des membres de Nexdotnet a assisté à différentes conférences de l’édition 2011 des Tech Days de Microsoft organisés à Paris les 8, 9 et 10 février derniers.
Nous allons, via cette série d’articles, résumer le contenu de ces Techdays 2011.
Ainsi les conférences ont abordé un ensemble de thématiques dont voici un résumé.
Autour des bases de données
Le futur SQL Server :
Nous commencons par la présentation « Futur SQL Server (Denali) » qui comme son intitulé l’indique concerne la future version de MS SQL Server. Cette conférence s’orientait plus particulièrement aux personnes intéressées par la gestion de base de données et à la Business Intelligence (BI).
On a pu y découvrir que SQL Server 2011 était déjà disponible en CTP1 (Community Technology Preview 1). Il est possible de la téléchager ici.
Ainsi les fonctionnalités et solutions incorporées à cette nouvelle mouture sont les suivantes :
- HADR-ON (High Availibility / Disaster Recovery Always ON):
Cette fonctionnalité permet de créer un réplica d’une base de données (comme le mirroring). Dans cette version, le serveur pourra être répliqué jusqu’à 6 fois et le regroupement de toutes ces bases sera possible. En cas de défaillance de la base principale, l’un des membres du groupe ainsi créé prendra automatiquement le relais.
- Contained Database:
Pour faire simple, le login et password d’un utilisateur (ou groupe d’utilisateur) ne seront plus présent dans la base master mais se situeront directement dans la base de données. L’avantage est surtout visible quand on réplique une base de données sur un autre serveur ou encore si le serveur destination n’a pas les mêmes droits que la base source, on pourra tout de même accéder à la base.
- Appolo : permet d’optimiser les requêtes sur un nombre limité de colonne, ce qui est surtout utile dans le cas où les utilisateurs font des requêtes sur des éléments bien précis.
- JUNEAU: Ce mot de code désigne le regroupement de tous les outils de développement de base de données et business intelligence en un seul outil pour les développeurs: Visual Studio 2010.
- BISM: Business Intelligence Semantic Model est un nouveau système de calcul des « cubes ». Il ne remplace pas le modèle UDM qui est conçu pour des applications lourdes avec de grosse volumétrie. BISM a été créé pour les applications plus légères à faible volumétrie.
- Crescent : Il s’agit du projet pour le reporting plus adapté au monde de la BI, et directement intégré à SharePoint et aux explorateur Web. Crescent utilisera principalement la technologie Silverlight.
- Notons également l’ajout de l’objet FileTable qui permet de gérer un répertoire comme un élément d’une base de données ainsi que l’optimisation des performances pour les objets FILESTREAM et FULL-TEXT.
DryadLINQ
En entreprise le volume des données à analyser augmente mais surtout la structure de ces données évolue. On peut représenter cette structure sous forme d’un large spectre : une extrémité serait représentée par des données très structurées (type BI) et l’autre extrémité serait des données brutes sans aucune structure. C’est pour ces dernières que la solution Dryad + Serveur HPC a été pensée.
En quelques mots, Dryad est une technologie à la pointe de la recherche et du calcul distribué seulement disponible via HPC Server et se positionne de bout en bout : de Visual Studio jusqu’à l’exécution. Cette technologie ajoute sous Visual Studio de nouvelles librairies C# et LinQ, un runtime et un nouveau composant : le DistribuedStorageCatalog.

A quels nouveaux besoins, la solution Dryad peut-elle répondre ? Elle optimise le déplacement de données. Le déplacement des données n’est plus un simple canal séquentiel mais un graphe acyclique dirigé (DAG). Pour faire simple, entre l’entrée et la sortie principales du flux de données, il y a tout un réseau de vertex d’exécution reliés par des canaux d’échange. Toute la communication entre les différents vertex est gérée par le serveur HPC.

Pour utiliser Dryad sous Visual Studio, il faut évidemment installer les runtime DryadLinQ, modifier le fichier .config. Ensuite, quelques aménagements dans le code LinQ sont nécessaires: les classes et les pages qui utilisent Dryad doivent être publiques et contenir le nouveau namespace Microsoft.Distribued.Linq, les requêtes doivent enfin être suffixés de la méthode .AsDistribued(), à l’image de .AsParallel().
Quelques infos en vrac pour finir : Dryad est utilisé en interne chez Microsoft depuis 5 ans, il est compatible avec l’asynchronisme et le parallélisme.
Pour plus d’infos : http://connect.microsoft.com/Dryad
Le second volet des présentations des Techdays s’organise autour des technologies du Cloud Computing.
2/- Les technologies du Cloud
Plénière : Edition spéciale Cloud Power
Après une démonstration de danse sur fond de Kinect, la première séance plénière présente la solution Cloud de Microsoft et ouvre ces TechDays 2011 : Edition spéciale Cloud Power. Fort d’un datacenter grand comme 10 terrains de foot, Microsoft vante les mérites du Cloud et notamment de ces solutions Saas, Iaas et Paas.
L’exemple d’un fabricant de voitures mis en contact, par MS, avec une start-up est assez explicite. Toutes les parties d’un projet informatique sont abordés : base de données (SQL Azure, OData), développement (VS2010), déploiement (Azure Connect), console de suivi (Windows Intune).
Présentation de Windows Azure
Commençons par un petit rappel sur la terminologie du Cloud Computing :
IAAS (Infrastructure as a service) : cela correspond aux ressources de calcul et de stockage de base. L’infrastucture est rendu accessible via le Cloud.
PAAS (Platform as a service): C’est l’infrastructure applicative du cloud géré par Microsoft (dans le cas qui nous interesse).
SAAS (Software as a Service) : Il s’agit du niveau applicatif accessible à travers le Cloud. Office 365 et Gmail représentent bien ce qu’est SaaS.
Windows Azure est le système d’exploitation pour le data-centre. Il permet de gérer les ressources, le provisionnement, et s’occupe de la surveillance du système. Il permet donc aux développeurs de se concentrer sur la logique. On peut voir Windows Azure comme un réservoir partagé de ressources virtualisées.
Les run-times supportés par Windows Azure sont .NET, ASP .NET, PHP et bientôt java.
Les fonctionnalités gérées par Windows Azure sont :
- la configuration et le déploiement qui peut se faire via la gestion de certificats (ex : SSL) et par des points de terminaison à équilibrage de charge.
- la gestion de l’accès par bureaux à distance et la mise à jour automatisée (qui est réalisé par Microsoft tous les mois).
- une disponibilité assurée par le SLA (Service Level Agreement)
Une application Windows Azure ressemble plus à un service où il faut la définition de celui-ci, la configuration et lui définir au moins 1 rôle.
Il existe 3 rôles possibles au sein d’une application Azure. Il y a tout d’abord le web role qui gère tout ce qui lié à l’interface web. Il y a ensuite le worker role. Le worker traite les données, les met en mémoire et effectue les opérations sur ces données côté serveur. Enfin il y a le VM role qui permet de démarrer une image sur un disque dur virtuel (VHD) de SQL Server 2008 R2.
Un rôle est défini par son nom, son type, la taille de la machine virtuelle qui lui est associée ainsi que sa configuration en nombre d’instance fault et update fault qui permettent de swapper sur une nouvelle instance du système en cas de faute.
L’update fault est utilisée lors de la mise à jour du système.
Gestion des données sous Azure
La gestion des données sous Azure se caractérise par un taille 50 fois inférieure à SQL Azure.
Les tables ne peuvent compter qu’un seul index.
Les transactions s’effectuent par lot de 100 entités maximum.
Le cache est accessible en lecture et une limitation de la taille des tables a été établie à 100 TB.
Cloud et Sécurité
Tout le monde parle du Cloud et ses avantages, mais, on parle beaucoup moins de la sécurité. Pour les grandes entreprises, ils utiliseront surtout des IAAS (Infrastructure As A Service) privé ce qui correspond à une usine à machine virtuel. Les petites entreprises s’appuieront surtout sur les SAAS (Software As A Service).
L’avantage du Cloud est de placer les données publiques dans le Cloud.
Cela permet une disponibilité des données à tout moment et à n’importe quel endroit. Cela permet en plus de pouvoir réaliser des audits et des tests plus simples et également automatiser la sécurité.
Cependant, depuis 1 an des problèmes de sécurités majeures ont été constatés sans que de réelles solutions soient apportées par les différents acteurs dans ce domaine.
Parmi les problèmes qui se posent on peut mentionner la perte de contrôle, l’identification des personnes accédant aux données, les problèmes de contrat, d’isolation, de disponibilité réseau, de conformité, de réglementation international ainsi que de propriété des données hébergées. Concernant les réglementations internationales, il faut savoir que les droits liés à vos données dépendent de la loi du pays où elles sont physiquement hébergées.
En ce qui concerne PAAS (Platform as a service) et SAAS, il y a encore des problèmes avec le chiffrement des accès que ce soit au niveau des données ou de la gestion des clés.
3 instituts ont sorti des documents spécifiant les problèmes de sécurité liés au Cloud :
- MGFS (Microsoft Global Foundation Services): http://www.globalfoundationservices.com/
- NIST (National Institute of Standards and Technology): http://www.nist.gov/index.html
- ENISA (European Network and Information Security Agency): http://www.enisa.europa.eu/
On est toujours en attente d’évolutions suite à ces différents documents….