La gouvernance, ou comment rapprocher les équipes de développement et d’infrastructure Sébastien Levert & Julien Stroheker / Directeurs techniques
Jun 21, 2015
La gouvernance, ou comment rapprocher les équipes de
développement et d’infrastructure
Sébastien Levert & Julien Stroheker / Directeurs techniques
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.
Sébastien LevertDirecteur technique Solutions collaborativesLes Solutions Victrix
@ju_stroh
http://ca.linkedin.com/in/Julien-stroheker
http://www.pimpmysharepoint.com
AvePoint Certified Product Specialist
Qui sommes-nous ?
Top influenceur SharePoint francophone
Sébastien LevertDirecteur technique Solutions collaborativesLes Solutions Victrix
@sebastienlevert
http://ca.linkedin.com/in/sebastienlevert
http://blog.sebastienlevert.comhttp://www.pimpmysharepoint.com
Microsoft Certified Professional Developer, SharePoint Developer 2010Microsoft Certified IT Pro, SharePoint Administrator 2010
Qui sommes-nous ?
Environnements
Agenda
Rôles et responsabilité
s
Meilleures pratiques
Opérations
Solutions
Outils
IT Pros hate customizations, Developers hate deployment process
Jeremy ThakeMark Rhodes
Rôles et responsabilités
Équipes et contributeurs techniquesAdministrateurs des Bases de données, Système, Sécurité et réseauExploitation - ArchitectePostes clients
Offrir le café aux DBA et Administrateurs AD !!!
ÉvangélisationCommunication et accompagnement des utilisateursDémonstrations et formations
Rôles et responsabilités - Infrastructure
Développeur / IntégrateurDévelopper les fonctionnalités supplémentairesCréer une image de marqueScripter le déploiement de la solution, de l’app, de l’application externe
Gestionnaire de livraisonRécupérer / assembler une version spécifique d’une solutionS’assurer de la validité de la solution à chacun des déploiementsDevenir la « police » de la qualité de la solution livrée
TesteurCréer des scripts de tests fonctionnelsÉlaborer, coder et maintenir les tests unitairesÉlaborer, coder et maintenir les tests d’interface (UI Coded Tests)
Rôles et responsabilités - Développement
Environnements
Gagner du tempsÊtre le plus près possible de l’environnement du clientFavoriser le développement vs. configuration de l’environnementPermettre l’initialisation rapide d’un environnement
Scripts de configuration de l’instance de l’environnementConfiguration de la fermeCréation / configuration des applications web nécessairesUtilisation des scripts fournis par l’équipe d’infrastructure (Justifions leur salaire…)
Environnement virtuel de base, prêt à cloner, ou cloudOutils de développement (Visual Studio, SharePoint Designer, etc.)Binaires de SharePoint, SQLVoir les offres cloud (Microsoft Azure VM, CloudShare, …)
Environnements - Développement
PowerShell ? I’m lovin’ it !!!Installation et configuration via scriptsTout est scriptableMaintenance Windows, SQL, SharePoint.
Mettre en place des outilsAdministrer et auditerMise en place de rapportsOptimiser les performances
Environnement Pré Production et ProductionSous notre responsabilitéProcédure de mise à niveau entre fermes (Sécurité et contenu)Déploiement par Package
Environnements - Infrastructure
Meilleures pratiques
Accès et contrôle de contenuBatterie de serveurs : Sauvegardes, rapports Web Analytics…Personnalisation : SharePoint DesignerDes sites : Quotas, Droits d’accès…
OrganisationStructure de répertoire uniforme sur tous les serveursSystème d’exploitation, applications et journaux sur disques séparés
Gestion de la continuitéPlan de relèveVersioning – Corbeilles – Stsadm – PS – SQL…Cibles de Backup
Meilleures pratiques - Infrastructure
Pourquoi ?Favoriser un code uniforme et selon les meilleures pratiquesFaciliter la maintenance du codeIntégration de nouvelles ressources simplifiée
Séparer les responsabilités du code (SoC)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, …)
Code sourceGestion d’erreur et journalisation des exceptionsÉradication des valeurs forgées dans le codeGestion de la mémoire (SPWeb, SPSite, etc.)
Meilleures pratiques - Développement
M
V C
Solutions
PourquoiFacilité à suivre les activités de développementCentralisation du code source et des anomaliesPermettre le travail coopératif sur un même projet
Team Foundation ServicesServeur d’assemblage automatiséeServeur de déploiement automatiséExécution des tests automatisés
Solutions - Développement
Solutions - Développement
Paquetages (WSP)Anomalies
DéveloppeursTesteursClientsAdministrateursGestionnaires de livraison
Team Foundation
Server
Développeurs Pré-production
ProductionIntégration
Cycle de déploiementUtilisation du même package sur tous les environnementsUn développeur ne peut être testeurOn garde uniquement la dernière version du package sur la production
Traçabilité et journalisationPour des fins de troubleshootingHistorique de déploiementVersionning
Solutions - Infrastructure
Opérations
PlanificationJournalière : Journaux, Espaces disques, BackupsHebdomadaire : Recherche, CompteursPériodiques : Passwords, Restores, CHKDSK…
Déploiement et OptimisationProcédure documentée : Plan de travail, de tests, de contingence…Par scripts / packagePlanifié, documenté et archivé
RapportsTaille des BDCompteurs pour mesure de latenceRessources physiques
Opérations - Infrastructure
Opérations - Infrastructure
Tâches Jour Semaine Mois PériodiqueHealth
AnalyserX
Vérifier Backups
X
Event Viewer X
Espace Disques
X
Archive Logs X
UPS X
CHKDSK – Defrag
X
PassWords X
Tests Restores
X
Scripts de déploiementCréer les scripts de déploiementDocumenter les éléments à configurer par les administrateursTenter de générer des scripts réutilisables (génériques)
Manuel de déploiementProcessus de déploiement pour les étapes manuellesScripts à exécuter pour l’installation de la solutionFichiers, fonctionnalités et solutions du déploiement ainsi que l’impact
Opérations - Développement
Outils
CKS:DEV 2010/2013Ensemble de fonctionnalités améliorant le cycle de développementPlusieurs outils d’extraction de donnéesAjout d’artéfacts pouvant être créés avec Visual Studio
Outils - Développement
SPDisposeCheckTraduction de l’article « Best Practices: Using Disposable Windows SharePoint Services Objects » en règles d’analyse de code statiqueIntégration aux assemblages de Visual Studio et d’intégration continue
Outils - Développement
SharePoint Code Analysis FrameworkAutomatisation de l’analyse du code développé (.NET, JS, HTML, etc.)Métriques et rapports permettant d’évaluer l’état d’une solutionIntégration aux assemblages de Visual Studio et d’intégration continueIntégration de SPDisposeCheck, FxCop, CATNET, FxCop Metrics
Outils - Développement
Camlex.NETSystème facilitant l’écriture de requêtes CAMLUtilise un interpréteur Linq pour générer la requête CAML utiliséeÉlimine les requêtes forgées directement dans le code
Outils - Développement
jQuery & autres frameworks JavascriptCommunication avec les services de SharePoint 2010 / 2013Permet de développer en mode développement clientPremier pas (primordial) vers SharePoint 2013
Outils - Développement
Frameworks d’isolationSystème d’isolation de méthodes .NETUtilisé pour permettre de faire des tests unitairesFakes & Stubs, TypeMock Isolator, Telerik JustMock
Outils - Développement
SharePoint Solution DeployerAutomatiser le déploiement d’une série de solutionsSimplifie le déploiement en cas de Disaster RecoveryPossibilité de versionner un déploiement (C’est un projet VS !)
Outils - Développement
AutoSPInstallerInstallation « One Click »Remote et parallel Install avec prise en charges des LP et CUPossibilité d’ajout de fonctions personnalisées
Outils - Infrastructure
Developer DashboardAnalyse les performances de la page en coursPersonnalisable par code (Événements, Exceptions…)Projet Developer DashBoard Visualizer (CodePlex)
Outils - Infrastructure
Analyseur d’intégrité SharePointSurveille la batterie de serveursPossibilité de créer et déployer de nouvelles règles
Outils - Infrastructure
System Center Operations ManagerSupervise l’état de santé des serveurs SharePoint, Project et OWA.Surveille les services et alerteSupervise les performances
Outils - Infrastructure
SharePoint Diagnostic StudioRapports préconfigurésUtilisable à distance via Remote PSScénario de tests d’utilisation Visual Studio (Montée en charge…)
Outils - Infrastructure
Outils - Infrastructure
Questions ?