29/03/2014
Multi-Tenancy sur le
Cloud Windows Azure
Live coding
Samir AREZKI
Who I am ?
Samir AREZKI
Consultant .NET / Windows Azure
Altran technologies
Email : ms.arezki@outlook.com
Twitter : @itfana
29/03/2014
Session Agenda
Multi-tenancy
Architecture globale
Windows Azure active directory
ASP.NET Cloud Multi-Organisation
SQL Database Federation
Modèles de déploiements
Auto-scaling
29/03/2014
Objectif de la session
 Construire une application web (ASP.NET)
multi-organisation sur Windows Azure.
 Prérequis :
 Visual Studio 2013 Express
 Compte Windows Azure
 Windows Azure SDK for .NET
29/03/2014
29/03/2014
Multi-tenant vs Single-tenant
Architecture Globale
29/03/2014
Windows Azure Active Directory
29/03/2014
WAAD Premium
 Une réinitialisation du mot de passe d'utilisateur en libre-
service
 La configuration et la gestion de l'accès basée sur des
groupes pour les applications SaaS
 La personnalisation de société (Premium branding) :
http://technet.microsoft.com/en-us/library/dn532270.aspx
 Rapports de sécurité détaillés
29/03/2014
Graph API
 https://graph.windows.net/<tenant>/?api-
version=2013-04-05
 http://graphexplorer.cloudapp.net/
 WINDOWS AZURE AD GRAPH COMMON
QUERIES:
 http://msdn.microsoft.com/en-
us/library/windowsazure/jj126255.aspx
 Windows Azure AD Graph API Helper
Library
 http://code.msdn.microsoft.com/Windows-Azure-
AD-Graph-API-a8c72e18
29/03/2014
Demo: Windows Azure Active Directory
29/03/2014
ASP.NET : Cloud Multiple Organizations
 Nouveau modèle d’Authentification, Cloud – Multiple
Organizations
29/03/2014
ASP.NET et WAAD
29/03/2014
Accès externes
Litware (ISV) directory
29/03/2014
Demo: ASP.NET
29/03/2014
Architecture des données
 SQL
 NoSQL
 Azure Table Storage
Patterns : Sharding et partitionnement horizontal.
29/03/2014
Database Scalability : SQL Federation
 Simplifié la Multi-tenancy
 Conception et le développement de solutions multi-tenantes
 Gestion et administration efficace des locataires
 Outillage : SQL Server Management Studio, Portail Azure…
29/03/2014
Azure SQL Database Federations
 Federation
 Federation Root
 Federation Member
 Federation Key
29/03/2014
Demo: Azure SQL Database Federations
29/03/2014
Modèles de déploiement
29/03/2014
cloud service
Windows Azure
Web Site
Demo: Windows Azure Web Site
29/03/2014
Auto-scaling
 Windows Azure Autoscaling : Cette fonction prend en
charge les scénarios de mise à l'échelle les plus courants.
Vous pouvez configurer une solution en utilisant le Portail
Windows Azure.
 Microsoft Enterprise Library Autoscaling Application Block :
Utilitaire permettant la mise à l'échelle basée sur des règles
personnalisées et des données de performance. Approche
plus complexe, nécessite d'écrire du code pour capturer les
données de performance.
29/03/2014
Windows Azure Auto-scaling
 Des heures de planification :
 Journée, Nuit.
 Heures, Jours, Weekends.
 Des métriques :
 Nombre d’instances minimum et maximum,
 UC cible minimum et maximum.
29/03/2014
Demo: Auto-scaling
29/03/2014
Ressources
• Developing Multi-Tenant Web Applications with Windows Azure AD :
http://msdn.microsoft.com/en-us/library/windowsazure/dn151789.aspx
• Designing Multitenant Applications on Windows Azure
http://msdn.microsoft.com/en-us/library/windowsazure/hh689716.aspx
• Active Directory from on-premises to the cloud – Windows Azure AD
whitepapers : http://www.microsoft.com/en-
us/download/details.aspx?id=36391
• Fédérations dans les bases de données SQL Windows Azure
http://msdn.microsoft.com/fr-fr/library/windowsazure/hh597452.aspx
• VS2013 RTM, Organizational Accounts and Publishing to Windows Azure
Web Sites http://www.cloudidentity.com/blog/2013/10/24/vs2013-rtm-
organizational-accounts-and-publishing-to-windows-azure-web-sites/
29/03/2014
SQL Federation : Monitoring and Troubleshooting
 sys.dm_federation_operations - Returns one row per SPLIT or
