Développez, gérez et scalez vos applications PHP dans le Cloud
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

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

  • 1,054 views
Uploaded 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 ...

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • 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)
    Are you sure you want to
    Your message goes here
    Be the first to like this
No Downloads

Views

Total Views
1,054
On Slideshare
1,054
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
1
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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 -> désillusion (où on commence àvoirmythes v/s réalité) -> utilité (remontée)Cloud dans la phase remontéeactuellement -> 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. > 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 -> 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 -> 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é -> 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)-> file upload -> extension zend Form -> montrerformulaireSoumissionformulaire -> file upload -> validation.Tâche: manager -> 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 -> montrerconfig -> 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 -> execution sur un autreserveur. Manager serialize et envoie au backend.Queueprésente backend car classeserializée.Début: message processing demarré, fin processing completé -> changementicone.Stockage: filename à stocker dans S3 -> 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 -> 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 -> check pour voirs’il y aun message dispo.Status.json.php -> receive all messages, send as jsonList.phpRetire les fichiers par le session nameFile.php:Lire l’image par amazon S3 et la montrer.

Transcript

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