La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure...

37
La gouvernance, ou comment rapprocher les équipes de développement et d’infrastructure Sébastien Levert & Julien Stroheker / Directeurs techniques

Transcript of La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure...

Page 1: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

La gouvernance, ou comment rapprocher les équipes de

développement et d’infrastructure

Sébastien Levert & Julien Stroheker / Directeurs techniques

Page 2: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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.

Page 3: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'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

Page 4: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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 ?

Page 5: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Environnements

Agenda

Rôles et responsabilité

s

Meilleures pratiques

Opérations

Solutions

Outils

Page 6: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

IT Pros hate customizations, Developers hate deployment process

Jeremy ThakeMark Rhodes

Rôles et responsabilités

Page 7: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

É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

Page 8: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 9: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Environnements

Page 10: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 11: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 12: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Meilleures pratiques

Page 13: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 14: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 15: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Solutions

Page 16: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 17: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Solutions - Développement

Paquetages (WSP)Anomalies

DéveloppeursTesteursClientsAdministrateursGestionnaires de livraison

Team Foundation

Server

Développeurs Pré-production

ProductionIntégration

Page 18: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 19: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Opérations

Page 20: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 21: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 22: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 23: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Outils

Page 24: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 25: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 26: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 27: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 28: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 29: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 30: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

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

Page 31: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

AutoSPInstallerInstallation « One Click »Remote et parallel Install avec prise en charges des LP et CUPossibilité d’ajout de fonctions personnalisées

Outils - Infrastructure

Page 32: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Developer DashboardAnalyse les performances de la page en coursPersonnalisable par code (Événements, Exceptions…)Projet Developer DashBoard Visualizer (CodePlex)

Outils - Infrastructure

Page 33: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Analyseur d’intégrité SharePointSurveille la batterie de serveursPossibilité de créer et déployer de nouvelles règles

Outils - Infrastructure

Page 34: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

System Center Operations ManagerSupervise l’état de santé des serveurs SharePoint, Project et OWA.Surveille les services et alerteSupervise les performances

Outils - Infrastructure

Page 35: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

SharePoint Diagnostic StudioRapports préconfigurésUtilisable à distance via Remote PSScénario de tests d’utilisation Visual Studio (Montée en charge…)

Outils - Infrastructure

Page 36: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Outils - Infrastructure

Page 37: La gouvernance, ou comment rapprocher les équipes de développement et d'infrastructure (Conf'SharePoint)

Questions ?