La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)
1. La gouvernance, ou comment
rapprocher les équipes de
développement et d’infrastructure
Sébastien Levert & Julien Stroheker / Directeurs techniques
2. La gouvernance opérationelle,
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.
3. Qui sommes-nous ?
Sébastien Levert
Directeur technique
Solutions collaboratives
Les Solutions Victrix
http://www.pimpmysharepoint.com
@ju_stroh
AvePoint Certified Product Specialist
http://ca.linkedin.com/in/Ju
lien-stroheker
Top influenceur SharePoint francophone
4. Qui sommes-nous ?
Sébastien Levert
Directeur technique
Solutions collaboratives
Les Solutions Victrix
@sebastienlevert
http://ca.linkedin.com/in/sebastienlever
t
http://blog.sebastienlevert.com
http://www.pimpmysharepoint.com
Microsoft Certified Professional Developer,
SharePoint Developer 2010
Microsoft Certified IT Pro, SharePoint
Administrator 2010
6. Rôles et responsabilités
IT Pros hate customizations,
Developers hate deployment
process
Jeremy Thake
Mark Rhodes
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. 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, de l’app, de l’application
externe
Testeur
Créer des scripts de tests fonctionnels
Élaborer, coder et maintenir les tests unitaires
Élaborer, coder et maintenir les tests d’interface (UI Coded
Tests)
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
Devenir la « police » de la qualité de la solution livrée
10. Environnements - Développement
Gagner du temps
Être le plus près possible de l’environnement du client
Favoriser le développement vs. configuration de
l’environnement
Permettre l’initialisation rapide d’un environnement
Environnement virtuel de base, prêt à cloner, ou
cloud
Outils de développement (Visual Studio, SharePoint Designer,
etc.)
Binaires de SharePoint, SQL
Voir les offres cloud (Microsoft Azure VM, CloudShare, …)
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
(Justifions leur salaire…)
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 fermes (Sécurité et contenu)
Déploiement par Package
Mettre en place des outils
Administrer et auditer
Mise en place de rapports
Optimiser les performances
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…
Cibles de Backup
Organisation
Structure de répertoire uniforme sur tous les serveurs
Système d’exploitation, applications et journaux sur disques
séparés
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
V
C
Permet de tester plus facilement les unités de code (.NET, JS, …)
Favorise la réutilisabilité du code (App vs. Content Editor vs.
Sandbox)
Accès aux données optimal (API, CAML, Search, …)
Faciliter la migration vers les apps (MVC, MVVM, …)
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
17. Solutions - Développement
Développeurs
Team Foundation
Server
Paquetages (WSP)
Anomalies
Développeurs
Testeurs
Clients
Administrateurs
Gestionnaires de livraison
Pré-production
Intégration
Production
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 productio
Traçabilité et journalisation
Pour des fins de troubleshooting
Historique de déploiement
Versionning
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 physiques
Déploiement et Optimisation
Procédure documentée : Plan de travail, de tests, de contingence…
Par scripts / package
Planifié, documenté et archivé
21. Opérations - Infrastructure
Tâches
Jour
Health Analyser
X
Vérifier
Backups
X
Event Viewer
X
Espace
Disques
Semaine
X
Archive Logs
Périodique
X
UPS
Mois
X
CHKDSK –
Defrag
X
PassWords
X
Tests Restores
X
22. Opérations - Développement
Scripts de déploiement
Créer les scripts de déploiement
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 de la solution
Fichiers, fonctionnalités et solutions du déploiement ainsi que
l’impact
24. Outils - Développement
CKS:DEV 2010/2013
Ensemble de fonctionnalités améliorant le cycle de développement
Plusieurs outils d’extraction de données
Ajout d’artéfacts pouvant être créés avec Visual Studio
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 continu
26. Outils - Développement
SharePoint Code Analysis Framework
Automatisation de l’analyse du code développé (.NET, JS, HTML, etc
Métriques et rapports permettant d’évaluer l’état d’une solution
Intégration aux assemblages de Visual Studio et d’intégration continu
Intégration de SPDisposeCheck, FxCop, CATNET, FxCop Metrics
27. 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
28. Outils - Développement
jQuery & autres frameworks Javascript
Communication avec les services de SharePoint 2010 / 2013
Permet de développer en mode développement client
Premier pas (primordial) vers SharePoint 2013
29. Outils - Développement
Frameworks d’isolation
Système d’isolation de méthodes .NET
Utilisé pour permettre de faire des tests unitaires
Fakes & Stubs, TypeMock Isolator, Telerik JustMock
30. Outils - Développement
SharePoint Solution Deployer
Automatiser le déploiement d’une série de solutions
Simplifie le déploiement en cas de Disaster Recovery
Possibilité de versionner un déploiement (C’est un projet VS !)
32. Outils - Infrastructure
Developer Dashboard
Analyse les performances de la page en cours
Personnalisable par code (Événements, Exceptions…)
Projet Developer DashBoard Visualizer (CodePlex)
33. Outils - Infrastructure
Analyseur d’intégrité SharePoint
Surveille la batterie de serveurs
Possibilité de créer et déployer de nouvelles règles
34. Outils - Infrastructure
System Center Operations Manager
Supervise l’état de santé des serveurs SharePoint, Project et OWA.
Surveille les services et alerte
Supervise les performances
35. 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…)
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 » ?
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 » ?
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 » ?
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 » ?
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 » ?
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 » ?
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 » ?