Sébastien Levert & Julien Stroheker LA GOUVERNANCE, OU COMMENT RAPPROCHER LES ÉQUIPES DE DÉVELOPPEMENT ET D INFRASTRUCTURE
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.
Qui sommes-nous? Sébastien Levert Directeur technique Solutions collaboratives Les Solutions Victrix http://blog.sebastienlevert.com http://www.pimpmysharepoint.com @sebastienlevert Microsoft Certified Professional Developer, SharePoint Developer 2010 Microsoft Certified IT Pro, SharePoint Administrator 2010 http://ca.linkedin.com/in/sebastienlevert
Qui sommes-nous? Julien Stroheker Conseiller Solutions collaboratives Les Solutions Victrix http://www.pimpmysharepoint.com @Ju_Stroh AvePoint Certified Product Specialist http://ca.linkedin.com/pub/julien-stroheker/34/3a8/582
Agenda Rôles et responsabilités Environnements Meilleures pratiques Solutions Opérations Outils
Rôles et responsabilités IT Pros hate customizations, Developers hate deployment process Jeremy Thake Mark Rhodes
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!!!
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
Environnements
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
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
Meilleures pratiques
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
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.) V M C Séparer les responsabilités du code (SoC) Permet de tester plus facilement les unités de code Favorise la réutilisabilité du code Accès aux données optimal (API, CAML, Search, etc.)
Solutions
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
Solutions Cycle de déploiement Développeurs Pré-Production Paquetages (WSP) Anomalies Team Foundation Server Développeurs Testeurs Clients Administrateurs Gestionnaires de livraison Intégration Production
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
Opérations
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é
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
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
Outils
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
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
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.
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
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 PimpMySharePoint
Outils - Infrastructure Developer Dashboard Analyse les performances de la page en cours Personnalisable par code (Événements, Exceptions ) Projet Developer DashBoard Visualizer (CodePlex)
Outils - Infrastructure Analyseur d intégrité SharePoint Surveille la batterie de serveurs Possibilité de créer et déployer de nouvelles règles
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
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 )
Outils - Infrastructure
Questions