26

Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Embed Size (px)

DESCRIPTION

"Deux géants du développement web de nos jours : - Symfony2, le framework PHP qui a le vent en poupe - Windows Azure : la plateforme Cloud de Microsoft offrant une palette de services en mode PaaS (Plateforme As A Service) la plus étendue du marché Deux géants dont la cohabitation ne semble pas évidente de prime abord et qui nécessite quelques adaptations. De la définition de services configurables au déploiement dans le cloud, développons ensemble une application Symfony 2, flexible et déployée en mode PaaS dans Azure : mise en œuvre de Web Roles, utilisation de SQL Azure et stockage sécurisé via les Blob storage. Un excellent moyen de prendre connaissance, au travers de notre retour d’expérience, des nombreux pièges à éviter et des évolutions nécessaires pour tirer parti du meilleur de ces deux mondes." Speakers : Stéphane Escandell (Brainsonic), Benjamin Moulès (Microsoft France), Jérôme Respaut (Brainsonic)

Citation preview

Page 1: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Page 2: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

Depuis votre smartphone sur :http://notes.mstechdays.fr

De nombreux lots à gagner toutes les heures !!!Claviers, souris et jeux Microsoft…

Merci de nous aider à améliorer les Techdays !

Donnez votre avis !

Page 3: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Ouverture aux technologies non Microsoft

Symfony2 et Microsoft Azure, l'efficacité de PHP

dans le cloudStéphane EscandellExpert Symfony

[email protected]

Jérôme RespautLead Dev

[email protected]

@BrainsonicParisBenjamin Moulès

Evangéliste TechnologiqueMicrosoft

[email protected]@benjmou

Fabien PotencierCEO SensioLabs

SensioLabs@fabpot

Page 4: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

Page 5: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Ouverture aux technologies non Microsoft#mstechdays

BRAINSONIC

The blended agency

Page 6: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Ouverture aux technologies non Microsoft#mstechdays

10M110TALENTS

DE CHIFFRE D’AFFAIRES

PARTENAIRES 100 CLIENTS FIDÈLES

Page 7: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Ouverture aux technologies non Microsoft#mstechdays

BRAINSONICCONTENU DE

MARQUERÉSEAUX SOCIAUX

EXPÉRIENCESCONNECTÉES

EngagementUtilisateurs

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

Page 8: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Ouverture aux technologies non Microsoft#mstechdays

BRAND TOOLSAPPUYER VOS DISPOSITIFS MARKETING ET COMMUNICATION SUR NOS SOLUTIONS CLOUD

BRAINSONIC MEDIA CENTER Gérer tous vos assets dans une interface ergonomique, maitriser leur diffusion et assurer la bonne gouvernance de vos données.

CLOUD VIDEO CENTER Créer des sites WebTVs et maitriser la gestion de vos assets vidéos.

CLOUD MEDIA DRIVE Optimiser le partage de médias, tout en gardant le contrôle de votre image.

Pas de limite de stockageAccessibilité partout, pour tousMédias encodés et sécurisés

Plus de 100 clients nous font déjà confiance

PLATFORMS

PUBLISHER ONLINE Encoder toutes vos vidéos directement en ligne dans les formats adaptés

PLAYER MANAGER Associer à vos contenus de marque vidéo des players à votre image

STUDIO VIDEOS INTERACTIVES Enrichir vos vidéos de contenus complémentaires avec des hotspots interactifs sur PC, Tablette et Smatphone

Page 9: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Ouverture aux technologies non Microsoft#mstechdays

L’HÉBERGEMENT WINDOWS AZURELes différentes offres

Page 10: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

L’hébergement Azure

App Web modernesParfait si votre application se compose de code client-side, server-side et une base de données. Forte scalabilité.

Développement continueDéploiement directement depuis vos dépôts GIT ou TFS, ou encore via FTP,

Open source appsPermet d’instancier un site professionnel en quelques clics avec des CMS comme WordPress, Joomla!, Drupal, DotNetNuke et Umbraco.

Web SitesWindows Azure Web Sites idéals pour :

Page 11: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

L’hébergement Azure

Multi-tier applicationsApplications 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éeApplications nécessitant un utilisateur administrateur, un accès à distance ou des droits spécifiques.

Apps avec configuration réseau avancéeApplications nécessitant une configuration particulière ou avancée utilisant Windows Azure Connect ou Windows Azure Virtual Network.

Cloud ServicesWebRole et WorkerRole idéals pour :

Page 12: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

L’hébergement Azure

