Affichage des articles dont le libellé est Federation. Afficher tous les articles
Affichage des articles dont le libellé est Federation. Afficher tous les articles

mercredi 14 décembre 2011

SQL Server Days, les 12 et 13 décembre 2011


La sortie prochaine de SQL Server 2012 vaut bien un événement à lui tout seul, et bien le voici !
Organisé par le GUSS (Groupe des Utilisateurs francophones de Microsoft SQL Server), Microsoft et HP, les sessions - plus d'une vingtaine - sont animées par de nombreux MVPs, qualité assurée !

Voici les trois sessions auxquelles j'ai pu assisté, ayant mis l'accent sur LA nouveauté : BISM, le nouveau modèle de données pour la BI.

La BI avec SQL Server 2012, par Sébastien Madar, MCNEXT
  • Nouveautés SSIS
    • Développement : connections partagées, variables projet, CDC, connecteur ODBC
    • Administration : configuration environnement, monitoring et reporting, data taps
  • BISM = BI Semantic Model (ex-UDM)
    • Objectif : présenter un modèle métier en masquant la complexité du modèle sous-jacent
    • Anciennement UDM, mais qui était multidimensionnel
    • Multidimensionnel / Tabular
      • ROLAP / DirectQuery
      • MOLAP / VertiPaq
  • BI Self-Service : pour les business-users, basé sur le modèle Tabular
    • PowerPivot V2 : création du modèle et de l'analyse
      • Nouveautés : Diagram View, Hiérarchies, Perspectives, KPIs (indicateurs visuels, genre feu tricolore…)
      • Tout s'appuie sur Sharepoint
      • Data Alert : envoi de mail suite à la création d'une alerte sur un KPI d'un rapport SSRS mis dans SharePoint
    • PowerView (ex-Crescent) : création du rapport
      • Depuis Sharepoint : Create BISM Connection File
      • Création du rapport : tables, graphiques, slider photos
  • MDS V2 : Master Data Services
    • Nouvel AddIn Excel pour mettre à jour le référentiel de données et valider les règles mises en place
    • DQS = Data Quality Services
      • Renseignement sur la qualité des données dans une Knowkedge Base
      • Validation de règles de qualité (Code postal sur 5 chiffres…), possibilité de connexion à des web services de vérification des adresse géographiques...
      • Mise en œuvre : DQS Client + DQS Server

Décider entre Tabular ou Multidimensionel pour un projet Analysis Services, par François Jehl, Infinite Square & Aurélien Koppel, Microsoft
  • Fonctionnalités du Modèle Tabular
    • Véritable couche sémantique
    • Rapide et simple à construire
    • Design dans Visual Studio 2010
    • Import depuis un fichier PowerPivot existant
    • Performant à tous les niveaux (fins+agrégés)
    • Précache en mémoire ou accès à la demande : Vertipaq vs DirectQuery
    • Sécurité d'accès aux données
    • Partitions pour la volumétrie et la montée en charge
    • Compression des données stockées (environ x10)
  • Modèle Tabular: même langage que PowerPivot = DAX
    • Principe des fonctions Excel, apprentissage rapide
    • Permet de réaliser des calculs métiers complexes
    • Nouvelles fonctions (DisctinctCount(), HasOneValue(), Search(), Switch(), Rankx())
    • Sécurité dynamique des lignes du modèle (fonctions Username(), Customdata())
    • Exemple : Evaluate <DaxTableExpression> Order By <DaxExpression> [ASC|DESC]
  • Ce qu'il manque par rapport au MDX
    • Script MDX
    • Named Set (Top Products…)
    • Scope (DateTool…)
    • Relation Many-To-Many
  • Tabular vs UDM = Simplicité vs Complexité-Puissance
    • VertiPaq / Molap
      • Compression x10 / x2
      • Scan mémoire / disque+mémoire
      • Tout en mémoire / plusieurs To
  • Comment décider
    • Si forte volumétrie + calculs MD complexes -> BISM Multidimensionnel
    • Dans les autres cas : BISM Tabular

