SYMFONY2 ET MICROSOFT AZURE
L’efficacité de PHP dans le cloud
Symfony Live Paris 2014
8 Avril 2014
QUI SOMMES-NOUS ?
2
• JÉRÔME RESPAUT
– Lead Dev – Brainsonic
– jerome.respaut@brainsonic.com
• STÉPHANE ESCANDELL
– CP Tec...
BRAINSONIC
BLENDED AGENCY1.
3
4
10M
110
EMPLOYEES
NOS PARTENAIRES STRATEGIQUES
DE CHIFFRE D’AFFAIRES
BRAINSONIC
5
CONTENU DE
MARQUE
RÉSEAUX
SOCIAUX
EXPÉRIENCES
CONNECTÉES
Engagement
Utilisateurs
PLATFORMS
– Au service de
l’...
MICROSOFT AZURE
2.
6
L’HÉBERGEMENT MICROSOFT AZURE
 Microsoft Azure Web Sites
7
App Web
modernes
Parfait si votre
application se compose
de co...
L’HÉBERGEMENT MICROSOFT AZURE
 Microsoft Azure Cloud Services (WebRole et WorkerRole)
8
Multi-tier
applications
Applicati...
L’HÉBERGEMENT MICROSOFT AZURE
 IAAS Microsoft Azure Virtual Machines
9
Applications
existantes
d’entreprise
Faire tourner...
10
Déploiement quasi instantané
CLOUD SERVICES
3.
11
CHOIX DU WEBRÔLE
 Choix historique
 Besoin de Startup-tasks en admin
 Installation modules PHP customs
 Personnalisati...
CHOIX DU WEBRÔLE
 Maîtrise des mises en production
 Swap « staging »/ « prod »
 Auto-scaling
 Programmable
 Modifiabl...
SERVICES
MICROSOFT AZURE4.
14
CLOUD SERVICES MAIS AUSSI…
 Load balancer / endpoints LB
 Microsoft Azure Storage
 SQL database
 Table storage
 Blob ...
INTÉGRATION DANS
SYMFONY25.
16
FIL ROUGE
17
 Application « semi-full » REST
 Authentification
 Upload image
 Fonctionne en local
Migration sur Micros...
One code to
rule them
all…
18
Pour fabriquer
de la potion
magique, mieux
vaut suivre la
recette !
19
ABSTRAIRE LES SERVICES E/S
20
 Un principe nécessaire
 Interfaces de communication communes
 Injection des services fin...
UTILISER LE BUNDLE ADAPTÉ
21
 Brainsonic/AzureDistributionBundle (github / packagist)
 Fork beberlei/AzureDistributionBu...
Concrètement,
ça donne quoi
?
22
SYNTHÈSE
23
 Bundles utilisés dans l’exemple
 FOS/FOSRestBundle
 FOS/FOSUserBundle
 KnpLabs/KnpGaufretteBundle
 Brain...
VOUS AVEZ DES QUESTIONS…
24
 … nous pouvons essayer d’y
répondre
CONTACTEZ NOUS
25
– STÉPHANE ESCANDELL
 stephane.escandell@brainsonic.com
 JÉRÔME RESPAUT
jerome.respaut@brainsonic.com
Prochain SlideShare
Chargement dans…5
×

Symfony live Paris 2014 - Symfony2 sur Azure

3 127 vues

Publié le

