joomla days 2011 lyon
TRANSCRIPT
Joomla, Windows, et Cloud
Pierre Couzy - Microsofthttp://blog.couzy.com/
Questions bienvenues, interrompez-moi, dites-moi d’aller plus vite, etc
• Microsoft et l'Open Source ?• PHP sous Windows • Runtime et extensions• Développements spécifiques Joomla
• Azure, l’approche Microsoft du Cloud• Les principales briques d’Azure• L’intégration avec Joomla
Agenda
• 2004 : Open Source Technology Center• 2007 : Premières distros PHP industralisées• 2008 : Collaborations avec l’AFUP, WebPI• 2009 : DrupalCon Paris, Wincache, Linux• 2010 : PDO pour Sql Server, WebMatrix• 2011 : Symfony, Drupal, Wordpress, Joomla
Microsoft et l’Open Source
Plate-forme Web Windows pour PHP
• Application: PHP• Base : SQL Server et/ou MySql• Serveur Web: Internet Information Services (IIS) 7.0 / 7.5• OS: Windows Server® 2008 / 2008 R2
Industrialiser une distro PHP
• Certains binaires avaient 12 ans d’âge..
Des librairies hétérogènes
• Certaines librariries n’existaient qu’en format binaire, d’origine ou de licence inconnue.
Code source indisponible
• Les librairies n’avaient pas suivi les pratiques de sécurité depuis 10 ans pour certaines
Pas de mises à jour de sécurité
• Désynchronisation de la version Windows (pas de mises à jour des fonctionnalités)
Pas de parité fonctionnelle
PHP 5.2 PHP 5.3• Le processus de build est exhaustif et
automatisé.
Recompilation de chaque binaire
• Gestion de sécurité et de fonctionnalités à parité stricte avec les autres plateformes, puisqu’on s’appuie sur une souche commune de source
Gestion des dépendances
• On peut désormais exploiter des outils modernes d’optimisation de façon transversale puisque tout le source est synchronisé.
Retour au source
Passage à Visual C++ 9
• Visual C++ 6.0 a 10 ans et ne sait pas produire de code adapté au matériel et systèmes d’exploitation actuels.
Builds VC 6
• PHP sur Windows devenait un projet obsolète, de moins en moins de gens utilisant VC6
Un Compilo obsolète
• Limitation de VC6
Pas de 64 bit
• Un assemblage disparate et peu robuste
Sécurité ?
PHP 5.2 PHP 5.3• VC9 permet de compiler pour les
OS et architectures actuelles
Builds VC 9
• Optimisations classiques du compilateur mais aussi des techniques nouvelles (PGO)
Un compilo à jour
• Production parallèle de binaires 32 et 64 bits pour PHP – pas encore pour tous les modules (55%)
Support 64 bit
• Les runtimes sont à jour et unifiés, les outils d’audit sont utilisés.
Sécurité
De CGI à FastCGICG
I Un process par requête
Avantage• Très stable
Inconvénient• *Très* lent sous
Windows (coût énorme de création d’un process)
ISAP
I Chargement de PHP dans un surrogate ou dans le process IIS
Avantage• Très performant
Inconvénients• Stabilité• Réentrance
Fast
CGI Gestion d’un pool
de process
Avantages• Plus rapide que CGI• Plus stable qu’ISAPI• Permet de
fonctionner sans réentrance
Wincache
Un peu de perf ?
PHP Manager
http://phpmanager.codeplex.com/
PHP et Sql Server
http://sqlsrvphp.codeplex.com
Web Plaform Installerhttp://www.microsoft.com/web
• Un outil permettant d’installer et de personnaliser :• Un serveur Web IIS• Des Frameworks et des runtimes (.NET / PHP)• Des bases de données (SQL Server, MySQL)• Des outils (Visual Web Developer, Silverlight, etc)
• Et des applications Web (disponibles sur le Windows Web App Gallery):
• Blogs (phpBB, WordPress, DasBlog, …)• Wikis, Galleries et des outils• CMS (DotNetNuke, Drupal, SilverStripe, ...)
• www.microsoft.com/web/joomla • Joomla 1.6 supporte Wincache en standard• Joomla-multidb : support de Sql Server
Et Joomla ?
Le cloud chez Microsoft : Azure
Le Cloud ? Des machines,
.. Installées dans des datacenters,
• Un hyperviseur, sur lequel on déploie une VM hôte,qui administre N machines virtuelles
Une ou deux couches d’OS
CPU: x64OS : Windows 2008Web Server : IIS 7Apps : .Net, PHP, C++, etc.
Une plateforme multi-technos
Azure™ Services Platform
Pourquoi ?
Data Center
Windows Azure
LB
CDN
Web Site(ASPX, ASMX, WCF)Web Site
(ASPX, ASMX, WCF)Site WebWorker ServiceAutres
serveurs
LB
Azure StorageTables Blobs
Queue
Navigateur
Capacités intéressantes d’Azure
Sql Azure
Cloud Cloud
Gestion de charge
Charge
Jan Apr Jul Oct
Pic de charge
Web Tier
B/L Tier
Database
B/L Tier
B/L Tier
B/L Tier
Database
p1 p2 p3
Web Tier
Web Tier
Web Tier
• Le site va vivre sur N machines• Le code reste sur les machines• Les données vont en base• Les images vont sur des serveurs dédiés
• Le code : Joomla-multidb• Les données relationnelles : Sql Azure• Les images : Windows Azure Storage
Comment adapter un site à Azure ?
• http://windowsazurepass.com/ code promo : JOOMLA
Comment tester Azure ?
Merci.
Questions ?
http://web.ms/joomla• Contient WebMatrix• Contient Joomla 1.6• À partir de Windows XP (sp3, je crois)
• Pour tester la mise en production :http://maplateformeweb.com
(Serveur dédié Windows gratuit jusqu’à fin mai)
• La doc en français (pour Webmatrix et la mise en prod)http://msdn.microsoft.com/fr-fr/web-webmatrix.aspx
Découvrir Joomla sous Windows