Le 25/03/2013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES
Identification du document Titre Projet Date de création Date de modification Fiche Technique Objectif 25/03/2013 27/03/2013 Windows Virtualisation Suivi & Validation du document Version Auteur Date Action 0.1 Mathieu Caizergues 25/03/2013 Création 0.2 Mathieu Caizergues 26/03/2013 Modification 0.3 Mathieu Caizergues 27/03/2013 Modification 1.0 Mathieu Caizergues 27/03/2013 Validation Confidentialité Le document peut être : Public : tout le monde peut avoir accès au document ; Interne : la diffusion est limitée au sein d Exakis seulement ; Privé : seuls les auteurs ont accès au document. Public Interne Privé Page 1 sur 14
Table des matières Identification du document...1 Suivi & Validation du document...1 Confidentialité...1 Table des matières...2 Table des illustrations...2 1 Notions sur Windows...3 2 Comment fonctionne?...4 2.1 Mécanisme de base...4 2.2 Hébergement dans...5 2.3 SQL...7 2.4 Storage...9 3 Que faire avec?... 10 3.1 pour héberger son site Internet... 10 3.2 pour publier des applications Mobile ou Sociale... 12 3.3 comme IaaS... 12 3.4 et le Cloud Hybride... 13 4 Sources... 14 Table des illustrations Figure 1 - Avantage...3 Figure 2 - Mécanisme de base...4 Figure 3 - Architecture SQL...9 Figure 4 - Storage... 10 Page 2 sur 14
1 Notions sur Windows Windows est le nom de la plateforme de Cloud Public de Microsoft. C est un projet relativement récent qui date d octobre 2008. L objectif de Windows est d héberger dans un centre de données hautement sécurisé et hautement disponible, des applications ou des services et de les rendre disponible à l échelle du globe. Comme nous allons le voir plus en détail, Microsoft propose plusieurs formes de Cloud Computing. SaaS : des applications à la demande ; IaaS : des infrastructures à la demande. Les enjeux sont multiples. Augmenter la fiabilité, la sécurité des services ; Déployer à l échelle du globe un site web, une application ou un service ; Payer à l usage et bénéficier de plus de flexibilité. Fiabilité Diffusion Flexibilité Figure - Avantage Nous allons voir quelles sont les fonctionnalités de Windows et quels peuvent être les scénarii d usage. Page 3 sur 14
2 Comment fonctionne? Lorsqu on parle de Windows, on parle de plateforme de Cloud Computing. Lorsqu on parle de Cloud Computing, on parle de Datacenter. Un Datacenter est un centre de données, c est-à-dire une infrastructure très sécurisée, hautement disponible et gérée entièrement par une société qui assure, contractuellement, l accès et la protection des données. 2.1 Mécanisme de base Voici le mécanisme de base de Windows et de tout Datacenter en général. Figure - Mécanisme de base Quand on décide d héberger un service ou une infrastructure dans, on accède à une partie du Datacenter hébergé et géré par Microsoft. Ce Datacenter comprend trois éléments principaux qui régissent le mécanisme de base. Page 4 sur 14
Si l on déploie un site Web par exemple, systématiquement, ce n est pas un serveur qui sera déployé, mais au minimum 3 et bien souvent plus. Les données sont ainsi toujours répliquées, ce qui garantit la haute disponibilité des services. Les fichiers sont stockés dans un système nommé Blob Storage. L intérêt du Blob réside dans le fait que les données sont mutualisées pour la batterie de serveurs qui assurent la haute disponibilité. L architecture ressemble quelques peu à un stockage sur baie SAN. Les données sont donc indépendantes des serveurs. Le second intérêt est que ce Blob Storage peut être contacté par protocole HTTP. Les utilisateurs du globe entier, qu ils soient sur PC, Mac, tablette ou mobile pourront accéder aux données. Pour les utilisateurs, tout est absolument transparent et ils ne se soucient pas de savoir quel serveur ou quel stockage ils contactent. Et ceci est possible grâce au LoadBalancer. C est un répartiteur de charge qui va aiguiller les requêtes vers les serveurs. De plus, il permet de distribuer les données présentes sur le Blob. Notons également la présence d éléments nommés CDN 1. Un CDN est un serveur de cache qui permet de rapprocher les utilisateurs du contenu. Ainsi, une requête qui provient de Paris n atteindra pas le Datacenter qui se trouve aux USA. Un CDN plus proche de l utilisateur, à Paris, traitera la requête et distribuera les données. Le CDN permet d accélérer la vitesse d accès au service et d alléger la charge sur le Datacenter. 2.2 Hébergement dans Dans Windows, il existe trois possibilités pour héberger un service. VM Role : la première option consiste à déployer, installer et configurer une VM de la même manière qu un serveur «On Premise», c est-à-dire de A à Z. Worker Role : l autre possibilité est de faire appel à une VM préconfigurée et préinstallée par Microsoft. Ainsi, l OS, le LoadBalancer et l administration sont garantis par. Web Role : le Web Role est presque identique au Worker Role, à ceci près que le rôle IIS est déjà configuré. Il s agit d un mode dédié au serveur Web. 1 Content Delivery Network Page 5 sur 14
Attention : Le VM Role est peu conseillé car très chronophage. Cependant, lorsqu on utilise un Worker ou Web Role, on n a pas accès pleinement à la machine comme on peut avoir accès à l administration avec un Windows Server. Mais heureusement, il existe des méthodes pour gérer précisément la machine qui héberge le service. Scénario : J'ai un Web Role avec IIS et une application Web déployée. Comment faire pour ajouter d'autres services au serveur? Il existe deux options. Protocole RDP On peut se connecter à la machine depuis son poste avec le protocole RDP. Pour activer RDP dans, il faut un certificat pour authentifier la machine, puis définir un Login et un Mot de passe qui seront chiffrés. Startup Task Attention : Seule une machine est impactée. La configuration ne s applique pas à l ensemble des serveurs. De plus, à chaque redémarrage on perd les modifications apportées. Ceci permet de définir des séquences de tâches au démarrage. Les tâches peuvent être exécutées avec privilèges. Ces actions sont répertoriées dans le LoadBalancer et s appliquent pour toutes les machines. Une Startup Task est définie par deux critères. Quel est le privilège Quel est le mode de fonctionnement Simple : tant que la tâche n'est pas déroulée, on ne démarre pas la machine ; Background : elles ne bloquent pas l'exécution de la machine ; Foreground : tant que la tâche n'est pas déroulée, on refuse le redémarrage de la machine. On peut lancer tout type d'exécutable, notamment CMD et Powershell. Page 6 sur 14
2.3 SQL SQL Server est une pièce importante de toute infrastructure réseau. Dans Windows, il existe deux possibilités pour monter une base de données SQL Server. Déployer une machine en VM Role et administrer complètement les composants Windows Server et SQL Server ; Utiliser le composant SQL. Qu est-ce que SQL? SQL est un service à la demande, qui s appuie sur le produit SQL Server. Cela signifie qu on souscrit à l offre SQL et qu il n est pas nécessaire d administrer ou de gérer l environnement SQL Server. On ne se soucie que des données et de l usage. SQL est donc un service et plus précisément, il est disponible en deux éditions. SQL edition Web SQL business Edition La différence réside dans la taille maximale de la base. Dans SQL, on paye à l usage, c est-à-dire au Go de données hébergées, par pallier de 1Go. L édition Web s étend de 1Go à 50Go, ce qui présente 97% des bases de données en entreprise. Pourquoi utiliser SQL? Il existe plusieurs avantages à utiliser SQL plutôt qu une machine SQL Server. Comme tous services ( AD, Office 365, machine Worker Role) SQL profite de l infrastructure native, qui est hautement disponible (redondance machine, Blob Storage, LoadBalancer). Le paiement à l usage permet plus de souplesse et donne la possibilité d adapter la taille de sa base et donc le prix en fonction des pics d activité. Les coûts sont donc lissés sur une année. Comme nous le verrons ci-après, les données sont accessibles par requête PHP, à travers le globe et par de nombreux types de Device. Page 7 sur 14
Quelles sont les limites de SQL? Scénario : Je souhaite monter une infrastructure SharePoint. Puis-je recourir à SQL? Non. C est là les limites de SQL. Il est avant tout destiné aux usages classiques des bases de données, principalement pour des serveurs Web ou des applications Web. Les grandes structures comme SharePoint, très consommatrices de ressources, ont besoin d une base SQL robuste. Pour héberger SharePoint dans, il faudra monter une machine en VM Role avec Windows Server et SQL Server, pleinement administrer. On perd donc les avantages de la redondance et du Blob Storage. Autres limites = Même noyau Même langage, même outils. SQL Server: produit qu'on installe SQL : service à la demande On peut donc facilement migrer une application "On-Premise" vers. Limite de fonctionnalité : Pas d'accès au log Tableau - Similitude et Différences SQL Server et SQL Architecture de SQL Les serveurs qui hébergent les applications et services sont connectés à l entité SQL, qui profite elle aussi de redondance. Il existe deux solutions pour contacter les données dans SQL. Les données dans SQL sont accessibles en HTTP grâce au protocole OData. N importe quel Device peut donc venir récupérer les données ; Les requêtes peuvent être envoyées depuis l extérieur du Datacenter en passant à travers un Pare-feu géré par, mais qui peut être paramétré. Page 8 sur 14
Figure - Architecture SQL 2.4 Storage Storage est la solution développée pour assurer le stockage dans Windows. C est un système un peu particulier qui mérite d être expliqué. Le stockage dans est appelé Blob. Un Blob est un ensemble de fichiers partagés entre plusieurs entités (exemple serveurs Web), un peu à la manière d'un partage NFS. Les fichiers dans les Blob sont déposés en HTTP et récupérés en HTTP, ce qui permet de consulter les données depuis n importe quel Device. De plus, les Blob disposent d'un mécanisme de redondance pour garantir la haute disponibilité des données. La zone de fichiers (Blob) est accessible via une URL et une clé d'api, qui permettent d'écrire et d'administrer les fichiers dans le Blob. En.NET, il existe des classes de manipulation de fichiers nommées Blob container. Page 9 sur 14
Figure - Storage 3 Que faire avec? Comme nous allons le voir à présent, on peut imaginer plusieurs scénarii d utilisation de Windows. 3.1 pour héberger son site Internet Déployer un site Web dans peut s avérer être très avantageux. Votre site est très rapidement disponible en ligne ; Votre site est tout de suite accessible et proche des visiteurs du globe entier ; Votre site est sécurisé et hautement disponible. Page 10 sur 14
PHP et Il existe deux façons de déployer du PHP dans Installer le Runtime sur l'application PHP et déclarer dans IIS l'application au moyen de Startup Task ; Utiliser WebPI (Web Plateforme Installer) et une des distributions de PHP disponible et maintenue à jour sur Web.php.net. Traditionnellement, quand on monte un site web, celui-ci est composé d un code qui est chargé sur une page Web et de fichiers qui peuvent être déposés sur le serveur. Question : Comment faire pour que le code PHP puisse tirer parti du Blob et de SQL? Concernant SQL, il existe des drivers qui permettent d accéder et de se connecter aux bases de données (exemple PDO). Stream Wrapper est une méthode qui offre un point de transmission unique entre les Blob et les Serveurs. Ce Stream Wrapper permet de simuler un File System. Les Blob sont donc parfaitement transparents pour le code PHP. DNS et Multi-sites La première fois que l on charge un site Web dans, on obtient une URL de type cloudapp.net Heureusement, il est possible de créer des allias qui permettront de personnaliser l URL du site Internet. L un des intérêts d est que le nombre d Allias est illimité. De plus, IIS est capable de gérer le multi-site, c est-à-dire qu une instance de IIS peut comprendre plusieurs sites. Question : Comment IIS fait-il pour traiter différemment des requêtes qui proviennent d allias différents? Page 11 sur 14
Trois solutions. Mapper 1 port par site ; Distinguer par adresse IP Le LoadBalancer masque l'ip réelle ; La technologie Host Header Name qui permet à IIS de distinguer les requêtes en fonction des Allias. On comprend alors tout l intérêt de IIS, du multi-site et des Allias illimité. Grâce à, vous pouvez créer au sein d une instance IIS, autant de site Internet et gérer différemment plusieurs clients. 3.2 pour publier des applications Mobile ou Sociale Une autre utilisation de Windows consiste à créer des applications pour plateforme Mobile ou réseaux sociaux. Le Cloud public peut s avérer être une bonne opportunité pour diffuser son application auprès d un large public. Scénario : Je souhaite publier un service pour les utilisateurs de mon application Windows Phone Scénario : Je souhaite concevoir une application pour le réseau social Twitter Ces scénarii sont possibles grâce à. Au regard des protocoles ouverts et des Clés API qui constituent l architecture, toutes ces formes d usages sont très faciles. 3.3 comme IaaS Windows est un formidable moyen de créer une infrastructure dans le Cloud (Infrastructure as a Service). Comme nous l avons vu, il existe plusieurs solutions d exploiter les possibilités d. On peut envisager de créer une infrastructure à l aide des offres entièrement managées par Microsoft, telles SQL, AD ou Office 365. Page 12 sur 14
Mais il est possible aussi de déployer son infrastructure de serveurs à l aide de VM que l on administre soit même. Scénario : J ai une entreprise multi-sites avec des collaborateurs mobiles. Je consomme le service Office 365 pour offrir Mail et Office à mes utilisateurs où qu ils se trouvent. Scénario : Je veux pouvoir gérer complètement mon infrastructure, mais que les ressources puissent être adaptées de manière flexible et pouvoir lisser les coûts. Je déploie une infrastructure à l aide de VM Role ou Worker Role. 3.4 et le Cloud Hybride Les derniers produits Microsoft, à savoir Windows Server 2012, SQL Server 2012, HyperV 2012, SCCM 2012, introduisent la notion de Cloud Hybride. Le Cloud hybride consiste à tirer parti des avantages du Cloud «On Premise» gérés et hébergés dans les locaux de l entreprise et du Cloud public comme Windows. Windows Server 2012 permet de facilement basculer du Cloud privé au Cloud public et permet la création de nouveaux scénarii. Scénario : Grâce à SQL Data Sync, on peut envisager d avoir une plateforme SQL Server 2012 «On Premise» et de sauvegarder la base dans. Scénario : On peut également envisager de synchroniser tout ou partie des données SQL locales pour les publier dans. Les données ainsi publiées pourraient alimenter des applications hébergées dans (PHP, mobile, etc.). Un usage serait par exemple de communiquer certaines données à des partenaires. Nous voyons que les possibilités de Windows sont grandes et les scénarii imaginables très nombreux. Page 13 sur 14
4 Sources http://www.windowsazure.com/en-us/ http://www.youtube.com/watch?v=divvh3shvg8 http://www.youtube.com/watch?v=divvh3shvg8 http://www.windowsazure.com/en-us/manage/services/networking/active-directoryforest/#step5 Page 14 sur 14