Présentation utilisée en guise de support lors du Symfony Live 2014 à Paris sur comment migrer rapidement et simplement une application Symfony2 sur Azure. L'exemple se base principalement sur comment migrer son système de stockage de données et sa gestion des fichiers via la mise en place d'un Blob Storage.

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
3 127
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1 452
Actions
Partages
0
Téléchargements
18
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Symfony live Paris 2014 - Symfony2 sur Azure

  1. 1. SYMFONY2 ET MICROSOFT AZURE L’efficacité de PHP dans le cloud Symfony Live Paris 2014 8 Avril 2014
  2. 2. QUI SOMMES-NOUS ? 2 • JÉRÔME RESPAUT – Lead Dev – Brainsonic – jerome.respaut@brainsonic.com • STÉPHANE ESCANDELL – CP Technique – Brainsonic – stephane.escandell@brainsonic.com @BrainsonicParis
  3. 3. BRAINSONIC BLENDED AGENCY1. 3
  4. 4. 4 10M 110 EMPLOYEES NOS PARTENAIRES STRATEGIQUES DE CHIFFRE D’AFFAIRES
  5. 5. BRAINSONIC 5 CONTENU DE MARQUE RÉSEAUX SOCIAUX EXPÉRIENCES CONNECTÉES Engagement Utilisateurs PLATFORMS – Au service de l’engagement de vos audiences  Brainsonic est une « Blended Agency » : qui combine des compétences éditoriales, créatives et techniques, via des prestations de service et des plateformes logicielles. EQUIPE BLENDED (CREA, EDITO, DEV) OUTILLAGE & PROCESS DELIVERY & ROI
  6. 6. MICROSOFT AZURE 2. 6
  7. 7. L’HÉBERGEMENT MICROSOFT AZURE  Microsoft Azure Web Sites 7 App Web modernes Parfait si votre application se compose de code client-side, server-side et une base de données. Forte scalabilité. Développement continue Déploiement directement depuis vos dépôts GIT ou TFS, ou encore via FTP, Open source apps Permet d’instancier un site professionnel en quelques clics avec des CMS comme WordPress, Joomla!, Drupal, DotNetNuke et Umbraco.
  8. 8. L’HÉBERGEMENT MICROSOFT AZURE  Microsoft Azure Cloud Services (WebRole et WorkerRole) 8 Multi-tier applications Applications cloud, où il est important de séparer les couches métiers. (i.e. cache mémoire, processus asynchrone, etc.) utilisant à la fois les WebRole & WorkerRole. Apps avec administration avancée Applications nécessitant un utilisateur administrateur, un accès à distance ou des droits spécifiques. Apps avec configuration réseau avancée Applications nécessitant une configuration particulière ou avancée utilisant Windows Azure Connect ou Windows Azure Virtual Network.
  9. 9. L’HÉBERGEMENT MICROSOFT AZURE  IAAS Microsoft Azure Virtual Machines 9 Applications existantes d’entreprise Faire tourner directement vos applications existantes dans le cloud, nécessitant par exemple SQL server, SharePoint server ou Active directory. Porter des images existantes Instancier des VM en utilisant une image depuis la bibliothèque Azure ou en envoyant vos propres template VHD. Windows ou Linux Supporte Windows Server, mais aussi les distributions Linux. Possibilité de connecter des VM avec des Cloud Services pour exploiter au maximum les avantages du PaaS.
  10. 10. 10 Déploiement quasi instantané
  11. 11. CLOUD SERVICES 3. 11
  12. 12. CHOIX DU WEBRÔLE  Choix historique  Besoin de Startup-tasks en admin  Installation modules PHP customs  Personnalisation conf php.ini  Initialisation Fwk (commandes Symfony)  Préparer l’arborescence disque  Debug simplifié via RDP  Installation d’applications tierces spécifiques 12
  13. 13. CHOIX DU WEBRÔLE  Maîtrise des mises en production  Swap « staging »/ « prod »  Auto-scaling  Programmable  Modifiable à la volée 13 Choix historique => fonctionnalités absentes il y a 1 an
  14. 14. SERVICES MICROSOFT AZURE4. 14
  15. 15. CLOUD SERVICES MAIS AUSSI…  Load balancer / endpoints LB  Microsoft Azure Storage  SQL database  Table storage  Blob storage  Microsoft Azure Cache  Mobile services  Service Bus  Media Services 15
  16. 16. INTÉGRATION DANS SYMFONY25. 16
  17. 17. FIL ROUGE 17  Application « semi-full » REST  Authentification  Upload image  Fonctionne en local Migration sur Microsoft Azure
  18. 18. One code to rule them all… 18
  19. 19. Pour fabriquer de la potion magique, mieux vaut suivre la recette ! 19
  20. 20. ABSTRAIRE LES SERVICES E/S 20  Un principe nécessaire  Interfaces de communication communes  Injection des services finaux  Système de stockage de données (ajouter une couche entre le modèle et la BDD ?)  Gestionnaire de session  Stockage de fichiers  … tout service tiers d’E/S (messages AMQP, Pool mails, …)
  21. 21. UTILISER LE BUNDLE ADAPTÉ 21  Brainsonic/AzureDistributionBundle (github / packagist)  Fork beberlei/AzureDistributionBundle  Suivi des évolutions Microsoft Azure  Suivi des évolutions Symfony2  Mise à disposition de services (sf2) pour accéder aux services Microsoft Azure  Facilitateur de déploiement sur les Cloud Services  Encapsulation SDK Microsoft
  22. 22. Concrètement, ça donne quoi ? 22
  23. 23. SYNTHÈSE 23  Bundles utilisés dans l’exemple  FOS/FOSRestBundle  FOS/FOSUserBundle  KnpLabs/KnpGaufretteBundle  Brainsonic/AzureDistributionBundle  Points d’attention  Penser « modularité »  Concevoir des couches intermédiaires d’abstraction des systèmes d’E/S  Doctrine peu user friendly avec SQLServer, quelques améliorations possibles (éventuellement, MySQL est disponible sous Azure via le marketplace)  Compatibilité  Génération de packages Cloud Services uniquement disponibles sous Windows  Préférer l’utilisation de Azure Websites (compatible Mac/Linux, déploiement simplifié via git push)
  24. 24. VOUS AVEZ DES QUESTIONS… 24  … nous pouvons essayer d’y répondre
  25. 25. CONTACTEZ NOUS 25 – STÉPHANE ESCANDELL  stephane.escandell@brainsonic.com  JÉRÔME RESPAUT jerome.respaut@brainsonic.com

×