|
En deux journées intenses, un état de l’art complet des meilleures pratiques en matière de performance, en passant en revue tous les aspects : l’architecture applicative, l’infrastructure, la gestion de projet, l’organisation ou encore l’intégration et l’exploitation.
- Quels principaux leviers permettent d’agir sur les niveaux de performance ?
- Quelles architectures pour quels niveaux de performance ?
- Quel impact des approches Green IT et de la virtualisation sur la performance ?
- Pourquoi et comment mettre en œuvre des solutions de clustering ?
- Comment peut-on généraliser les tests de performance ?
- Comment aborder un projet de monitoring ?
- Quels outils choisir et comment les utiliser au mieux ?
- Quelle crédibilité pour les outils de production Open Source ?
- Comment vendre et mettre en place une gestion préventive des problèmes de performance ?
Basé sur de nombreux retours d’expériences et illustré par de multiples cas concrets, ce séminaire s’adresse à tous les architectes et consultants qui interviennent sur des applications critiques et recherchent des solutions éprouvées et rapidement applicables sur leurs projets.
|
 |
Les fondements de la performance |
|
- Les quatre piliers de la performance
- La scalabilité ou capacité de montée en charge.
- La haute disponibilité
- Comment exprimer la disponibilité d’une application ?
- Qu’est-ce que la haute disponibilité en informatique de gestion ?
- Quelles sont ses conséquences sur les coûts ?
- L’impact des différentes technologies
- Où en est Java/J2EE en termes de vitesse de traitement ?
- Comment mettre en œuvre .NET sur des applications critiques ?
- Quels niveaux de performance pour PHP ?
- L’organisation
- Les différents styles de gouvernance : monarchie business, monarchie IT, duopole, etc.
- L’impact des styles de gouvernance sur la performance du SI.
- Les nouveaux risques liés à l’externalisation des études et de la production. Recommandations pour éviter les problèmes courants.
|
 |
L’influence des pratiques de gestion de projet |
|
- L’approche curative
- Le tuning des plates-formes.
- Les démarches de refactoring.
- Les conséquences sur les coûts et les délais.
- L’approche préventive
- Sortir du cycle infernal audit/refactoring/réécriture.
- Comment formaliser les exigences de performance ?
- Des check-lists pour chaque étape du projet.
- Le rôle clé des tests et de la phase d’intégration.
- Quel ROI pour l’approche préventive ?
|
 |
Les architectures applicatives |
|
- Modèle en couches et types d’architectures
- Les conséquences du non-respect du modèle en couches.
- Des systèmes centraux aux architectures n-tiers, des niveaux de performance très variables.
- Où trouve-t-on les problèmes de performance ?
- Le rôle central des bases de données.
- Quel est l’impact des solutions de mapping objet/relationnel sur la performance des accès aux données ?
- Les problèmes spécifiques aux architectures distribuées.
- L’influence des modes de communication et de transaction
- Échanges synchrones et asynchrones.
- Niveau d’isolation, modèles transactionnels et niveaux de performance.
- Les écueils courants
- L’antipattern mitrailleuse.
- Comment les détecter : solutions pratiques et retours d’expériences.
- Les architectures orientées services ou SOA
- Les contraintes des protocoles SOAP et REST.
- La question de la granularité des services.
- L’impact des réseaux et des infrastructures de médiation (EAI, ESB) sur la performance.
- Présentation des métriques de référence sur les latences des principaux protocoles.
- Retours d’expériences sur les architectures SOA.
|
 |
L’infrastructure matérielle |
|
- Le réseau
- Principales propriétés des réseaux.
- Les huit idées fausses sur l’utilisation des réseaux dans les applications distribuées. Comment les combattre efficacement sur les projets ?
- Le stockage
- Lequel choisir ? Dans quels cas ? Pour quels bénéfices ?
- Les serveurs
- CPU multicœurs vs serveurs multi-CPU. Principales propriétés.
- Les différentes formes de virtualisation et leurs conséquences. Quels bénéfices pour les performances ? Les principales solutions du marché : VMware, MS Virtual Server, Xen, etc.
- La consolidation, la virtualisation et les approches Green IT
- Comment sortir du modèle : une application, un OS, un serveur ?
- Le Green IT est-il compatible avec des fortes contraintes de performance ?
- Les étapes d’une démarche de consolidation. Quels bénéfices ?
- Les cinq types de solutions de virtualisation. Pourquoi virtualiser ? Pour quel usage ?
- L’impact de la virtualisation sur les performances.
|
 |
