Vous allez apprendre comment un développeur ou un architecte peut tester assez facilement la mise en place d’un environnement relativement complexe, pour un coût modique.
Le tutoriel montre aussi concrètement comment le cloud et un environnement à demeure peuvent fonctionner ensemble (ici au niveau de l’authentification). Il s’agit là encore d’un exemple d’implémentation de ce que peut être le cloud hybride !
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
JavaScript prend de plus en plus d'importance et Microsoft rend son exécution très efficace. Nous verrons dans cette session les cas d'utilisation de ce langage sur la plateforme Microsoft au niveau du serveur que ce soit par exemple avec Node.js ou Map/Reduce sur Windows Server et Windows Azure.
Session performed at Microsoft Techdays 2012 in Paris.
Talked about Node.JS, MongoDB and Hadoop on Windows Azure.
Available NodeJS demos here :
- https://github.com/fasterize/DemoTechdays2012Chat
- https://github.com/fasterize/DemoTechdays2012Proxy
- https://github.com/fasterize/techdays
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
JavaScript prend de plus en plus d'importance et Microsoft rend son exécution très efficace. Nous verrons dans cette session les cas d'utilisation de ce langage sur la plateforme Microsoft au niveau du serveur que ce soit par exemple avec Node.js ou Map/Reduce sur Windows Server et Windows Azure.
Session performed at Microsoft Techdays 2012 in Paris.
Talked about Node.JS, MongoDB and Hadoop on Windows Azure.
Available NodeJS demos here :
- https://github.com/fasterize/DemoTechdays2012Chat
- https://github.com/fasterize/DemoTechdays2012Proxy
- https://github.com/fasterize/techdays
Vous allez voir comment collecter des informations JSON (ou autre) venant de différentes instances d’applications mobiles sur une ferme Web, agréger ces données sous formes de fichiers dans le nuage (blobs). Vous allez également voir comment créer par script un cluster Hadoop en tant que service, comment lui soumettre un script à la SQL (HIVE) pour analyser les données ainsi collectées avant de détruire le cluster. Enfin, vous alllez voir comment récupérer les résultats (sans que le cluster Hadoop ait besoin d’être allumé) dans Excel Power Query, pour alimenter un modèle Power Pivot et visualiser le résultat sur une carte dans Power View.
Ces différentes parties sont relativement indépendantes. Elles peuvent être réutilisées indépendamment les unes des autres. Ensemble, elles constituent une solution de type cloud hybride, où des applications mobiles situées par définition à des endroits très divers envoient des données dans le cloud pour analyse avant visualisation dans les murs de l’entreprise (Excel).
Le cloud hybride, cela peut correspondre à des solutions aussi concrètes que cela !
Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et MonacoMicrosoft
Je réalise un projet web en mode agile. TFS 2013 et Visual Studio Online peuvent-ils m'aider ? Comment ? » Venez voir comment l'ensemble des possibilités de TFS 2013 combiné à Visual Studio 2013 supporte la réalisation d'un projet Web en Scrum grâce (entre autre) aux déploiements automatiques dans des VMs Azure et aux nouvelles capacités de Visual Studio Online. Le programme consistera en un jeu de rôle combinant les capacités de Visual Studio 2013, le pilotage projet grâce à TFS (organisation des scénarios et des tâches), comment faire le standup meeting avec l'interface web (planification et décomposition des scénarios / exigences), le code review, la création de tests unitaires, la création d’une infrastructure Azure pour gérer les déploiements automatiques, et enfin l'exécution des tests utilisateurs suite à la demande de revue par le client.
Speakers : Franck Farré (SQLI), Fabrice Hautot (SQLI)
Java dans Windows Azure: l'exemple de JonasMicrosoft
Jonas, serveur d'application J2EE, a récemment été porté par Bull, avec l'aide de Microsoft, sur Windows Azure. Au-delà de la mixité des environnements Java et Microsoft, cette session démontrera par l'exemple la grande ouverture de Windows Azure à des technologies peu habituées à s'éxécuter en environnement Windows.
En s'appuyant sur des retours d'expérience projet, nous présenterons au travers de cette session les apports du cloud computing Windows Azure pour votre site de eCommerce. Quels sont les impacts architecturaux, ainsi que les impacts sur les modèles de développement ? Comment intégrer votre solution Cloud à votre back-office logistique ? Nous présenterons également les solutions de gestion et de supervision d'un site ecommerce hébergé dans Widows Azure.
Windows Azure est une plateforme IaaS qui n'est pas réservée exclusivement aux application .NET. Cette session explore et explique comment déployer le serveur d'application JOnAS sur le cloud de Microsoft
exposer cloud sur le cloud computing et azuregaetan FOKOM
Microsoft Azure, également connu sous le nom de Windows Azure, est la plate-forme de cloud computing public de Microsoft qui est conçue pour donner de nouvelles solutions aux entreprises.
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex Microsoft Technet France
Automatiser vos processus métiers vous permet non seulement de sécuriser et de standardiser les flux mais également de sauver du temps de travail a vos équipes, leur permettant de se concentrer sur le cœur de leur métier. Une fois automatisé, la valeur de ces processus peut être mesurée et ainsi le retour sur investissement calculé. Au cours de cette session nous verrons l’intérêt de l’automatisation des processus et les méthodes permettant d’améliorer vos processus, et d’en mesurer la valeur
Dans cette session, nous allons parcourir les différentes options de déploiement de Windows 10 pour l'entreprise. Parmi les nouveautés, nous décrirons la mise à jour « in place » et le provisionnement de machines au travers d'un outil de configuration appelé WICD. Nous verrons notamment ce dernier mode de déploiement dans une demonstration.
Contenu connexe
Similaire à [Tuto] Web burst : Débordement Web vers Windows Azure
Vous allez voir comment collecter des informations JSON (ou autre) venant de différentes instances d’applications mobiles sur une ferme Web, agréger ces données sous formes de fichiers dans le nuage (blobs). Vous allez également voir comment créer par script un cluster Hadoop en tant que service, comment lui soumettre un script à la SQL (HIVE) pour analyser les données ainsi collectées avant de détruire le cluster. Enfin, vous alllez voir comment récupérer les résultats (sans que le cluster Hadoop ait besoin d’être allumé) dans Excel Power Query, pour alimenter un modèle Power Pivot et visualiser le résultat sur une carte dans Power View.
Ces différentes parties sont relativement indépendantes. Elles peuvent être réutilisées indépendamment les unes des autres. Ensemble, elles constituent une solution de type cloud hybride, où des applications mobiles situées par définition à des endroits très divers envoient des données dans le cloud pour analyse avant visualisation dans les murs de l’entreprise (Excel).
Le cloud hybride, cela peut correspondre à des solutions aussi concrètes que cela !
Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et MonacoMicrosoft
Je réalise un projet web en mode agile. TFS 2013 et Visual Studio Online peuvent-ils m'aider ? Comment ? » Venez voir comment l'ensemble des possibilités de TFS 2013 combiné à Visual Studio 2013 supporte la réalisation d'un projet Web en Scrum grâce (entre autre) aux déploiements automatiques dans des VMs Azure et aux nouvelles capacités de Visual Studio Online. Le programme consistera en un jeu de rôle combinant les capacités de Visual Studio 2013, le pilotage projet grâce à TFS (organisation des scénarios et des tâches), comment faire le standup meeting avec l'interface web (planification et décomposition des scénarios / exigences), le code review, la création de tests unitaires, la création d’une infrastructure Azure pour gérer les déploiements automatiques, et enfin l'exécution des tests utilisateurs suite à la demande de revue par le client.
Speakers : Franck Farré (SQLI), Fabrice Hautot (SQLI)
Java dans Windows Azure: l'exemple de JonasMicrosoft
Jonas, serveur d'application J2EE, a récemment été porté par Bull, avec l'aide de Microsoft, sur Windows Azure. Au-delà de la mixité des environnements Java et Microsoft, cette session démontrera par l'exemple la grande ouverture de Windows Azure à des technologies peu habituées à s'éxécuter en environnement Windows.
En s'appuyant sur des retours d'expérience projet, nous présenterons au travers de cette session les apports du cloud computing Windows Azure pour votre site de eCommerce. Quels sont les impacts architecturaux, ainsi que les impacts sur les modèles de développement ? Comment intégrer votre solution Cloud à votre back-office logistique ? Nous présenterons également les solutions de gestion et de supervision d'un site ecommerce hébergé dans Widows Azure.
Windows Azure est une plateforme IaaS qui n'est pas réservée exclusivement aux application .NET. Cette session explore et explique comment déployer le serveur d'application JOnAS sur le cloud de Microsoft
exposer cloud sur le cloud computing et azuregaetan FOKOM
Microsoft Azure, également connu sous le nom de Windows Azure, est la plate-forme de cloud computing public de Microsoft qui est conçue pour donner de nouvelles solutions aux entreprises.
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex Microsoft Technet France
Automatiser vos processus métiers vous permet non seulement de sécuriser et de standardiser les flux mais également de sauver du temps de travail a vos équipes, leur permettant de se concentrer sur le cœur de leur métier. Une fois automatisé, la valeur de ces processus peut être mesurée et ainsi le retour sur investissement calculé. Au cours de cette session nous verrons l’intérêt de l’automatisation des processus et les méthodes permettant d’améliorer vos processus, et d’en mesurer la valeur
Dans cette session, nous allons parcourir les différentes options de déploiement de Windows 10 pour l'entreprise. Parmi les nouveautés, nous décrirons la mise à jour « in place » et le provisionnement de machines au travers d'un outil de configuration appelé WICD. Nous verrons notamment ce dernier mode de déploiement dans une demonstration.
Retour d'expérience sur l'utilisation d'OMS Log Search pour constituer un Dashboard personnalisable et évolutif grâce aux informations collectées par les différentes solutions proposées dans OMS. L'objectif est de pouvoir monitorer simplement l'état de santé d'un SI hybride au sein d'une seule interface. Sécurité, performance, disponibilité...... Un Dashboard pour les gourverner tous où qu'ils soient!
Fusion, Acquisition - Optimisez la migration et la continuité des outils col...Microsoft Technet France
La restructuration des services IT lors d’une fusion acquisition est un challenge d’importance pour les entreprises concernées. La transition doit la plupart du temps être rapide, avec une forte contrainte de date buttoir et des impératifs techniques très impactant. Elle ne doit pas perturber les utilisateurs qui vont continuer à utiliser les outils collaboratifs à leur disposition. L'enjeu pour l'IT est de pouvoir migrer rapidement ces utilisateurs et leurs contenus collaboratifs dans la nouvelle structure, malgré bien souvent l’absence de contrôle total sur les environnements sources et destination. Cette session a pour objectif de vous faire part de notre retour d'expérience et des bonnes pratiques pour piloter de manière sereine les migrations Active Directory et de la messagerie Exchange/Office 365 dans de tels contextes.
Début 2016, les deux cabinets de conseil Solucom et Kurt Salmon se sont rapprochés pour former un nouveau leader du conseil en Europe, Wavestone, de 2 300 collaborateurs. Pour faciliter l'intégration des équipes, ce nouvel ensemble a déployé un portail Powell 365. Dans cette session, Yannick Taupiac, Senior Manager chez Wavestone, et Jean-Pierre Vimard, CEO de Powell Software, nous racontent comment ils ont déployé le portail en un temps record de 5 semaines.
Retour d’expérience sur le monitoring et la sécurisation des identités AzureMicrosoft Technet France
"La gestion et la sécurisation des identités cloud est, de nos jours, un sujet plus qu’essentiel. Venez découvrir au travers de cette session notre retour d’expérience sur les méthodes de gestion et de sécurisation de votre environnement Azure Active Directory.
Nous aborderons également les produits Azure AD Identity Protection et Azure AD Privileged Identity Management, inclus dans la suite Azure AD Premium P2."
Présentation des scénarios de mobilité couverts à date par la suite Enterprise Mobility + Security et retours d'expérience basés sur des projets de déploiement de cette solution au sein d'entreprises diverses. Quels sont les services offerts aux utilisateurs les plus primés/implémentés, quels sont les choix à faire avant de déployer ces solutions, quels sont les accompagnements à mettre en place pour garantir l'adhésion des utilisateurs à ces nouveaux services, etc.
Venez découvrir le SharePoint Framework et toutes les nouveautés autour du développement SharePoint. Dans cette session, vous découvrirez comment développer des modules d’extensibilité de la plateforme, comme notamment les principes de personnalisation et de déploiement de contenu via les CDN, les nouvelles méthodes pour des développer des Client Sides Web Parts ou encore les webhooks. Orienté autour d’outils et de technologies open source et de JavaScript, le SharePoint Framework est une nouvelle façon rapide, légère et robuste de développer des extensions à SharePoint Online ou SharePoint Server.
Cette session débutera par la présentation de la stratégie Software Defined Storage (SDN) de Microsoft en balayant les aspects privés, hybrides et publiques. Nous continuerons tout le long de la session par des cas d’usage fonctionnel s’appuyant sur les services de stockage Azure. Vous appréhenderez ainsi les critères de choix à prendre en compte pour concevoir une architecture cible. C’est dans cette démarche que nous clôturerons la session par un retour d’expérience client sur la traçabilité de production et packaging industriel s’appuyant sur les services Azure Tables & Blobs
Cette session vous présente le nouveau cycle de mises à jour introduit pour Windows 10. Avec WAAS, de nouvelles fonctionnalités seront publiées régulièrement : quel est l'impact sur vos process IT ? Comment vous organiser pour prendre en compte ce nouveau rythme ? Quels outils pour vous aider ?
"Les organisations de toute taille s’appuient sur un nombre croissant de services dans le Cloud pour assoir les nouveaux usages et modèles d’affaire dans le cadre de leur transformation numérique. Au-delà des contrôles en place et autres dispositions prises par défaut en matière de sécurité par ces services, d’aucun voit dans le chiffrement de leurs données et l’utilisation de leurs propres clés de chiffrement les clés de la confiance.
Dans ce contexte, cette session vous propose une vue d'ensemble illustrée des différentes solutions de chiffrement proposées dans Azure et Office 365. Elle vise à présenter ces solutions et à donner des indications claires sur la façon de choisir la ou les solutions appropriées en fonction de cas d’usage donnés ou/et d’exigences particulières. Les risques ainsi couverts seront explicités au cas par cas."
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...Microsoft Technet France
"Avec l’évolution en marche vers le Cloud pour la recherche d’économies et d’une meilleure agilité dans le cadre de leur transformation numérique, les organisations font face à des besoins croissants de protection et de contrôle des informations sensibles.
Des questions se posent inévitablement : Comment identifier correctement les informations sensibles ? Et sur cette base, comment appliquer le bon niveau de contrôle pour garantir la sécurité la protection de la vie privée de ces informations ? Comment contrôler les clés qui sont utilisées ?
Dans ce contexte, cette session présente comment la nouvelle solution Azure Information Protection aide les organisations aux différents stades de l’adoption du cloud à protéger leur patrimoine informationnel. Azure Information Protection combine la technologie précédemment disponible dans les services RMS (Rights Management Services) et des apports issus de l’acquisition de Secure Islands pour permettre la classification pertinente des informations (sensibles), leur chiffrement, un contrôle d’accès adapté, l’application de politiques et plus encore."
"Il n’y a aucune économie numérique sans identité. Les relations numériques et la connectivité avec les personnes et les autres acteurs quels qu’ils soient sont en effet essentielles au succès des organisations aujourd’hui. L’identité est au centre de tout, qu’il s’agisse de celle de leurs collaborateurs, partenaires, clients, appareils, « objets », etc.
Cette session introduit la stratégie de Microsoft pour couvrir les scénarios clé de B2E (business-to-employees), B2B (business-to-business) et de B2C (business-to-consumers) afin de permettre les nouveaux usages et/ou modèles d’affaires souhaités dans le cadre de la nécessaire transformation numérique des organisations.
La session illustrera comment les différentes offres et éditions d’Azure Active Directory associent les fonctions plus avancées pour l’identité comme un Service (IDaaS) avec l’externalisation des opérations pour obtenir la réduction des efforts de mise en œuvre, des coûts et des risques."
Vous avez dit « authentification sans mot de passe » : une illustration avec ...Microsoft Technet France
"L’actualité ne cesse de se faire l’écho de cas de vols de mots de passe toujours plus nombreux vis-à-vis de services en ligne. Pour répondre à cette situation, les travaux de l’alliance FIDO (Fast IDentity Online) offrent une authentification sans mot de passe fondée sur la cryptographie asymétrique.
Cette session introduit les spécifications FIDO 2 implémentées dans Windows 10 au travers de Microsoft Hello et de Microsoft Passport, et illustre l’utilisation de ces mécanismes avec la plateforme FranceConnect.
FranceConnect est un nouveau système d’identification à l’initiative de la Direction interministérielle du numérique et du système d’information et de communication de l’État (DINSIC). FranceConnect vise à faciliter l’accès des usagers aux services numériques de l’administration en ligne."
"La version 2016 de SQL Server est une version majeure et apporte de nombreuses nouveautés aussi bien fonctionnelles que techniques. Sans pour autant oublier la sécurité ! Durant cette session nous passerons en revue les fondamentaux de la sécurité dans une base de données, puis nous vous présenterons des méthodes de protection des données, et nous vous présenterons aussi la nouvelle fonctionnalité qu’est « Always Encrypted » disponible aussi dans Azure SQL Database avec Azure KeyVault.
"
Une architecture hybride était souvent vue comme un déploiement temporaire pour la transition vers le Cloud Microsoft. Cependant, avec l'arrivée de SharePoint Server 2016, qui a été conçu et inspiré depuis Office 365, beaucoup d’organisations sont à la recherche de moyens pour combiner leurs investissements SharePoint existants avec le Cloud.
Un déploiement hybride est la voie à suivre pour de nombreuses organisations au moins pour quelques années encore.
Au cours de cette session, nous vous proposons de revenir sur les scenarios déjà existants ainsi que les nouveautés. Que ce soit OneDrive for Business, la recherche, les sites SharePoint, Delve, Delve Analytics, Power BI ou encore les Groupes Office 365, Video ou Planner, nous verrons ensemble comment une topologie hybride peut vous permettre dès maintenant de tirer le potentiel maximum de vos infrastructures SharePoint.
" Avec des utilisateurs mobiles et autonomes, le MDM est une solution de choix pour une gestion légère et efficace des périphériques Windows 10. Cette session est l'occasion de montrer, à travers quelques démonstrations de Microsoft Intune et Azure AD, comment l'identité est au centre de cette gestion et de nouveaux scénarios. Nous vous démontrerons comment déployer des applications universelles métier en entreprise, par exemple, pour faire des achats en volume, pour la facturation ou l'utilisation d'identités professionnelles. avec le Windows Store pour Entreprises."
"La sécurité de votre Système d’Information est à l’honneur dans ce talk.
- Comment sécuriser mes données et mes échanges avec Office 365 ?
- Où sont mes données une fois migrées ?
- Comment sécuriser mes périphériques en mobilité ?
- Protéger mes informations dans l’approche « Cloud First »,
- …
Nos experts répondent à TOUTES vos questions !"
[Tuto] Web burst : Débordement Web vers Windows Azure
1. Débordement Web vers Windows Azure
Avertissement
Cet article s’inspire d’un article publié en janvier 2010 que l’on propose en annexes. Le scénario est le
même, mais la façon d’aborder le sujet diffère. L’article original s’adressait à des architectes et entrait
peu dans le détail. On propose ici plutôt de n’aborder qu’une partie des sujets mais de les voir
concrètement, ce qui intéressera plus les développeurs. Cet article peut être lu sans lire l’article
original. Par exemple, sur le coût de la solution, on indique comment ont évolué les prix et combien la
solution pourrait coûter aujourd’hui sans reprendre le détail du calcul original. Egalement, dans le
chapitre mise en œuvre, on montre des éléments assez indépendants. La cohérence est apportée par
l’article original, mais n’est pas indispensable.
Scénario
Cet article montre comment on peut utiliser l’élasticité du cloud pour permettre à l’informatique interne
d’une entreprise de déborder sur le nuage pendant les périodes de plus forte charge. Pour illustrer cela,
on s’appuie sur l’exemple de la saisie des feuilles de temps dans laquelle les employés de l’entreprise
affectent leur temps à des projets, pour le suivi budgétaire de ces derniers. Contoso demande aux
employés européens qui travaillent sur ses projets de saisir de façon hebdomadaire le temps qu’ils ont
passé sur chaque projet, de façon à pouvoir suivre budgétairement ces projets.
Les saisies peuvent avoir lieu par anticipation, mais la plupart de ces saisies ont lieu le vendredi aprèsmidi (plus de 80% de la population concernée). Il y a à peu près 20 000 personnes concernées par cette
saisie dans l’entreprise. Cela donne donc une population de 16 000 personnes pour la saisie le vendredi
après-midi.
Le vendredi après-midi, l’application de saisie des temps rencontre des dégradations performance
aboutissant à des abandons de saisie, et une baisse de productivité des employés. Les prestataires
externes peuvent saisir leurs temps directement dans l’application quand ils sont dans les murs de
l’entreprise, mais ils ne peuvent pas le faire depuis Internet, l’application de saisie des temps n’étant pas
exposée à l’extérieur.
L’affectation des temps aux différents projets est gérée au niveau de l’ERP de CONTOSO. Ce dernier
expose des services Web SOAP (Il est à noter que l’ERP peut exposer ces services web directement, ou
via une couche d’intégration telle que BizTalk) qui permettent de
Récupérer pour un utilisateur la liste des codes et libellés de projets sur lesquels il peut saisir
pour la période
Récupérer la liste des temps déjà saisis sur une période
Soumettre une saisie de temps
L’application de saisie des temps est une application Web écrite en ASP.NET, qui fait appel à ces Services
Web et utilise l’authentification intégrée Windows (les utilisateurs arrivent avec leur compte défini dans
un domaine Active Directory de l’entreprise).
2. Conception de la solution
Principales évolution utiles depuis janvier 2010
La solution proposée pour l’hébergement du site Web dans le nuage s’appuie sur les Web Roles (PaaS).
Depuis, pour héberger un site Web, il est également possible de choisir Web Sites ou des machines
virtuelles.
Si le code est compliqué à migrer, ou que la solution tourne sur Linux par exemple, il est préférable de
s’appuyer sur les machines virtuelles Windows Azure (IaaS). On peut tout à fait automatiser la création
de ces VM (comme on le verra ici lors de la création de l’environnement de simulation de ce qui se passe
à demeure). On peut même avoir de l’autoscaling sur ces VM comme expliqué dans le billet de Scott
Guthrie; pour les VM, le principe est de les mettre dans le même availability set et l’autoscaling les
allumera ou éteindra en fonction des critères voulus (CPU typiquement).
Les Sites Web (« Web Sites ») permettent d’héberger du code .NET, PHP, Python ou Node.js facilement
avec une montée en charge assez forte (jusqu’à 10 VM de 4 cœurs chacune). Contrairement aux web
roles, on ne peut pas modifier les machines virtuelles instanciées, on ne peut pas s’y connecter en
bureau à distance, on ne peut pas inclure ces VM dans un réseau virtuel Windows Azure, on en peut pas
avoir des fermes Web de plus de 10 machines. Cela dit, dans le cas de la saisie des feuilles de temps, rien
de tout cela n’est nécessaire. Aussi, on propose ici de s’appuyer sur Web Sites plutôt que des Web
Roles.
Pour l’authentification, on dispose, en plus de ce qui était disponible en 2010, de Windows Azure Active
Directory qui permet également d’authentifier les utilisateurs de l’entreprise depuis le cloud. Le fait
d’utiliser Windows Azure Active Directory en tant que réplication d’Active Directory à demeure (via un
outil appelé DirSync) est un choix qui relève en général plus des architectes en infrastructure que des
développeurs et l’on propose dans cette version du papier de rester dans les principes énoncés dans la
version originale avec Active Directory Federation Services qui conserve un rôle important dans la mise
en œuvre de Windows Azure Active Directory dans une architecture hybride :
3. Pour la liaison entre le site web de saisie dans le nuage et l’ERP, c’est-à-dire l’envoi depuis Windows
Azure des feuilles de temps saisies au système d’information interne de l’entreprise, on s’était appuyé
sur Windows Azure Service Bus. Windows Azure Service Bus existe en version synchrone (« relay ») et
asynchrone (« Queues », « Topics »). La version asynchrone est apparue après et présente ici deux
avantages par rapport à la version synchrone :
-
Elle peut absorber les pics de charge en stockant les messages non encore consommés
Elle est plus simple à mettre en œuvre
On choisit donc de remplacer Windows Azure Service Bus Relay par Windows Azure Service Bus Queues.
Les topics sont des queues avec plusieurs abonnés qui peuvent suivre des messages différents. Ici on n’a
qu’une destination, à savoir l’ERP dans un sens, ou la ferme Web dans l’autre donc les queues sont plus
adaptées. On adapte donc le schéma de la façon suivante :
4. Le schéma reste le même, mais le « service de lien Azure » est développé différemment.
Environnement de simulation et de test de la solution
On montre dans cet article seulement certains aspects de la solution, mais dans le détail. De façon à
disposer d’un environnement de simulation de ce qui se passe à demeure on créera une machine
virtuelle dans le datacenter d’Europe de l’Ouest de Windows Azure, que l’on n’exposera sur Internet que
pour y avoir accès via le bureau à distance, et l’on fera tourner ce qui est effectivement dans Windows
Azure dans le datacenter d’Europe du Nord. La création de l’environnement de simulation en Europe de
l’Ouest se fera essentiellement par un script PowerShell.
5. De façon à ce que chacun puisse reproduire l’exercice dans son propre environnement, on met ici la
chaîne de caractères 131103a dans les noms qu’il vous suffira de changer dans les différents scripts en
choisissant la vôtre. Par exemple, il existe un seul chezwam131103a.cloudapp.net, mais quelqu’un
d’autre peut créer son chezwam1337.cloudapp.net, un autre son chezwam42qr.cloudapp.net.
Ce que nous allons tester
Nous allons donc voir plus dans le détail ici comment :
Déployer une application ASP.NET sur Web Sites
Gérer l’authentification avec ADFS
Faire monter en charge automatiquement (Autoscaling) un Web Site
En revanche, ce dernier point fera peut-être l’objet d’un autre article :
Utiliser les queues de Service Bus pour interagir avec le Web Service SOAP à demeure (via un
composant à demeure)
Mise en œuvre
Environnement de simulation
L’environnement de simulation est initié par un script PowerShell.
Vous trouverez en annexes la façon d’initialiser votre environnement pour exécuter ce script. Il est à
noter que ce script doit être lancé en tant qu’administrateur. Le démarrage de PowerShell ISE doit donc
se faire par exemple de la façon suivante :
6. Le script à exécuter est le suivant :
#region import, add Azure Account
import-module Azure
#may be needed if the credentials have expired
#add-AzureAccount
#endregion
#region change with your own values
$subscription = 'Azure bengui'
$suffix = "131103a"
$username = "benjguin"
$password = "NR_yi_gpr_n93"
#endregion
#region initialization
$serviceName = "chezwam${suffix}"
$storageName = "chezwam${suffix}"
$domainname = "chezwam${suffix}"
$domainFQDN = "${domainname}.contoso.com"
$dcName = "dc1"
$memberName = "membre"
$region = "West Europe"
$affinityGroupName = "chezwamAG"
$virtualNetworkName = "chezwamNET"
$here = split-path -parent $MyInvocation.MyCommand.Definition
Select-AzureSubscription -Default $subscription
#endregion
#region functions
function GetLatestImage
{
param($imageFamily)
9. foreach ($d in $disks)
{
# there should be one disk only
$diskNumber = $d.Number
echo "will format disk $diskNumber"
Initialize-Disk $diskNumber
New-Partition -DiskNumber $diskNumber -UseMaximumSize -AssignDriveLetter
Format-Volume -DriveLetter F -Confirm:$False
get-volume -DriveLetter F
}
Import-module ADDSDeployment
Install-ADDSForest -DomainName $domainFQDN -InstallDns:$true -DatabasePath
"F:NTDS" `
-LogPath "F:NTDS" -SysvolPath "F:SYSVOL" -NoRebootOnCompletion:$false Force:$true `
-SafeModeAdministratorPassword $SecureStringadminPassword
}
#endregion
#region wait for DC to reboot
Start-Sleep -Seconds 45
$dcVM = Get-AzureVM -ServiceName $serviceName -Name $dcName
While ($dcVM.InstanceStatus -ne "ReadyRole")
{
write-host "Waiting for DC to be ready... Current Status = " $DcVm.InstanceStatus
Start-Sleep -Seconds 15
$dcVM = Get-AzureVM -ServiceName $serviceName -Name $DcVmName
}
#endregion
#region create member VM
$memberVM = `
New-AzureVMConfig -ImageName $vmImageName -InstanceSize Small -Name $memberName `
-DiskLabel "${memberName}os" `
-HostCaching ReadWrite -Label "$memberName" |
Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $username -Password
$password `
-Domain $domainName -DomainUserName $username -DomainPassword $password JoinDomain $domainFQDN `
-NoRDPEndpoint -NoWinRMEndpoint |
Add-AzureEndpoint -LocalPort 3389 -Name "RDP" -Protocol tcp -PublicPort 50102 |
Set-AzureSubnet 'Subnet-2'
if ($false)
{
#if you encounter the following exception
10. #http://social.msdn.microsoft.com/Forums/windowsazure/en-US/ed8a1bb9-0f35-4d7fa5ab-d4fb7afa11c5/newazurevm-errors-when-provisioning-a-domain-joined-vm-missingtype-map-configuration-or?forum=WAVirtualMachinesforWindows
#please use this instead and then, join the domain manually
$memberVM = `
New-AzureVMConfig -ImageName $vmImageName -InstanceSize Small -Name
$memberName `
-DiskLabel "${memberName}os" `
-HostCaching ReadWrite -Label "$memberName" |
Add-AzureProvisioningConfig -Windows -AdminUsername $username -Password
$password `
-NoRDPEndpoint -NoWinRMEndpoint |
Add-AzureEndpoint -LocalPort 3389 -Name "RDP" -Protocol tcp -PublicPort 50102
|
Set-AzureSubnet 'Subnet-2'
}
New-AzureVM -ServiceName $serviceName -VMs $memberVM
#endregion
Le script crée les deux VM dans un réseau virtuel Windows Azure. Sur le DC, il installe un domaine, mais
également ADFS sans le configurer. On peut configurer ADFS en PowerShell (cf
http://technet.microsoft.com/en-us/library/ee892329.aspx), mais on va le faire ici manuellement de
façon à voir concrètement à quoi cela ressemble.
NB : Bien sûr, il s’agit ici d’un environnement de simulation destiné au développeur pour mieux
comprendre les principes et manipuler concrètement les outils. En production, on aurait une
infrastructure beaucoup plus sophistiquée. Voici quelques éléments de comparaison :
Plusieurs contrôleurs de domaine
Séparation des machines sur lesquelles on déploie les DC et ADFS
Plusieurs serveurs ADFS pour la haute disponibilité
Zone DMZ spécifique pour ADFS proxy. Cette DMZ peut elle-même être dans Windows Azure (cf
http://blogs.msdn.com/b/stephgou/archive/2013/05/24/f-233-d-233-ration-d-identit-233-pouroffice-365-via-le-d-233-ploiement-d-une-infrastructure-adfs-sur-la-plateforme-windowsazure.aspx)
Certificats valides publiquement (au lieu du certificat autosigné d’exemple)
…
Pour l’installation dans notre environnement de test, on utilise un certificat autosigné. On montre ici
comment depuis une machine qui a Visual Studio, on peut le créer.
11. NB : Si vous n’en n’avez pas, un fichier PFX exemple vous est fourni en annexes (dossier Scripts). Il a le
même mot de passe que $password dans l’exemple PowerShell ci-dessus.
On trouvera des informations complémentaires à http://msdn.microsoft.com/enus/library/ff699202.aspx
Puis entrer la ligne suivante
makecert -sv SampleCertificate.pvk -n "CN=chezwamsample.contoso.com"
SampleCertificate.cer -b 01/01/2013 -e 01/01/2020 -r
12. Puis entrer la ligne suivante :
pvk2pfx -pvk SampleCertificate.pvk -spc SampleCertificate.cer -pfx
SampleCertificate.pfx -po NR_yi_gpr_n93
Entrer toujours le même mot de passe quand cela est demandé.
Cela donne les fichiers suivants :
Se connecter avec le bureau à distance (RDP) au contrôleur de domaine qui a été créé par le script
PowerShell. Une façon de le faire facilement est d’aller dans le portail
https://manage.windowsazure.com, sélectionner la VM et cliquer sur Connecter en bas.
Copier le fichier pfx dans le serveur DC1 (copier / coller à travers le bureau à distance par exemple) :
Depuis le DC, Aller dans le server manager pour accéder à la configuration manuelle d’ADFS.
13.
14.
15.
16. Entrer le mot de passe (NR_yi_gpr_n93 dans mon cas).
17.
18.
19.
20.
21. Le username et le password correspondent aux valeurs des variables PowerShell :
27. Nous réutiliserons cette console de gestion ADFS plus tard.
Comme on a utilisé un certificat PFX avec comme sujet chezwamsample.contoso.com, on crée une
entrée DNS qui correspond à l’adresse du contrôleur de domaine :
32. NB : dans un environnement de production, le certificat aurait un nom correspondant à son
environnement. Ici, comme je fournis un certificat de test PFX qui doit fonctionner pour tout le monde,
je raccorde cela avec l’environnement contenant le suffixe exemple 131103a via une entrée DNS.
Dans le navigateur, on peut accéder aux métadonnées exposées par ADFS à l’URL suivante.
https://chezwamsample.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml
En tapant sur la touche F12, le document XML est plus lisible (DOM Explorer) :
Sur le poste de développement, on a également besoin d’accéder à l’url
https://chezwamsample.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml avec ce
nom. Cela simplifiera l’utilisation des outils. Pour faire cela par exemple, depuis un PowerShell en tant
qu’adminstrateur, on peut modifier le fichier hosts. Local via la commande :
34. Gestion de l'identité, publication sur Azure Web Sites
Passons maintenant au code du site Web.
La gestion de l’identité à une dépendance sur l’URL. En développement, il peut être pratique de
travailler directement sur un « Web Site » Windows Azure qui propose un chemin HTTPS par défaut en
*.azurewebites.net.
On crée donc un « Web Site » (pensez à changer le nom) :
import-module azure
New-AzureWebsite -Location "North Europe" -Name "cloudtimesheet131103a"
Ainsi, ce qu’on déploiera sera accessible à https://cloudtimesheet131103a.azurewebsites.net
Créons le projet Web qui va utiliser l’authentification ADFS.
35.
36. Les deux paramètres suivants peuvent être entrés :
https://chezwamsample.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml
https://cloudtimesheet131103a.azurewebsites.net
37. Le fichier Web.config contient les informations relatives à la fédération d’identité.
38. On va maintenant déclarer l’application à ADFS. Sur le contrôleur de domaine, dans la console, on
déclare l’application (« Relying Party ») :
Start
39. Sur l’écran suivant, on entre les valeurs suivantes :
Next
Next
Next
Display Name : Cloud Time Sheets
Notes:
42. La règle importante ici est le fait que « Display-Name » d’Active Directory soit passé en tant que
« Name » au niveau du jeton d’authentification envoyé à l’application.
Finish
44. NB : si vous n’avez pas l’intégration avec Visual Studio de Windows Azure dans Visual Studio 2013, vous
pouvez télécharger les outils à http://www.windowsazure.com/fr-fr/downloads/?sdk=net,
47. Le site est donc disponible sur Windows Azure.
On donne ensuite un nom (« Display-Name ») à l’utilisateur de test (qui dans notre cas est aussi l’admin)
dans Active Directory :
Sur le DC1, Windows+R dsa.msc
48.
49. Puis on se connecte avec ce même compte sur le serveur member (la deuxième VM créée par le script
PowerShell).
On configure Internet Explorer.
50.
51.
52. On navigue ensuite vers :
https://chezwamsample.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml ce qui va
nous permettre de faire reconnaître le certificat de test.
58. On peut maintenant tester :
Aller à https://cloudtimesheet131103a.azurewebsites.net
L’utilisateur a une authentification intégrée (on ne lui demande pas son compte ni son mot de passe), et
son nom est reconnu sur le site Web dans Windows Azure :
59.
Configuration de la mise à l’échelle automatique
On peut ensuite configurer la façon dont le site Web monte en charge. Le but est que le bon nombre de
ressources soit utilisé en fonction de l’utilisation effective du site, et ainsi optimiser le coût.
Cela se fait depuis le portail de gestion https://manage.windowsazure.com
Puis on configure la montée en charge elle-même de la façon suivante :
60. Après avoir enregistré les modifications, on voit que le site reste à 1 instance puisque la charge CPU est
faible :
61. NB : on peut avoir une seule VM pour le site Web puisque le SLA de Web Site s’applique pour des VM
seules. Cela vient de ce que les VM de Web Sites sont standard et un pool déjà démarré est disponible
de sorte que le site Web peut être déployé sur la nouvelle VM dans le temps d’une requête HTTP.
Combien ça coûte ?
Parlons prix, maintenant !
62. Evolution des tarifs depuis janvier 2010, pour la solution originale
On pourra comparer les tarifs de l’article original avec les tarifs actuels qui sont disponibles à
http://www.windowsazure.com/pricing. L’article original les exprime en $, au lieu d’€. Il suffit de
changer en bas de la page pour avoir les tarifs en $.
Voici quelques comparaisons :
Heure VM Small en Cloud
Service
Transferts de données
(Europe, USA)
Juil. 2010
Tarification à l’heure
0,12 $ / heure
Nov. 2013
Tarification à la minute
0,08 $ / heure
0,15 $ / Go sortant
0,12 $ / Go sortant, 5 1ers Go
gratuits, tarifs dégressifs
0,00 $ / Go entrant
0,10$ / Go entrant
…
On voit donc que les tarifs ont diminué, et ont gagné en souplesse.
Coûts de ce qui est présenté dans cet article
Combien coûte ce qui a été présenté dans cet article ?
On utilise deux machines virtuelles de taille S pour simuler le contrôleur de domaine et une machine
membre du domaine. Avec leur stockage cela coûte à peu près (extraits de
http://www.windowsazure.com/fr-fr/pricing/calculator/) :
Donc si on fait le test en développement pendant 48 heures en laissant les machines allumées tout le
temps, cela coûte :
63. 0,135 € * 48 + 13,04 € * 48 / (24*31) + 0,38 € soit ~=
7,70 €
On utilise également un « Web Site » en mode standard avec une élasticité automatisée allant de 1 à 8
machines de type S. Pour adapter un peu par rapport au scénario original, on peut supposer qu’on a
toujours le site Web déployé dans le cloud, ce qui évite les redirections complexes. Comme dans l’article
original, on monte à 8 cœurs (ici 8 VM Small) pendant 6 heures le vendredi après-midi.
La présence de la VM 24h/24 coûte :
Puis si on prend le cas des 8 cœurs pendant 6 heures (donc 7 de plus) :
Soit 0,522 € * 6 h =
3,132 € pour absorber le pic de charge.
Conclusion
Cet article montre comment un développeur ou un architecte peut tester assez facilement la mise en
place d’un environnement relativement complexe, pour un coût modique.
Il montre aussi concrètement comment le cloud et un environnement à demeure peuvent fonctionner
ensemble (ici au niveau de l’authentification). Il s’agit là encore d’un exemple d’implémentation de ce
que peut être le cloud hybride !
64. Annexes
Le code source
Le code source est disponible sur https://stockageazure2.blob.core.windows.net/public/B9BB74FB946E-4F22-9E6B-7DF4BCF6ADEB-developpez/hybride/web-burst-annexes-Scripts.zip
Téléchargement et installation du module PowerShell pour gérer Windows Azure
Pour manipuler l’environnement Windows Azure depuis du code et depuis une machine Windows,
PowerShell est un excellent environnement. PowerShell lui-même fait partie de Windows depuis déjà un
certain nombre d’années. En revanche, le module de gestion de Windows Azure doit être téléchargé.
Depuis la machine « dans-mes-murs », on se rend donc à l’adresse suivante :
http://www.windowsazure.com/fr-fr/downloads/#cmd-line-tools
On télécharge et installe ce module.
Puis on exécute Windows PowerShell
65. Et l’on tape les commandes suivantes :
Import-module azure
Get-command -module azure
Ensuite, on ajoute le compte avec lequel on peut se connecter au portail Windows Azure
(http://manage.windowsazure.com) de façon à pouvoir disposer des mêmes ressources depuis
PowerShell.
NB : Si vous n’avez pas de compte Windows Azure, vous pouvez vous en procurer un avec l’offre d’essai
gratuite. Rendez-vous par exemple à http://aka.ms/tester-mon-azure.
Tapez en PowerShell :
Add-AzureAccount
66. Puis laissez-vous guider
Une façon de vérifier que tout est correct est de taper :
Get-AzureSubscription
Cela doit vous donner la liste des abonnements auxquels votre compte entré ci-dessus a droit.
La suite des opération dans PowerShell se fera dans l’IDE de PowerShell appelé ISE. On le démarre de la
façon suivante :
67. Le bouton
Le bouton
(ou F5) permet d’exécuter tout le script saisi
(ou F8) permet d’exécuter uniquement le code sélectionné
68. Si on dispose de plusieurs abonnements Azure, comme c’est mon cas, on peut choisir l’abonnement par
défaut de la façon suivante :
Select-AzureSubscription -Default "Azure bengui"
Dans votre cas, remplacez « Azure bengui » par le nom de votre propre abonnement.
Comment joindre manuellement le serveur membre au domaine
Au moment de l’écriture de cet article (avant le 6 novembre 2013), il y a un bug dans le module
PowerShell azure et on doit donc joindre manuellement le serveur membre au domaine. Voici comment
on fait.
NB : Plus d’informations sur le bug à http://social.msdn.microsoft.com/Forums/windowsazure/enUS/ed8a1bb9-0f35-4d7f-a5ab-d4fb7afa11c5/newazurevm-errors-when-provisioning-a-domain-joinedvm-missing-type-map-configuration-or?forum=WAVirtualMachinesforWindows
Se connecter en remote desktop à la VM :
depuis le portail manage.windowsazure.com
69.
70.
71.
72. Le username correspond à la variable $username du script et le mot de passe à $password.