DROP operation, containing information on the progress of
an operation and any error conditions or the operation.
 sys.dm_federation_operation_members - Returns federation
members involved in a federation operation
 sys.dm_federation_operation_errors - Returns information on
errors that occur during a SPLIT or DROP operation
 sys.dm_federation_operation_error_members - Returns a list
of members involved in federation operations that failed due
to errors.
29/03/2014
SQL Federation : Monitoring and Troubleshooting
 sys.federations - Returns the federations within a database
 sys.federation_distributions - Returns the distribution type
and data types used by a federation
 sys.federation_members - Returns Information on member
to federation associations
 sys.federation_member_distributions - Returns distribution
information about members within a federation
 sys.federation_table_columns - Returns specialized
federation properties of federated tables
29/03/2014
SQL Federation :
 sys.federation_history - Returns historical information about
a federation
 sys.federation_distribution_history - Returns historical
information about the distribution type and data types used
by a federation
 sys.federation_member_history - Returns historical
information for each member of a federation
 sys.federation_member_distribution_history - Returns
historical information about the distribution range for
federation members.
29/03/2014
SQL Federation : Best Practices
 Federations
 Normalize your data model all the way
 Apply Scale-First design principles
 Select Table Groups that need Scale-out
 Federation Keys and Atomic Units
 Target latency and scale sensitive queries
 Ensure transaction boundaries
 Distribute the app workload equally across members
 Fit in the scale-up limit
 Unique Key Generation
 Identity
 Uniqueidentifier
29/03/2014

