Plateforme ApplicativeZend PHP Cloud<br />Kevin Schroeder<br />Évangéliste<br />Présenté par Maurice Kherlakian<br />Consu...
À propos de Kevin<br /> Passé : Programmation/Admin. réseau<br /> Actuellement : Évangéliste/Auteur/Compositeur<br />     ...
À propos de moi<br />Passé : Programmation/Administrateur réseau/Consultant solutions web<br />Présent : Consultant Servic...
Est-ce que ceci est un nouveau produit ?<br />Non !<br />C’est une nouvelle façon de penser.<br />Une solution intégrée co...
Pourquoiutiliser la plateforme Applicative Zend PHP Cloud<br />Gestionuniformisée<br />Intégration avec des outils tierce ...
Composantes de la plateformeZend Cloud<br />Services PlateformeCloud<br />Service cross-cloud<br />Services cloud natifs<b...
Composants Zend PHP Cloud Platform<br />SERVICES<br />CLOUD<br />COUCHE SERVICES CLOUD<br />Services Cloud<br />SimpleClou...
Tâches définies<br />Couplage léger des données<br />Découverte de ressources<br />Vous devrez changer votre façon de réfl...
<ul><li>La performance n’est pas primordiale
Construisez votre application sans valeurs codées en dur</li></ul>Découplage/Partition<br />Utilisez des Files/Messages<br...
L’exemple<br />
Fonctionnalités Cloud du Zend Framework<br />Accès aux BD orientées documents<br />Accèsà un service de file<br />Accès au...
Si vousutilisezvotre EDI uniquement pour sesfonctionsd’assistance au codage…<br />Un EDI est un amalgame de petites foncti...
Fonctionnalités Cloud de Zend Studio<br />Intégration de la gestion de Cloud<br />Intégration manipulation de données Clou...
Plus de fonctionnalitésàvenir<br />
Fonctionnalité Cloud de Zend Server<br />Gestion avec Zend Server Cluster Manager<br />Surveillance des événements de plus...
L’exemple<br />Évolutivité<br />Fonctionnalité SimpleCloud<br />File<br />Documents<br />Stockage<br />Surveillance centra...
Du code !<br />
À noter<br />Les détails de l’implémentation peuvent être mis en valeurs de config<br />Mettez le moins possible de valeur...
La suite…<br />Essayez Zend Studio avec les outils Cloud<br />Essayez SimpleCloud avec une plateforme Cloud<br />Les prix ...
Upcoming SlideShare
Loading in...5
×

Développez, gérez et scalez vos applications PHP dans le Cloud

979

Published on

Au-delà de l'effet de mode, le Cloud Computing représente une réelle opportunité pour faire les choses mieux et moins chères. Néanmoins, si vous êtes l'un de ceux qui souhaitez tester ou déployer vos applications PHP dans le Cloud, Il existe un certain nombre de problèmes que vous pourriez avoir à résoudre.