L’infrastructure logicielle |
|
- Les formes de scalabilité
- La scalabilité horizontale.
- La scalabilité verticale.
- La scalabilité diagonale.
- Avantages et inconvénients, domaines d’application respectifs.
- Les différents types de clusters
- Les clusters actif/passif.
- Les clusters actif/actif.
- Les formes hybrides (N+1, N+M, N-to-1, N-to-N).
- Leurs domaines de prédilection.
- Comment choisir la bonne formule ?
- Les bases de données
- Les différentes variantes de clustering et le positionnement des principaux éditeurs : Oracle, IBM, Microsoft, MySQL, Postgres, etc.
- Comment choisir entre réplication, partitionnement et clustering ?
- Les serveurs d’application
- J2EE et les clusters. Les visions de BEA, IBM, JBoss et les autres.
- Les techniques de répartition de charge : solutions logicielles et matérielles. Avantages et inconvénients.
- Les différentes formes de failover.
- Les clusters de machines virtuelles avec TerraCotta. Démonstration.
- Les solutions de grid computing (IBM, GigaSpace, Platform, etc.).
|
 |
La phase d’intégration |
|
- Le dépistage des problèmes de performance
- Les goulots d’étranglement (bottlenecks). Comment les diagnostiquer et les traiter ?
- Les principaux modèles de comportement des applications distribuées (web, n-tiers).
- La surconsommation et les fuites de mémoire. Techniques de détection et solutions pratiques.
- Influence des nettoyeurs de mémoire (garbage collectors) sur les performances. Exemples.
- Les tests de charge ou métrologie
- Bénéfices et coûts. Pour quels types d’applications ?
- De la capture des scénarios utilisateurs à la construction des jeux de données. Quelle méthodologie retenir ?
- Présentation d’un cas concret et analyse des résultats.
- Panorama des outils du marché : Mercury, Compuware, Borland, etc.
- Quelle place pour les outils Open Source Open-STA et JMeter ?
- La gestion des passages en production
- Le packaging des applications.
- Les bonnes pratiques en matière de configuration et de gestion des logs.
- L’émergence des outils de release management : le point sur les principales offres (IBM, Quest Software, Microsoft, etc.). Quels bénéfices en attendre ?
- La gestion des bascules. Conseils pratiques pour l’arrêt/démarrage des services et les retours arrières.
|
 | Le monitoring et le capacity planning |
| - Le monitoring technique
- La mesure de la disponibilité.
- La mesure des temps de réponse globaux et détaillés.
- Fréquences de collecte, volumes de données et délais de rétention.
- Réagir aux événements avec la supervision. Les notions de seuil et les règles de franchissement.
- Panorama des offres des éditeurs : IBM Tivoli, HP OpenView, BMC Patrol, Quest FogLight, etc.
- Que penser des outils de monitoring Open Source ? Les cas de Nagios, Zenoss et Hyperic.
- Le monitoring des activités métier
- Le Business Activity Monitoring (BAM) et l’informatique décisionnelle.
- Un nouvel enjeu : la surveillance des flux dans les architectures orientées services.
- La capture de l’expérience utilisateur, enjeux et moyens.
- Tour d’horizon des outils disponibles : Systar, Actional, Apama, Amberpoint, etc.
- Comment choisir les indicateurs les plus pertinents ?
- Monitoring vertical, monitoring horizontal, hypervision.
- Les principaux indicateurs techniques et business.
- Indicateurs simples, indicateurs composites et indicateurs dérivés.
- Relier les indicateurs aux contrats de niveau de service (SLA).
- Le reporting : qui utilise les informations de monitoring ? Pour quoi faire ?
- Modéliser la performance pour anticiper les besoins
- Les lois universelles de la scalabilité.
- Les techniques basées sur les calculs de files d’attente.
- Une approche pragmatique : le “Guerilla Capacity Planning”.
|