Applications existantes d’entrepriseFaire tourner directement vos applications existantes dans le cloud, nécessitant par exemple SQL server, SharePoint server ou Active directory.

Porter des images existantesInstancier des VM en utilisant une image depuis la bibliothèque Azure ou en envoyant vos propres template VHD.

Windows ou LinuxSupporte Windows Server, mais aussi les distributions Linux. Possibilité de connecter des VM avec des Cloud Services pour exploiter au maximum les avantages du PaaS.

IaaSWindows Azure Virtual Machines idéales pour :

Page 13: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

Web RoleWeb Sites

* Cloud apps (WebRole ou Worker Roles) peuvent utiliser ClearDB MySQL comme un service, à commander via le marketplace, non disponible via le Portail Azure classique.

Accès aux services de Cache, Service Bus, Storage, SQL Azure

Support de ASP.NET, ASP, Node.js, PHP 5.3+

Configuration et contenus partagés

GIT, FTP, TFS

Déploiement quasi instantané

MySQL disponible sous forme de service

Environnements/Préproduction

Configuration réseau avancée

Accès bureau à distance

Droits administrateurs

Start-up tasks

Frameworks ou Libraries non supportés

Service model

Windows Azure Connect/Windows Azure network.

*

Possibilités vs.

Page 14: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Ouverture aux technologies non Microsoft#mstechdays

LES RÔLES WEB (WEB ROLE)

Notre choix pour héberger nos applications Symfony2

Page 15: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

• Besoin de startup-tasks en mode admin pour– Installer des modules PHP customs– Pouvoir modifier la conf php.ini à notre guise– Lancer des commandes symfony pour préparer

proprement l’environnement– Préparer l’arborescence sur disque

• Besoin de débug facile grâce au RDP• Installation de frameworks ou modules de

notre choix

Notre choix du Web Role – Il y a 1 an

Page 16: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

• Mise en production maitrisée grâce au VIP-Swap (Prod/Préprod)

• L’auto scaling (programmable / modifiable à la volée)– N’existait pas il y a 1 an en WebSite

Notre choix du Web Role – Il y a 1 an

Page 17: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Ouverture aux technologies non Microsoft#mstechdays

DES SERVICES WINDOWS AZURE

Des plateformes qui s’appuient sur les Services Azure

Page 18: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

• Le Load balancer / endpoints LB• SQL Azure• Azure Blob Storage• Windows Azure Cache

WebRole mais aussi d’autres services

Page 19: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

démo

#mstechdaysOuverture aux technologies non Microsoft

DÉMONSTRATION

Du projet local à la version déployable dans Azure

Page 20: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

Des environnements hétéroclites

Page 21: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

Ouverture aux technologies non Microsoft#mstechdays

CONCLUSION

En production pour nos clients

Page 22: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

• Une solution de gestion de lecteur (video, audio, diaporama, documents)Utilisée par nos clients, actuellement en production pour France24/France Media Monde– Une plateforme SaaS, Symfony2, hébergée dans

des WebRoles Azure, avec du SQL Azure & du Blob Storage

Player Manager

Page 23: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

Player Manager

Page 24: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

Player Manager

Page 25: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

#mstechdaysOuverture aux technologies non Microsoft

CDNs (CDNetworks & Akamai)

Windows Azure Global Trafic Manager

Brainsonic Media Center

Video Publisher Online

Windows Azure

EU Datacenter

US Datacenter

Vidéos source (envoie FTP / Webservice / HTTP)

Linux VMs Linux VMs

Digital Asset Management

MySQL Cluster

Métadonnées des contenus

Windows VMs

Encodage depuis n’importe quelle source vers un pivot MP4 HD

Dedicated WAMS Encoders

Encodage MP4 HD vers Multibitrate MP4

Dedicated WAMS Origins

Dynamic Remux to Smooth

Streaming / HLS V4

WAME job scheduling over REST APIs

Windows Azure Blob Storage

Stockage Sources (MP4 / HLS V3 / vignettes)

HLS V4 Smooth Streaming

Progressive Download

HLS V3

Push des contenus

HTTP GET RANGE

SQL Azure

Encoding Jobs Queues stored here

Player Manager

Lecteur vidéo multi-plateforme

SQL Azure

Configuration de lecteur

WebRole (Symfony2)

Windows Azure Blob

Storage

Page 26: Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Digital is business

Jérôme [email protected]

Stéphane [email protected]

Benjamin Moulès

[email protected]

Fabien Potencier@fabpot