Regardez cette présentation de la nouvelle Zend PHP Cloud Application Platform faite en VF par Maurice Kherlakian, Consultant Zend Technologies, qui vous aidera à développer, gérer et scaler vos applications PHP critiques dans le cloud.

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Ces slides correspondent au webinar : Développez, gérez et scalez vos applications PHP dans le Cloud. Pour voir le webinar complet : http://bit.ly/gJHCvs (inscription nécessaire)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
979
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • Est-cequececiest un nouveau produitqueZendoffre?Non. C’estune nouvelle façon de penser, une nouvelle façon de developper des soutionsintegrées avec des services dans le Cloud.Cloud relativement nouveau. Existedepuis 10 ans. Populairedepuis 3 ans. Beaucoup de battagemédiatiqueautour du cloud, et dansnotreindustrie avec toute nouvelle techno:Excitation -&gt; désillusion (où on commence àvoirmythes v/s réalité) -&gt; utilité (remontée)Cloud dans la phase remontéeactuellement -&gt; phase productivité/utilité.Pas un environnementtypiqueauquelvousêtes habitués. D’habitude on achète les serveurs, on achète des licenses logicielles, serveursdans un centre (le vôtreou non), uneéquipe se charge de la gestion de la baie de serveurs, toute la maintenance attrayant aux serveurs/renouvellement.Le Cloud offre un environnementdanslequel la maintenance n’est pas nécessaire. Si qqchosecasse on jette et on recommence. On demarre un autreserveur. Tout estvirtualisé. On peutdonc tester une multitude de chose en dev.Doncest-cequeZendoffre un nouvelle plateforme? Non. Une nouvelle offre de service? Non.Une integration de tout cela par le biais de ZendServeur/Studio et Framework. Utilisez-vous Amazon? Azure? Zendoffreune solution qui peutfaciliter le developpementsurtou(te)s cesplateformes/revendeurs. De plus la plupart de cesrevendeurs (tous) offrent des APIs (services) quevouspouvezutiliser pour construirevos applications, pour acceder aux données, les stocker… Nouvelle façon de reflechir car nouvelle technologie. &gt; Zendvoudraitfacilitercette transition et offrir des outilspermettant aux developpeurs de se familiariser plus rapidement avec le could. (eg: au lieu de web service, unecouched’abstractionpermettant de communiquer avec les services).
  • Pourquoiutiliser le cloud?Gestionunifiéestandardisée -&gt; unefois la plateforme applicative compléteelleoffriraunegestionunifiée. Uneseule place àpartir de laquelletoutevotreappli sera configurée.Outils tierce partie – dansZend Studio et serveur. Bcp de partenariats en place pour integrer PHP dans le cloud et en faire une solution qui offreunevaleurajoutéeCross cloud: accès aux données: tjs un problème, car on esttjsliés au systèmeauquell’on “parle” pour acceder aux données. On se retrouvesouvent en train de construire des couches d’abstraction. Zend PHP CP aide àl’accès aux ressources entre differentsrevendeurs en développant la couched’abstraction pour vous.Monitoring: Server. Très important car dans un environnementtraditionnel on regarde au niveau du serveur, et non a l’intérieur de l’appli PHP. Encore plus important dans le cloud car cen’est pas vous qui controlez les ressources. Doncilest important d’avoir le plsu de visibilite possible dansvotreappli.Configurations consistentes: Votreenvironnement: un gabarit. Cloud different, car vousdevezêtre en mesured’éteindre des serveurs, d’enrallumer, et les configurations devrontresterpareilles. Un autre champ danslequelZendapporte de la valeur.
  • This is what our cloud platform looks likeEverything you need in order to take full advantage of cloud computing:Seamless path from development to productionAuto-scalingHigh Availability and fault toleranceCloud application services aware developmentPlatform-aware application monitoring Application portability across private and public cloudsSupport for self-managed infrastructuresStandardization for application and systems architecture-----------------------Bcp de composantesque nous avons déjà.Cluster manager, PHP runtime etc…Beaucoups de cesélémentssont en développement, maisgénéralementl’idéeest de sortir la gestiond’applications du domaine des admins réseauest de la faire entrer plus danscelui des développeurs.Zendcon: autoscaling de soluitons avec Rightscale(en parler). Nous observonsl’utilisations de serveurs pour en démarrer de nouveuxsibesoin. Donc, encore, solutions ne se limitant pas à PHP, maisaussi a une solution externe. Nous mettonsl’emphasebienevvidemmentsur PHP, et comment offrirune solution PHP (nous sommes la PHP company). Pour tout ce qui a trait aux services tel Amazon, Righscale, Azure etc. nous travaillons avec des partenaires.Beaucoup de cmoposantesdeveloppés, maisbcp de travail àvenir.
  • Let’s drill down and see what technologies comprise the Zend cloud platformZend FrameworkCloud services support for ‘native’ cloud appsSimple Cloud for portable cloud appsZend Server and Zend Server Cluster ManagerEnterprise-grade stack, includes Zend FrameworkApp Management capabilities required to scale up/down and manage PHP apps in the cloudZend StudioIntegration with virtualization/cloud technologies for streamlining the development cycleIntegration with Zend Server for ease of setup and troubleshootingPartnering with cloud infrastructure and management vendors to provide a full solution---------Services Could: nous ne les offrons pas, mais nous y offronsaccès.
  • Dev PHP habitué àreflechir en terme de requete/reponse -&gt; problèmes de scaling(évolutivité)/découverte de ressources.Cloud – reflechir en termes de petites tàches qui doiventêtreexecutées. On peutenchainer des taches. Executer unetâchepresque partout.Couplage de donnéeslégerÉvolutivité en géneral: couplageserré (relations fortes entre données) nuitàl’évolutivité -&gt; s’habitueràeffectuer des requtes pour données qui n’existent pas encore: ex: l’exemple don’t nous allonsparler. Evenementsn’apparaitront pas dansl’ordre.Découverte de ressourcesOn peut hard coder certaines choses maisdansl’absoluil on découvre des ressources en utilisant des mecanismestels les load balancers etc… exemplequel’onmontrera: pourrait, par le biaisd’une file (queue), avoir le traitementasynchrone de données qui se fait surune multitude de serveurs en backend avec lesquels nous comuniquons par le biais d’un répartiteur de charge(load balancer). Il faudraàce moment savoir quelserveur aura traité la demande…
  • Perf: perf v/s évolutivité/redimensionnement: on parlegénéralement des deuxcommeallant main dans la main, maiscen’est pas toujoursnécessairementvrai. Performance = répondre de façonrapideàunerequête, évolutivité = répondre de façonrapide, independamment du nombre de connections que le systèmereçoit. (pas de dégradation). Évolutivité = problemestelaccès concurrent, tolérance aux pannes, etc…overhead de gestion de tout cela. Simplementprendre un appli et en faire uneappli cloud ne fonctionnera pas. Si traffic predictible pas besoin de cloud. Mais traffic ouil y a des pics non-mesurables, c’est la que le cloud devientinteressant. Il fautdoncque le systèmesoitévolutif.Pas de valeurscodées en dur: Zend Server peuts’enocuperà un certain point,aussidecouvrez les ressources.Découplage/partition: découplage de donnéesrelationnellesparcequedemande plus de gestion. Est-cequevosdonnéesdoivnetetrerelationnellesouest-cequevouspouvezutiliser des données non-relationellesà un certain degré?Files/messags. PHP dev habitués à BD. BD n’est pas un système de stockagetemporaire. Si probleme de BD, ajout de serveur, maisà part les problèmes de perfquecelaapporte, pourrait se retrouverdansune situation où les serveurs ne font rien. Files permettent de mettre des donnéesdans un endroittemporaire en attendant que les ressourcesdeviennentdisponibles.Faites usage de polling, car uneconnexion inactive consomme plus de ressourcesqued’etabliruneconnexion, verifier et fermer. Personnes se spécialisantutilisent polling cela ne donne pas la rapiditéquevousconnaissezmais tend a construireuneplateforme plus évolutive.
  • Parlons des composantedque nous avonsutilisé:Simple cloud. Faispartir de ZF a partir de 1.11.
  • StockageSupport Amazon/Azure/NirvanixQueueJobQueue/SQS/AzureDocument DB:SimpleDB/AzureBcp trop d’info pour cettepreso, pouvezvoirces services…
  • Un dediteur de textpeutvous aider àvoiroùvosfichierssont. - Un EDI fait bcp plus quel’assistance au codage. Petites fonctions qui contribuentàvous (le dev) garderdanscetenvironnement pour toutesvosopérationssurvotrelogiciel.
  • Integ. Gestion cloud: plugin AWS pour eclipsePlateforme test – phpUnitBug tracking/ticketing: SVN, Mylyn/JIRAIntégrationoutilsdéboggage/profil: Zend Debugger/profiler (Zend Server)Zend server/custer manager donnent info surce qui se passeàl’intérieur de notreappli.(Montrer module AWS dansZend Studio – gestion AMI, gestionSimpleDB)
  • Demo Zend Server Cluster manager – montrer events, code tracing etc…Parler de session clsutering: importance quandserveursactivés/desactivésZend Server: ne veut pas utiliserparceque je ne veux pas payer. Tarfication cloud = basésurutilisationcomme Amazon
  • Tachesasynchrones – éviter les requêteslongues (çatuel’évolutivité d’un système).
  • Arrive surindex.php – formulaire (voirzend.com/framework)Structure des librairies (convention Java, reverse DNS)-&gt; file upload -&gt; extension zend Form -&gt; montrerformulaireSoumissionformulaire -&gt; file upload -&gt; validation.Tâche: manager -&gt; parle a des machines JQtachequel’on execute surcette machineTache (montertache) extension jobAbstract (ProcessImage)Tachepeutetreenvoyé a machine locale, a un autreserveur etc… utiliseuniquement HTTP. Peutmettrerepartiteur de charge àl’avant.OnchercheQueueAdapter/DocumentAdapter -&gt; montrerconfig -&gt; avoir le plus de configurabilitédans des fichiers de config. Passer d’Amazonà Azure sans changement de CODE.Tacheenvoie message a File. Ligne 21: retourneurl pour envoyer message à client -&gt; execution sur un autreserveur. Manager serialize et envoie au backend.Queueprésente backend car classeserializée.Début: message processing demarré, fin processing completé -&gt; changementicone.Stockage: filename à stocker dans S3 -&gt; Stockagedans S3, SimpleDB. On retire la listedanssimpleDB avec le session id.Ligne 112: docClass name = retire le doc class name car different pour different adapteurs, maisutilisent la même interface.Utilisation S3 -&gt; stockage temp et final des images.Index.php – ligne 23: stockage de la réponse, car la réponse nous ditquelserveurtraite la tâche. Important car nous pouvonsenvoyerversserveurutilisantrepartiteur, mais pas allerchercherstatut par répartiteur. Réponsedonne le serveur pour allerchercherstatut.Status.php -&gt; check pour voirs’il y aun message dispo.Status.json.php -&gt; receive all messages, send as jsonList.phpRetire les fichiers par le session nameFile.php:Lire l’image par amazon S3 et la montrer.
  • Développez, gérez et scalez vos applications PHP dans le Cloud

    1. 1. Plateforme ApplicativeZend PHP Cloud<br />Kevin Schroeder<br />Évangéliste<br />Présenté par Maurice Kherlakian<br />Consultant services professionnels<br />Voir la vidéo correspondante : http://bit.ly/gJHCvs<br />
    2. 2. À propos de Kevin<br /> Passé : Programmation/Admin. réseau<br /> Actuellement : Évangéliste/Auteur/Compositeur<br /> @kpschrade<br />
    3. 3. À propos de moi<br />Passé : Programmation/Administrateur réseau/Consultant solutions web<br />Présent : Consultant Services professionnels<br />http://twitter.com/mkherlakian<br />
    4. 4. Est-ce que ceci est un nouveau produit ?<br />Non !<br />C’est une nouvelle façon de penser.<br />Une solution intégrée comprenant :<br />
    5. 5. Pourquoiutiliser la plateforme Applicative Zend PHP Cloud<br />Gestionuniformisée<br />Intégration avec des outils tierce partie<br />Accès aux données cross-cloud<br />Surveillance des applications PHP<br />Configuration consistantesur les machines de Cloud<br />
    6. 6. Composantes de la plateformeZend Cloud<br />Services PlateformeCloud<br />Service cross-cloud<br />Services cloud natifs<br />Surveillance app/plateforme<br />Gestion de Cluster<br />PHP<br />Runtime<br />Déploiement App<br />Gestionconfig<br />IntégrationEDI<br />Gestion Cloud<br />Infrastructure Cloud<br />
    7. 7. Composants Zend PHP Cloud Platform<br />SERVICES<br />CLOUD<br />COUCHE SERVICES CLOUD<br />Services Cloud<br />SimpleCloud<br />Services Web<br />COUCHES SERVICES FRAMEWORK<br />Stockage<br />Sécurité<br />Auth<br />RIA<br />Virtualization<br />Desktop<br />Message<br />Queue<br />Accès Données<br />MVC<br />Mobile<br />COUCHE SERVICES RUNTIME<br />Intégration<br />Serveurs<br />Cloud<br />Magasin<br />Donnés<br />Session<br />Clustering<br />Surveillance<br />Application<br />Gestion<br />Cluster<br />PHP<br />Entreprise<br />Deploiement<br />Applications<br />Gestion<br />Configuration<br />RDBMS<br />Outils<br />Services<br />Cloud<br />SYSTÈME D’EXPLOITATION<br />GESTION<br />CLOUD<br />Surveillance<br />Approvisionnement<br />Auto-scaling<br />Allocation Ressources<br />Mesures<br />Sécurité<br />INFRASTRUCTURE<br />CLOUD<br />
    8. 8. Tâches définies<br />Couplage léger des données<br />Découverte de ressources<br />Vous devrez changer votre façon de réfléchir<br />
    9. 9. <ul><li>La performance n’est pas primordiale
    10. 10. Construisez votre application sans valeurs codées en dur</li></ul>Découplage/Partition<br />Utilisez des Files/Messages<br />Utilisez des interfaces “non-connectées” (Stateless)<br />(l’attente active est plus évolutive qu’une connexion inactive)<br />Considérations<br />
    11. 11. L’exemple<br />
    12. 12.
    13. 13. Fonctionnalités Cloud du Zend Framework<br />Accès aux BD orientées documents<br />Accèsà un service de file<br />Accès aux services de stockage<br />Gestion AWS via Zend_Service_Amazon_Ec2<br />Gestion Azure via Zend_Service_WindowsAzure<br />
    14. 14.
    15. 15. Si vousutilisezvotre EDI uniquement pour sesfonctionsd’assistance au codage…<br />Un EDI est un amalgame de petites fonctions<br />
    16. 16. Fonctionnalités Cloud de Zend Studio<br />Intégration de la gestion de Cloud<br />Intégration manipulation de données Cloud<br />Intégrationplateforme de test<br />Intégration ticketing/versionnement/suivi bug<br />Intégrationoutils de débogage/profiling<br />Intégration Zend Server/Zend Server Cluster Manager<br />
    17. 17. Plus de fonctionnalitésàvenir<br />
    18. 18.
    19. 19. Fonctionnalité Cloud de Zend Server<br />Gestion avec Zend Server Cluster Manager<br />Surveillance des événements de plusieurs machines<br />Code Tracing de plusieurs machines<br />Session Clustering sur plusieurs machines<br />Job Queue sur plusieurs machines<br />Tarificationcloud sur plusieurs machines<br /> Get the Zend Server AMI!<br />
    20. 20. L’exemple<br />Évolutivité<br />Fonctionnalité SimpleCloud<br />File<br />Documents<br />Stockage<br />Surveillance centralisée<br />Tâches asynchrones<br />Intégration Zend Studio<br />Intégration Zend Server<br />
    21. 21. Du code !<br />
    22. 22. À noter<br />Les détails de l’implémentation peuvent être mis en valeurs de config<br />Mettez le moins possible de valeurs codées en dur<br />Utilisez des getters, comme getDocumentClass, pour accéder à l’info spécifique de l’implémentation du fournisseur de service<br />Ne dépendez pas uniquement d’une BD ; Envoyez des requêtes status (polling, attente active) à une file au lieu d’une BD<br />Pourquoi ? Car c’est la raison d’être d’une file<br />
    23. 23. La suite…<br />Essayez Zend Studio avec les outils Cloud<br />Essayez SimpleCloud avec une plateforme Cloud<br />Les prix AWS sont très bas pour les petites/courtes utilisations<br />Essayez Zend Server (Essai 30 jours dispo)<br />Essayez cette application (Zend Server requis)<br />http://bit.ly/eschradeCloud<br />
    24. 24. Voir la vidéo correspondante : http://bit.ly/gJHCvs<br />Blog de Kevin sur eschrade.com<br />Suivez-nous !<br />Zend Technologies<br />http://twitter.com/zend<br />http://twitter.com/kpschrade(Kevin)<br />http://twitter.com/mkherlakian (Maurice)<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×