Christophe Villeneuve
                                           Lead Technique PHP
                                                        Neuros
                             hellosct1

                                                Pierre Couzy
                                          Open Source Factory
                                                    Microsoft
                                                    @piercou

         PHP dans le Cloud
Techdays 2013 – 13 Février 2013
Souscrivez à l’offre d’essai ou activez
     votre accès Azure MSDN

 Présentez-vous sur le stand Azure
      (zone Services & Tools)

    Participez au tirage au sort
   à 18h30 le 12 ou le 13 février
Christophe Villeneuve   Pierre Couzy
N° 160

Février 2013
Pourquoi aller dans le cloud ?
                                       Connaissez-vous
                                         la réponse ?




 PHP       CMS     Framework     CRM             ERP
Quel cloud pour votre appli ?

                    SaaS         •Logiciels applicatifs
               (utilisateurs)

                   PaaS          •Infrastructure logicielle
              (Développeurs)
                                 •Systèmes d’exploitation
                  IaaS           •Virtualisation
             (Administrateurs)   •Serveurs physiques
                                 •Réseaux
                                 •Data center
SAAS
• Des offres commerciales dédiées
  – Wordpress.com
  – Drupalgardens.com
  – CloudAccess.net


• Des PaaS adaptés pour les CMS
  – phpCloud
  – Azure Web Sites
DÉPLOIEMENT
DÉPLOIEMENT   PHP Cloud is targeted at development purposes only. The idea is
              to develop on dev cloud (or free edition of Zend Server) and then
              move to either one of our cloud partners (Amazon Web Services,
              IBM, Red Hat, RightScale, NBS) for an app once it is in production
              (or to Zend Server on premise). Now : 250 000 registered users
DEMO
DEMO
DEMO
RESULTAT




DEMO
PAAS
Les grandes fonctions attendues



                 Déployer !
UN PAAS PHP
UN PAAS PHP
6 étapes




DEMO
DEMO
DEMO
Le mode de tarification des clouds
• À base de PaaS
  – En général un paiement au site
• À base de IaaS
  – Paiement par machine virtuelle


• Comment choisir ?
IAAS
Le principe de IaaS
• Exactement comme une machine physique
• … mais distante (ou très distante)
• Quelques problèmes à régler
  – Comment créer sa machine ?
  – Comment gérer le réseau ?
  – Comment déployer ?
Création VM
• Soit créer sa VM en local
  – L’envoyer sur le cloud
• Soit créer la VM en remote
  – Install manuelle
  – Install automatisée depuis une image vierge
  – Création d’une image spécialisée
• Quel OS choisir ?
Considérations réseau
• Accès en SSH only par défaut
• Configuration des ports sur le load balancer
  – Demande une config du LB cloud
• Utiliser le load balancer
  – Montée en charge
  – Haute disponibilité
  – Load balancer cloud ou HAProxy/ARR
• Capture d’écran pour montrer un LB Cloud
  – (avoir un endpoint direct et un Load balancé)
MTPuTTY

PUBLICITÉ !
Que devons-nous déployer ?
• Juste l’application ?
  – Déploiement FTPs ou contrôleur de source
  – Cf. discussion sur le PaaS


• Tous les composants
  – Langages, bases de données, tâches, etc.
  – Historiquement avec Puppet et Chef
L’alternative
•Gestion de configuration   •Mode serveur ou client
        •Puppet             •Déploiement en multi-noeuds
        •Chef               •Module en jSON
        •cfengine           •SSH
                            •Configuration simplifiée
•Déploiement                •Modules Git et SVN
        •Capistrano         •Pas d'obligation d'être en
        •Fabric             ROOT
                            •Exécution en commande
•Extension Ad-hoc           parallèle
        •Func
        •pssh
La gestion de production
• Au niveau infrastucture
  – Toutes les pratiques habituelles
  – Attention aux spécificités cloud !
• Au niveau applicatif
  – Toutes les pratiques habituelles
  – Mais aussi …
• Le monitoring
  – Logs etc.
  – Mais aussi des services dédiés
La base de données
IaaS         PaaS         SaaS

              une simple
  à vous                   où ça une
               chaine de
d’installer                 base ?
              connexion.
bonnes pratiques

GESTION DES PARAMÈTRES
bonnes pratiques

GESTION DES PARAMÈTRES
DEMO
© Origami – El Roubio



Exploiter les fonctionnalités cloud
A travers des Librairies PHP pour le cloud
•Fonctions offertes par les fournisseurs   •Amazon Web Services :
de cloud                                      - SDK PHP
    •Blob Storage et NoSql spécialisés         http://aws.amazon.com/sdkforphp/
    •CDN
    •Media                                 •Windows Azure :
                                              - PHPAzure :
                                               http://phpazure.codeplex.com/

