La Gouvernance, ou comment rapprocher les équipes de développement et d’infrastructure
1. Sébastien Levert & Julien Stroheker
LA GOUVERNANCE, OU COMMENT
RAPPROCHER LES ÉQUIPES DE
DÉVELOPPEMENT ET
D’INFRASTRUCTURE
8 octobre 2012
2. La gouvernance technique, pourquoi ?
L’enjeu premier pour le maintien de votre plateforme est une
cohésion parfaite entre tous les acteurs sur vos
environnements.
Quel sont les rôles et responsabilités ? Comment gérer vos
environnements, les maintenir en bonne santé tout en intégrant
de nouvelles solutions ?
Une bonne gouvernance va vous permettre de mettre en place
et de maintenir les bonne pratiques autour de SharePoint.
A l’aube de la version 2013, la gouvernance est un des facteurs
de réussite pour tous vos projets SharePoint.
8 octobre 2012
3. Qui sommes-nous ?
Sébastien Levert
Directeur technique http://blog.sebastienlevert.com
Solutions collaboratives http://www.pimpmysharepoint.com
Les Solutions Victrix
Microsoft Certified Professional
Developer, SharePoint Developer 2010
@sebastienlevert
Microsoft Certified IT Pro, SharePoint
Administrator 2010
http://ca.linkedin.com/in/sebastienlevert
8 octobre 2012
4. Qui sommes-nous ?
Julien Stroheker
Conseiller
http://www.pimpmysharepoint.com
Solutions collaboratives
Les Solutions Victrix
@Ju_Stroh AvePoint Certified Product Specialist
http://ca.linkedin.com/pub/julien-stroheker/34/3a8/582
8 octobre 2012
5. Agenda
Rôles et
responsabilités Environnements
Meilleures
pratiques Solutions
Opérations Outils
8 octobre 2012
6. Rôles et responsabilités
IT Pros hate customizations,
Developers hate deployment
process
Jeremy Thake
Mark Rhodes
8 octobre 2012
7. Rôles et responsabilités - Infrastructure
Équipes et contributeurs techniques
Administrateurs des Bases de données, Système, Sécurité et réseau
Exploitation - Architecte
Postes clients
Évangélisation
Communication et accompagnement des utilisateurs
Démonstrations et formations
Offrir le café aux DBA et Administrateurs AD !!!
8 octobre 2012
8. Rôles et responsabilités - Développement
Développeur / Intégrateur
Développer les fonctionnalités supplémentaires
Créer une image de marque
Scripter le déploiement de la solution
Testeur
Créer des scripts de tests fonctionnels
Élaborer et maintenir les tests unitaires / tests d’interface
Gestionnaire de livraison
Récupérer / assembler une version spécifique d’une solution
S’assurer de la validité de la solution à chacun des déploiements
8 octobre 2012
10. Environnements - Développement
Gagner du temps
Être le plus près possible de l’environnement du client
Favoriser le temps de développement au lieu de la configuration de l’environnement
Permettre l’initialisation rapide d’un environnement
Environnement virtuel de base, prêt à cloner
Outils de développement (Visual Studio, SharePoint Designer, etc.)
Binaires de SharePoint
SQL
Scripts de configuration de l’instance de
l’environnement
Configuration de la ferme
Création / configuration des applications web nécessaires
Utilisation des scripts fournis par l’équipe d’infrastructure
8 octobre 2012
11. Environnements - Infrastructure
PowerShell ? I’m lovin’ it !!!
Installation et configuration via scripts
Tout est scriptable
Maintenance Windows, SQL, SharePoint.
Environnement Pré Production et Production
Sous notre responsabilité
Procédure de mise à niveau entre les fermes « One Shot » (Sécurité et
contenu)
Déploiement par Package
Mettre en place des outils
Administrer et auditer
Mise en place de rapports
Optimiser les performances
8 octobre 2012
13. Meilleures pratiques - Infrastructure
Accès et contrôle de contenu
Batterie de serveurs : Sauvegardes, rapports Web Analytics…
Personnalisation : SharePoint Designer
Des sites : Quotas, Droits d’accès…
Gestion de la continuité
Plan de relève
Versioning – Corbeilles – Stsadm – PS – SQL…
Organisation
Structure de répertoire uniforme sur tous les serveurs
Système d’exploitation, applications et journaux sur disques séparés
8 octobre 2012
14. Meilleures pratiques - Développement
Pourquoi ?
Favoriser un code uniforme et selon les meilleures pratiques
Faciliter la maintenance du code
Intégration de nouvelles ressources simplifiée
Code source
Gestion d’erreur et journalisation des exceptions
Éradication des valeurs forgées dans le code
Gestion de la mémoire (SPWeb, SPSite, etc.)
Séparer les responsabilités du code (SoC)
M
Permet de tester plus facilement les unités de code
V C Favorise la réutilisabilité du code
Accès aux données optimal (API, CAML, Search, etc.)
8 octobre 2012
16. Solutions – Développement
Pourquoi
Facilité à suivre les activités de développement
Centralisation du code source et des anomalies
Permettre le travail coopératif sur un même projet
Team Foundation Services
Serveur d’assemblage automatisée
Serveur de déploiement automatisé
Exécution des tests automatisés
8 octobre 2012
17. Solutions – Cycle de déploiement
Développeurs Pré-Production
Paquetages (WSP) Team Foundation Server
Anomalies
Développeurs Intégration Production
Testeurs
Clients
Administrateurs
Gestionnaires de livraison
8 octobre 2012
18. Solutions - Infrastructure
Cycle de déploiement
Utilisation du même package sur tous les environnements
Un développeur ne peut être testeur
On garde uniquement la dernière version du package sur la Production
Traçabilité et journalisation
Pour des fins de troubleshooting
Historique de déploiement
Versionning
8 octobre 2012
20. Opérations - Infrastructure
Planification
Journalière : Journaux, Espaces disques, Backups
Hebdomadaire : Recherche, Compteurs
Périodiques : Passwords, Restores, CHKDSK…
Rapports
Taille des BD
Compteurs pour mesure de latence
Ressources physique
Déploiement et Optimisation
Procédure documentée : Plan de travail, de tests, de contingence…
Par Scripts / Package
Planifié, documenté et archivé
8 octobre 2012
21. Opérations - Infrastructure
Tâches Jour Semaine Mois Périodique
Health Analyser X
Vérifier Backups X
Event Viewer X
Espace Disques X
Archive Logs X
UPS X
CHKDSK – Defrag X
PassWords X
Tests Restores X
8 octobre 2012
22. Opérations - Développement
Scripts de déploiement
Créer les scripts de déploiement. Tout ce qui peut être scripté doit l’être
Documenter les éléments à configurer par les administrateurs
Tenter de générer des scripts réutilisables (génériques)
Manuel de déploiement
Processus de déploiement pour les étapes manuelles
Scripts à exécuter pour l’installation et le conditionnement de la solution
Fichiers, fonctionnalités et solutions du déploiement ainsi que leurs impacts
8 octobre 2012
24. Outils - Développement
CKS:DEV
Ensemble de fonctionnalités permettant d’améliorer le cycle de
développement
Plusieurs outils d’extraction de données
Ajout d’artéfacts pouvant être créés avec Visual Studio
8 octobre 2012
25. Outils - Développement
SPDisposeCheck
Traduction de l’article « Best Practices: Using Disposable Windows
SharePoint Services Objects » en règles d’analyse de code statique
Intégration aux assemblages de Visual Studio et d’intégration continue
8 octobre 2012
26. Outils - Développement
Camlex.NET
Système facilitant l’écriture de requêtes CAML
Utilise un interpréteur Linq pour générer la requête CAML utilisée
Élimine les requêtes forgées directement dans le code
VS
.
8 octobre 2012
27. Outils - Développement
Cadriciels d’isolation
Système d’isolation de méthodes .NET
Utilisé pour permettre de faire des tests unitaires
Pex & Moles (Fakes & Stubs), TypeMock Isolator, Telerik JustMock
8 octobre 2012
28. Outils
AutoSPInstaller
Installation « One Click »
Remote et parallel Install avec prise en charges des Language Pack et Updates
Possibilité d’ajout de fonctions personnalisées
8 octobre 2012 PimpMySharePoint
29. Outils - Infrastructure
Developer Dashboard
Analyse les performances de la page en cours
Personnalisable par code (Événements, Exceptions…)
Projet Developer DashBoard Visualizer (CodePlex)
8 octobre 2012
30. Outils - Infrastructure
Analyseur d’intégrité SharePoint
Surveille la batterie de serveurs
Possibilité de créer et déployer de nouvelles règles
8 octobre 2012
31. Outils - Infrastructure
System Center Operations Manager
Supervise l’état de santé des serveurs SharePoint, Project et Office Web Apps.
Surveille les services et alerte
Supervise les performances
8 octobre 2012
32. Outils - Infrastructure
SharePoint Diagnostic Studio
Rapports préconfigurés
Utilisable à distance via Remote PS
Scénario de tests d’utilisation Visual Studio (Montée en charge…)
8 octobre 2012
Comment définiriez-vous votre rôle et celui de vos partenaires autour de la plateforme SharePoint ?Des administrateurs ?Des intégrateurs ? Testeurs ? Gestionnaires de livraison ?Des « One-man-show » ?