Upload
valtech
View
1.042
Download
0
Embed Size (px)
DESCRIPTION
Décollage d’une plateforme digitale vers le Cloud Azure Lionel Molas, Consultant Senior - Coach Agile - Formateur Valtech [email protected]
Citation preview
Séminaire Cloud Azure
04 juin 2013
Sommaire
1. Contexte du projet2. Azure3. Déploiement4. Production5. Préconisations6. Limitations7. Démonstration du portail Azure8. Conclusion
Contexte
Besoin Client
Produits dédiés à la sécurité des bâtiments
InstallateurHardware vers SoftwareMise à jour des produits
Service pour les installateurs
Contexte
Plateforme Digitale
Extensibilité des services associésExploitants et installateurs
MarketingSupport Technique
SAVCommerciaux
…
Contexte
Mondial
A terme la plateforme digitale doit être accessible partout
dans le monde
Contexte
Coût
Partie Générique (gestion de contenu) dans Drupal
Partie spécifique en code objetCloud
Contexte
Agile
Scrum
Contexte
100% des tests automatisés
Contexte
ATDD / TDD
Contexte
Software Craftsmanship
Contexte
3000 installations sur la première année
1 accès par jour
100 Mo par produit
Contexte
PaaS Windows Azure(Scheduler)
IaaS Windows Azure(Drupal)
Installation
Installateur
Portail Extranet
Windows Azure Storage Blobs
Référentiel firmwarePaquet de mise à jourGestionnaire de
téléchargement
Azure
Cloud Services
Web Role (ASP.Net web API)Worker Role (tar.gz avec
SharpZipLib)
Azure
Service Bus
Canal de communication entre le Web Role et le Worker Role
Queue compte de stockage (ordre non garanti)
Azure
Table Storage
NoSQLPartitionKey, RowKey
Bien adapté pour les logsCache
Azure
Blob
BlockBlob (200 Go par blob)PageBlob (1 To par blob)
Azure
Drupal IAAS
LAMPGestion fichiers en upload =>
Blob
Déploiement
Usine Logicielle basée sur Jenkins
Pour le déploiement mais aussi pour le développement
Déploiement
Drupal avec Drush
Déploiement
Cloud Services
CspkgPowerShell
Visual Studio
Production
Cloud Services
Staging / Production
Déploiement sur le staging, changement éventuel du csdef puis bascule sur Production afin d’éviter
une interruption de service
Production
IAAS
Plusieurs Virtual Machines dans le même « Availability
Set »
Production
Maintenance
PAAS patch applicatifIAAS patch OS + patch applicatifListe d’entreprises fournies par
Microsoft
Préconisations
Impact Charte Graphique sur Tests IHM
Ids des éléments HTML générés automatiquement
Locator sur Id ou Label ou Position dans le DOM
Préconisations
Maintenance Tests IHM
Tests du sprint + Tests de non régression
Tous les tests pour une release
Préconisations
Elasticité
Impacte le développement (même IAAS)
Préconisations
Taille du cspkg
Fichiers inutilesIsoler les fichiers statiques
Préconisations / Limitations
Backup / Restore
Pas de backup SQL Azure depuis le portail
Solution alternative (commande SQL, fichier BACPAC, outil tiers)Tester la procédure de Restore
Limitations
Drupal PAAS
Chemin au format linux dans le Core de Drupal
Fonctions PHP utilisées non compatibles avec PHP Windows
Limitations
Drupal Module Azure Blob
Contournement possible
Limitations
Vitesse Déploiement
Taille du cspkg10 minutes pour la partie
Cloud Services
Limitations
Debug Azure Local
Seulement Cloud Services et Compte de stockage
Limitations
Installation SDK Azure .Net
Pas de package Nuget
Limitations
Dépendances perdues dans le cspkg
Lien vers le Worker Role non présent dans le cspkg
Marche en debug localcspkg = fichier zip
Limitations
Cloud Services 64 bits
Interop entre un process 64 bits et une dll 32 bits
Limitations
Lien fort avec le provider Cloud (PAAS)
OpenCloudManifesto ?
Limitations
Scaling des instances
Pas d’autoscaling
Limitations
ClearDB
Performances ?Facturation trafic ?
Démonstration
Portail Azure
Conclusion
Conclusion
Confirmation choix Cloud
Traffic Manager
Conclusion
Extensions probables de la plateforme digitale
Possibilité de commencer avec un besoin simple puis d’étendre
par la suite
Conclusion
Ajout de nouvelles fonctionnalités Azure
Rythme s’accélère
Conclusion
Impact déploiement Cloud sur cycle de
développement
Conclusion
Plus facile pour l’écosystème .Net
Conclusion
Séminaire Valtech sur Drupal et Agile
Conclusion
Questions ?