Global Windows Azure Bootcamp : Samir Arezki Multi-Tenancy. (sponsor Annuel du MUG-Lyon: Viseo)

  • 2.
    29/03/2014 Multi-Tenancy sur le CloudWindows Azure Live coding Samir AREZKI
  • 3.
    Who I am? Samir AREZKI Consultant .NET / Windows Azure Altran technologies Email : ms.arezki@outlook.com Twitter : @itfana 29/03/2014
  • 4.
    Session Agenda Multi-tenancy Architecture globale WindowsAzure active directory ASP.NET Cloud Multi-Organisation SQL Database Federation Modèles de déploiements Auto-scaling 29/03/2014
  • 5.
    Objectif de lasession  Construire une application web (ASP.NET) multi-organisation sur Windows Azure.  Prérequis :  Visual Studio 2013 Express  Compte Windows Azure  Windows Azure SDK for .NET 29/03/2014
  • 6.
  • 7.
  • 8.
    Windows Azure ActiveDirectory 29/03/2014
  • 9.
    WAAD Premium  Uneréinitialisation du mot de passe d'utilisateur en libre- service  La configuration et la gestion de l'accès basée sur des groupes pour les applications SaaS  La personnalisation de société (Premium branding) : http://technet.microsoft.com/en-us/library/dn532270.aspx  Rapports de sécurité détaillés 29/03/2014
  • 10.
    Graph API  https://graph.windows.net/<tenant>/?api- version=2013-04-05 http://graphexplorer.cloudapp.net/  WINDOWS AZURE AD GRAPH COMMON QUERIES:  http://msdn.microsoft.com/en- us/library/windowsazure/jj126255.aspx  Windows Azure AD Graph API Helper Library  http://code.msdn.microsoft.com/Windows-Azure- AD-Graph-API-a8c72e18 29/03/2014
  • 11.
    Demo: Windows AzureActive Directory 29/03/2014
  • 12.
    ASP.NET : CloudMultiple Organizations  Nouveau modèle d’Authentification, Cloud – Multiple Organizations 29/03/2014
  • 13.
  • 14.
    Accès externes Litware (ISV)directory 29/03/2014
  • 15.
  • 16.
    Architecture des données SQL  NoSQL  Azure Table Storage Patterns : Sharding et partitionnement horizontal. 29/03/2014
  • 17.
    Database Scalability :SQL Federation  Simplifié la Multi-tenancy  Conception et le développement de solutions multi-tenantes  Gestion et administration efficace des locataires  Outillage : SQL Server Management Studio, Portail Azure… 29/03/2014
  • 18.
    Azure SQL DatabaseFederations  Federation  Federation Root  Federation Member  Federation Key 29/03/2014
  • 19.
    Demo: Azure SQLDatabase Federations 29/03/2014
  • 20.
    Modèles de déploiement 29/03/2014 cloudservice Windows Azure Web Site
  • 21.
    Demo: Windows AzureWeb Site 29/03/2014
  • 22.
    Auto-scaling  Windows AzureAutoscaling : Cette fonction prend en charge les scénarios de mise à l'échelle les plus courants. Vous pouvez configurer une solution en utilisant le Portail Windows Azure.  Microsoft Enterprise Library Autoscaling Application Block : Utilitaire permettant la mise à l'échelle basée sur des règles personnalisées et des données de performance. Approche plus complexe, nécessite d'écrire du code pour capturer les données de performance. 29/03/2014
  • 23.
    Windows Azure Auto-scaling Des heures de planification :  Journée, Nuit.  Heures, Jours, Weekends.  Des métriques :  Nombre d’instances minimum et maximum,  UC cible minimum et maximum. 29/03/2014
  • 24.
  • 25.
    Ressources • Developing Multi-TenantWeb Applications with Windows Azure AD : http://msdn.microsoft.com/en-us/library/windowsazure/dn151789.aspx • Designing Multitenant Applications on Windows Azure http://msdn.microsoft.com/en-us/library/windowsazure/hh689716.aspx • Active Directory from on-premises to the cloud – Windows Azure AD whitepapers : http://www.microsoft.com/en- us/download/details.aspx?id=36391 • Fédérations dans les bases de données SQL Windows Azure http://msdn.microsoft.com/fr-fr/library/windowsazure/hh597452.aspx • VS2013 RTM, Organizational Accounts and Publishing to Windows Azure Web Sites http://www.cloudidentity.com/blog/2013/10/24/vs2013-rtm- organizational-accounts-and-publishing-to-windows-azure-web-sites/ 29/03/2014
  • 26.
    SQL Federation :Monitoring and Troubleshooting  sys.dm_federation_operations - Returns one row per SPLIT or DROP operation, containing information on the progress of an operation and any error conditions or the operation.  sys.dm_federation_operation_members - Returns federation members involved in a federation operation  sys.dm_federation_operation_errors - Returns information on errors that occur during a SPLIT or DROP operation  sys.dm_federation_operation_error_members - Returns a list of members involved in federation operations that failed due to errors. 29/03/2014
  • 27.
    SQL Federation :Monitoring and Troubleshooting  sys.federations - Returns the federations within a database  sys.federation_distributions - Returns the distribution type and data types used by a federation  sys.federation_members - Returns Information on member to federation associations  sys.federation_member_distributions - Returns distribution information about members within a federation  sys.federation_table_columns - Returns specialized federation properties of federated tables 29/03/2014
  • 28.
    SQL Federation : sys.federation_history - Returns historical information about a federation  sys.federation_distribution_history - Returns historical information about the distribution type and data types used by a federation  sys.federation_member_history - Returns historical information for each member of a federation  sys.federation_member_distribution_history - Returns historical information about the distribution range for federation members. 29/03/2014
  • 29.
    SQL Federation :Best Practices  Federations  Normalize your data model all the way  Apply Scale-First design principles  Select Table Groups that need Scale-out  Federation Keys and Atomic Units  Target latency and scale sensitive queries  Ensure transaction boundaries  Distribute the app workload equally across members  Fit in the scale-up limit  Unique Key Generation  Identity  Uniqueidentifier 29/03/2014