• Add-ons cloud
                                           •Rackspace :
    • ReCaptcha,
                                               - php-cloudfiles,
    • Disqus / Qora,                           http://bit.ly/ptJa1YCMS
    • Maps,
    • Translate
    •…
Merci !

                    Questions / Réponses



PHP dans le Cloud

Php dans le cloud

  • 1.
    Christophe Villeneuve Lead Technique PHP Neuros hellosct1 Pierre Couzy Open Source Factory Microsoft @piercou PHP dans le Cloud Techdays 2013 – 13 Février 2013
  • 2.
    Souscrivez à l’offred’essai ou activez votre accès Azure MSDN Présentez-vous sur le stand Azure (zone Services & Tools) Participez au tirage au sort à 18h30 le 12 ou le 13 février
  • 3.
  • 4.
  • 5.
    Pourquoi aller dansle cloud ? Connaissez-vous la réponse ? PHP CMS Framework CRM ERP
  • 6.
    Quel cloud pourvotre appli ? SaaS •Logiciels applicatifs (utilisateurs) PaaS •Infrastructure logicielle (Développeurs) •Systèmes d’exploitation IaaS •Virtualisation (Administrateurs) •Serveurs physiques •Réseaux •Data center
  • 7.
  • 8.
    • Des offrescommerciales dédiées – Wordpress.com – Drupalgardens.com – CloudAccess.net • Des PaaS adaptés pour les CMS – phpCloud – Azure Web Sites
  • 9.
  • 10.
    DÉPLOIEMENT PHP Cloud is targeted at development purposes only. The idea is to develop on dev cloud (or free edition of Zend Server) and then move to either one of our cloud partners (Amazon Web Services, IBM, Red Hat, RightScale, NBS) for an app once it is in production (or to Zend Server on premise). Now : 250 000 registered users
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    Les grandes fonctionsattendues Déployer !
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    Le mode detarification des clouds • À base de PaaS – En général un paiement au site • À base de IaaS – Paiement par machine virtuelle • Comment choisir ?
  • 23.
  • 24.
    Le principe deIaaS • Exactement comme une machine physique • … mais distante (ou très distante) • Quelques problèmes à régler – Comment créer sa machine ? – Comment gérer le réseau ? – Comment déployer ?
  • 25.
    Création VM • Soitcréer sa VM en local – L’envoyer sur le cloud • Soit créer la VM en remote – Install manuelle – Install automatisée depuis une image vierge – Création d’une image spécialisée • Quel OS choisir ?
  • 26.
    Considérations réseau • Accèsen SSH only par défaut • Configuration des ports sur le load balancer – Demande une config du LB cloud • Utiliser le load balancer – Montée en charge – Haute disponibilité – Load balancer cloud ou HAProxy/ARR
  • 27.
    • Capture d’écranpour montrer un LB Cloud – (avoir un endpoint direct et un Load balancé)
  • 28.
  • 29.
    Que devons-nous déployer? • Juste l’application ? – Déploiement FTPs ou contrôleur de source – Cf. discussion sur le PaaS • Tous les composants – Langages, bases de données, tâches, etc. – Historiquement avec Puppet et Chef
  • 30.
    L’alternative •Gestion de configuration •Mode serveur ou client •Puppet •Déploiement en multi-noeuds •Chef •Module en jSON •cfengine •SSH •Configuration simplifiée •Déploiement •Modules Git et SVN •Capistrano •Pas d'obligation d'être en •Fabric ROOT •Exécution en commande •Extension Ad-hoc parallèle •Func •pssh
  • 32.
    La gestion deproduction • Au niveau infrastucture – Toutes les pratiques habituelles – Attention aux spécificités cloud ! • Au niveau applicatif – Toutes les pratiques habituelles – Mais aussi … • Le monitoring – Logs etc. – Mais aussi des services dédiés
  • 33.
    La base dedonnées
  • 34.
    IaaS PaaS SaaS une simple à vous où ça une chaine de d’installer base ? connexion.
  • 35.
  • 36.
  • 37.
  • 38.
    © Origami –El Roubio Exploiter les fonctionnalités cloud
  • 39.
    A travers desLibrairies PHP pour le cloud •Fonctions offertes par les fournisseurs •Amazon Web Services : de cloud - SDK PHP •Blob Storage et NoSql spécialisés http://aws.amazon.com/sdkforphp/ •CDN •Media •Windows Azure : - PHPAzure : http://phpazure.codeplex.com/ • Add-ons cloud •Rackspace : • ReCaptcha, - php-cloudfiles, • Disqus / Qora, http://bit.ly/ptJa1YCMS • Maps, • Translate •…
  • 40.
    Merci ! Questions / Réponses PHP dans le Cloud