Introduction à SQL Azure, par Hervé Roggero, Blue Syntax Consulting
  • SQL Azure contre SQL Server
    • Services
      • Pas de : SQL Agent, SSIS, SSAS, Backup, Broker, Profiler, Full Text
      • Partiel : SSMS, SSRS
    • Développement
      • Pas de : .NET, TDE, encryption, Compte utilisateur réseau (ActiveDirectory)
      • Partiel : T-SQL, Procédures/Vues
    • Prix : très compétitif par rapport au service : données + moteur SQL + DBA
    • Communication : TDS sur le port 1433 uniquement, tout est crypté obligatoirement
  • Architecture
    • Haute Dispo : 3 réplicas en tout, complètement transparent (le primaire peut changer régulièrement par exemple)
  • Sécurité
    • Physique : Pare-Feu, Isolation, SSL
      • Select * from sys.firewall_rules
    • Logique : Compte Utilisateur, Schema, HashBytes, Droit d'accès
      • HashBytes : MD5, SHA1, SHA256 (Pas de SHA512 pour l'instant)
      • Select hashbytes('sha256', 'test')
    • SQL Azure est basé sur SQL Server 2012 CTP3 depuis été 2011
    • Connection : server name = xxx.windows.net + database name
  • Performances
    • Operations en masse (Bulk) : utiliser des librairies d'accès en masse, comme EntityFramework
    • Lazy loading : charger uniquement les données utilisées, dispo avec EF 4.0
    • Cache : Caching Application Block, AppFabric Caching
    • Logiciel Asynchrone : pour améliorer l'expérience utilisateur
    • Opération Parallèle :  utilisation de plusieurs processeurs
    • Shards : stockage et requêtage réparti
    • Technique
      • Dispo : Plan d'exécution, ADO.Net Library Metrics, DMVs (partiel)
      • Pas dispo : SQL Profiler, Perfmon
    • SLA sur la disponibilité, mais PAS de garantie de performances
    • Mécanisme de protection
      • Présent en permanence (coupe la connexion au bout de 30 minutes par exemple…)
      • Nécessite un logique d'adaptation pour les applications intensives afin de ne pas être bloqué
    • Outils : http://enzosqlbaseline.codeplex.com/
  • Montée en charge & Sharding
    • Besoin : expérience utilisateur no 1 = expérience utilisateur no X
    • Modèle de shards : compressé (- de clients que de shards), linéaire (1 client = 1 shard), répandu (+ de clients que de shards)
      • A rédigé un WhitePaper sur ces concepts, à télécharger ici
    • Outils
  • Autres services de SQL Azure
    • Import/Export : vers l'Azure Storage
    • Backup : T-SQL COPY, Bientôt Point In Time Restore en CTP (jusqu'à 2 semaines en arrière)
    • Synchronisation : uni/bi-directionnel, SQL Azure/Server
    • Rapports : URL report server d'un rapport RDL

mardi 15 février 2011

Windows Azure AppFabric CTP (Fevrier 2011)

Windows Azure AppFabric regroupe trois services d'infrastructure logicielle :
  • Access Control : Gestion et fédération d'identité
  • Service Bus : Connectivité entre services
  • Caching : Cache mémoire distribué
Une nouvelle version, toujours en CTP (pas de SLA assuré !) est maintenant disponible. Au programme :
  • Nouveau portail, tout en Silverlight, dans la continuité des portails Windows Azure et SQL Azure
  • Nouvelles fonctionnalités pour Caching : taille de 128Mo et 256Mo, avec redimensionnement dynamique
  • Amélioration des informations de diagnostique (traces côté client et suivi des requêtes)
  • Améliorations des performances globales


/!\ Noter que le portail, accessible à http://portal.appfabriclabs.com/, ne supporte pas bien les configurations non US. Pour éviter l'erreur de démarrage, changer temporairement la langue du système d'exploitation à "Anglais (Etats-Unis)" juste le temps d'initialisation du portail Silverlight.

Pour tirer parti des nouvelles fonctionnalités ou mettre à jour une application existante, il est nécessaire d'utiliser le Windows Azure AppFabric SDK 2.0 CTP à télécharger ici.

/!\ Noter que les assemblies de Caching sont incompatibles avec celles installées dans le GAC par Windows Server AppFabric Caching (à désinstaller donc pour éviter toute confusion).

Voici quelques ressources pour se former :
  • Windows Azure Platform Training Kit, à télécharger ici
  • Identity Developer Training Kit, à télécharger ici
  • MSDN Identity Training Course, à consulter ici
Enfin, vérifiez que vous avez bien installé la mise à jour du Windows Azure SDK 1.3 Refresh, incluse dans les Windows Azure Tools for Microsoft Visual Studio (November 2010), à télécharger ici. Elle contient une mise à jour de sécurité importante pour les applications ASP.NET déployées dans un Web Role de Windows Azure, et utilisant la nouvelle fonctionnalité "Full IIS".
La version du SDK doit alors être la 1.3.20121.1237.

mercredi 10 novembre 2010

Tech Ed Europe 2010 à Berlin : Le 10 novembre 2010

Les sessions continuent à s’enchaîner pour cette deuxième journée.
Voici ma sélection du jour.

Session : Architecture Discovery with Visual Studio 2010 Ultimate, par Peter Provost (Senior Program Manager - Visual Studio)
Visual Studio 2010 Ultimate pour l'architecte

La problématique actuelle est la complexité croissante des solutions logicielles, et aussi la quantité croissante de code existant à reprendre.
De plus, les méthodes Agile donnent plus de liberté aux équipes de développement dans les choix de conception et d'architecture. Comment donner une meilleure vision d'une solution ‌ Avec Visual Studio, qui se concentre sur les développeurs et les architectes.

Fonctionnalités spécifiques à Visual Studio Ultimate:
- DGML Dependancy graphs : cela permet de générer automatiquement un graphe de dépendances entre assemblies, namespaces ou types, avec ou sans le code (reverse engineering). La navigation permet ensuite de descendre visuellement au niveau des méthodes et de leurs appels (mode butterfly). Plusieurs vues sont disponibles : horizontale, verticale, cluster (les composants les plus utilisés sont placés au centre), avec plusieurs options possibles (afficher les membres public, privé...). Enfin, le graphe est représenté par un fichier xml (extension .dgml) que l'on peut générer soi-même.
- Architecture Explorer : nouvelle navigation à travers la solution
- Layer Diagrams and Validation : l'utilisateur peut créer ou générer les couches, leurs contenus (namespaces, types....) et leurs dépendances, ce qui permet ensuite de valider le modèle pour s'assurer que les contraintes de dépendances sont bien respectées. L'objectif est de fournir une vue logique de la solution.
- UML Modeling : diagrammes de Class, Sequence, Activity, Use Case. Le Modeling Feature Pack, à installer en plus de Visual Studio, permet notamment de générer automatiquement les deux premiers types de diagrammes à partir d’un code existant et sera intégré dans la prochaine version de Visual Studio (à ne pas confondre avec les Power Tools qui sont des outils supplémentaires qui ne rentrent pas systématiquement dans la prochaine release). Les diagrammes ne sont pas liés au code (aucune mise à jour automatique), et sont plutôt utilisés comme un moyen de communication standardisé.
- Reverse Engineering Tools


Session : Architecting Claims-aware Applications (with Windows Identity Foundation and Active Directory Federation Services), par Dominique Baier (Thinktecture)
Claims : l'essentiel

Limitations du modèle d'identité en entreprise :
- Représentation limitée de l'identité
- Certaines applications ne font pas partie du domaine
- Certaines applications ne supportent pas l'authentification Windows

Procédons par étapes.

1. Avoir son propre fournisseur d'identité interne, grâce à Active Directory Federation Services qui se connectera à Active Directory pour réaliser l'authentification. Etant donné qu’il doit exister une relation de confiance entre l'application et le fournisseur, il faut déclarer l'application au niveau d'ADFS et déclarer le fournisseur (ADFS) au niveau de l'application (section Microsoft.identityModel dans le fichier web.config).

<federatedAuthentication>
   <
wsFederation
passiveRedirectEnabled="true"
issuer="http://localhost:8000/STS/Issue/"
realm="http://localhost:10123/WIFAuthentication"
requireHttps="false" />
   <cookieHandler requireSsl="false" />
</federatedAuthentication>

Un bon claim (revendication) représente de manière unique l'utilisateur et doit soulager l'application en termes d'interprétation des permissions. Ainsi, il faut tirer parti des règles de transformations des claims présentes dans ADFS pour fournir des informations prêtes à l'emploi pour l'application. Ce mécanisme évite de mélanger les informations d'authentification et les informations d'identité réellement nécessaires à l'application.

2. Bénéficier de la Fédération d'identité. Avec ADFS, il est donc possible d'avoir une séparation entre identité système et identité applicative, autorisant ainsi différents types d'administrateurs.
De plus, les identités de l'entreprise peuvent être projetées à l'extérieur, pour des partenaires par exemple, à partir du moment où ils établissent la relation de confiance avec le fournisseur d'identité de l'entreprise. Typiquement, on exposera aux partenaires un serveur ADFS proxy dans la DMZ qui, lui, s'adressera au serveur ADFS de l'entreprise.

3. La fédération peut se décliner sous plusieurs formes : entre entreprises et partenaires, en mode SaaS, et sur le Cloud avec le STS : Windows Azure AppFabric Access Control qui, au-delà de la haute disponibilité, supporte une grande variété de protocoles et de types de token. L'idée étant de découpler complètement l'application du fournisseur original d'identité et des protocoles qu'il utilise, en passant par un STS intermédiaire qui jouera le rôle de passerelle en terme de protocole, et transformera les claims reçus pour qu’ils soient de même nature en cas d'utilisation de plusieurs fournisseurs d'identité (LiveID, Facebook, ActiveDirectory…).


Session : Beyond PLINQ : Scaling out your Applications with DryadLINQ, par Stephen Toub (Parallel Computing Platform)

Fait actuel : on observe une explosion des volumes de données en entreprise (10Mo en 1960, 10 Po en 2010), idem sur Internet (21 Exabytes échangés par mois).
Solution : au lieu d'amener les données vers les centres de calcul, il s'agit d'amener les calculs sur les lieux des données.

Les difficultés :
- Le code est très différent du code séquentiel classique et même du code parallèle (pas d'échange de données...)
- Le déploiement des traitements sur les machines requiert des efforts (packaging, management...)

Objectifs de DryadLINQ :
- Donner accès aux développeurs .NET à des traitements de type scale-out
- Proposer un modèle de programmation et un runtime: supporté par HPC Server et Azure, robuste, tolérant aux pannes et optimisé

Rappel des variantes LINQ :
- LINQ : requêtage intégré au langage
- PLINQ : rajoute l'extension AsParallel()
- DryadLINQ : rajoute l'extension AsDistributed(), et tire parti de C# Asynchrone (mot clé await, voir le post précédent sur le futur de C#)

De manière transparente, DryadLINQ analyse les expressions LINQ, génère des assemblies qu'il déploie automatiquement sur les nœuds de calcul du cluster, puis il gère l'exécution et la récupération des résultats. L'avantage de DryadLINQ est sa flexibilité et sa complète gestion automatisée de l'exécution.
DryadLINQ
Techniquement, DryadLINQ fournit un provider LINQ qui génère le code et effectue les optimisations statiques, et gère un graphe d'exécution avec les dépendances de traitements qui lui permet de savoir ce qui peut être parallélisé ou non.

Un élément important et nécessaire au parallélisme est le partitionnement des données. C'est pourquoi DryadLINQ tire parti de MapReduce qui est un pattern mais aussi une méthode LINQ du même nom qui facilite le partitionnement des données et la récupération des résultats.

DryadLINQ peut être utilisé avec un moteur d'exécution local (durant le développement) ou avec Windows HPC Server.
Concernant le support d'Azure, c'est évidemment une cible forte mais le plus gros problème concerne le transfert des données (potentiellement très volumineuses) vers et depuis le Datacenter. Malgré tout, un prototype interne fonctionne déjà.


Session : What's New in Microsoft SQL Azure, par David Robinson (Senior Program Manager)

Dans cette session, ne sont abordées que les nouveautés de SQL Azure, et elles sont nombreuses !

Nouveau portail d'accès
- Interface en Silverlight, intuitive
- Assistants pour les tâches courantes
- Filtrage et pagination riche
- Vision unique de plusieurs souscriptions
- Intégration du gestionnaire de base (Houston)
Ce nouveau portail est maintenant très élaboré, et n'a plus rien à voir avec l'ancienne version.
Disponible avant fin 2010

Nouvel environnement de développement, Code-Name Juneau
- Environnement très productif pour SQL Azure, Windows Server et Business Intelligence
- Support de projets en mode connecté ou non
- S’adapte au type d’édition Visual Studio
- Mode sandbox (instanciation dans le processus de Visual Studio, sans service Windows)
SQL Azure Reporting

SQL Azure Reporting, Reporting as a Service
- Conception des rapports avec les outils familiers
- Publication dans le Cloud, ou embarqué dans l'application
- Consultation dans l'application, ou depuis le navigateur
- Plusieurs formats d'export
- Expérience développeur identique à SSRS
Disponible avant fin 2010
SQL Azure Federation

SQL Azure Federation
- Support du scale-out, par un partitionnement des données
- Tire parti de l'élasticité
- Zéro administration physique
- Opérations de partitionnement, split et merge
- Ceci vient avec une panoplie de nouveaux concepts (partition table, federation key...) et de nouveaux mots-clés SQL.
Il s'agit d'une nouveauté significative puisque les données seront réparties sur plusieurs serveurs, en fonction des valeurs de partitionnement, ce qui autorisera une réelle scalabilité de la base relationnelle.
Disponible courant 2011

SQL Azure Data Sync
- Synchronisation entre bases SQL Server et SQL Azure
- Support Cloud to Cloud
- Configuration et scheduling (aucun code à écrire)
- Gestion des conflits
- Supervision

Et pour la suite (2011 et plus), il faut s'attendre à:
- BI as a Service : SSRS et SSAS
- Support de l'import et export des données, backup et restore
- Amélioration du support multi-tenant
- Support JDBC
- ...

Une session finalement très riche en présentations, et produisant une bonne vision des produits et fonctionnalités à venir.