La gestion de la performance applicative dans des environnements complexes et distribués Juin 2011
Agenda Introduction Problématique Démarche Mise en œuvre Retour d expérience Crédit Agricole Questions & réponses 2
Agenda Introduction 3
Agenda Problématique et démarche 4
ESB Problématique SERVICES EXTERNES V M1 V M2 SERVICE 1 SERVICE 2 SERVICE 3 try { ResultSet r = new ResultSet(); r.fetchdata(dbconn, SELECT * )); log.info( fetched data ); } catch (Exception) { // TODO: handle later } Method 1 Method 2 DATA CENTER #1.NET Server Java Server DATA CENTER #1 Java Server Database BROWSE R INTERN ET WAN CLIENT RICHE Web Server.NET Server Java Server.NET Server Mainframe 5
ESB Utilisateur final! Problématique SERVICES EXTERNES V M1 V M2 SERVICE 1 SERVICE 2 SERVICE 3 try { ResultSet r = new ResultSet(); r.fetchdata(dbconn, SELECT * )); log.info( fetched data ); } catch (Exception) { // TODO: handle later } Method 1 Method 2 DATA CENTER #1.NET Server Java Server DATA CENTER #1 Java Server Database BROWSE R INTERN ET WAN CLIENT RICHE Web Server.NET Server Java Server.NET Server Mainframe 6
Problématique Actions DBA Réseau Test Dev Système Performance «task force»! 7
Problématique Réactions The Application is slow in your environment Test Réseau DBA Système Dev But all the system metrics look fine 8
Problématique Objectifs : identification des «root causes» probables : Contexte global du système : Système / Load / CPU / Mémoire Réseau Base de données Application, logs, etc Métriques «techniques» et «métiers». Dépendances applicatives (Mail, etc ) Agrégation & corrélation des informations. Donner les pistes et tendances. Remonter une environnement Mise en œuvre des correctifs! 9
Démarche Quels types de mesures?... Pour quels objectifs? 10
Démarche Vision globale de l architecture réelle 11
Mesures «événementielles» - Orientées «techniques» et «métiers»: - Entry Point / temps de réponse: - HTTP request Démarche - Couches «services» et «transactionnelles» / Interfaces. - Règles de corrélation spécifiques (techniques / business). 12
Mesures «cycliques» Contextuelles - OS dépendant / VM impact / Réseau / IO... - JVM (Mem, GC, Sessions, Pools, etc ) Démarche 13
Démarche Cycle de fabrication et de test continu DEV QA PROD 14
Agenda Mise en œuvre 15
Mise en œuvre Attentes : - Référentiel de métriques «techniques» et «métiers» centralisé. - Règles techniques et métiers. (SLA & alerting). - Ouvert & paramétrable (DEV, Q&A, PROD). - Capture du contexte (infrastructure, ) - Support Batch et Interactif et multi-environnements. - Transactions distribuées et asynchrones de bout en bout - Technologies hétérogènes. - «Code indépendant». - Reporting & analyses : - Corrélation techniques et métiers. - Tendances globales & ciblées. 16
Mise en œuvre Investir dans une suite ou solution maison 17
Solution technique maison Semble plus économique Semble plus flexible et adaptée aux besoins spécifiques. Plus moderne Maîtrise en interne Compétences pointues. Corrélations et reporting manuels. Exploitation et maintenance coûteuse (FW). Compliquée dans un contexte distribué et hétérogène. Possibilité de comparaison difficile. 18
Solution packagée Couverture «complète». Référentiel unique sur tout le cycle de vie. Information partagée! Mesures et alerting Techniques & Business Analyse, corrélation et reporting intégré. Drill down (Ref X, hotspot, top-down, bottom-up ) Comparaison comportementale et contextuelle. Paramétrable et non intrusif. Support distribué (ID transactionnels). Ouvert & communauté Semble moins économique? Souvent peu simple d exploitation. 19
Conclusions Penser PRODUCTION! Partager un référentiel de métrique commun Rester simple et pragmatique dans les choix de testing Se concentrer sur les points clés du business! Amélioration constante 20
Agenda Retour d expérience Crédit Agricole Mr HalimTabet 21
De lointaines et prestigieuses origines 1858 : Compagnie Universelle du Canal Maritime de Suez fondée par Ferdinand de Lesseps 1956 : Compagnie Financière de Suez suite à la nationalisation du Canal de Suez 1959 : Banque de Suez 1965 : Banque de Suez et de l'union des Mines 1875 : Banque de l'indochine 1894 : Caisses locales puis régionales du Crédit Agricole 1926 : CNCA Caisse Nationale du Crédit Agricole 1863 : Crédit Lyonnais fondé par Henri Germain 1945 : nationalisation du Crédit Lyonnais 1975 : Banque Indosuez 1996 : Crédit Agricole Indosuez 1988 : loi de mutualisation, la CNCA devient Société Anonyme, propriété des Caisses régionales et des salariés 2001 : en décembre la CNCA devient Crédit Agricole SA, cotée en Bourse 1999 : privatisation du Crédit Lyonnais 2005 : Naissance de Crédit Agricole (Suisse) SA par la fusion de Crédit Agricole Indosuez (Suisse) SA et Crédit Lyonnais (Suisse) SA 2003 : OPA Mixte de Crédit Agricole sur le Crédit Lyonnais et naissance de Calyon en 2004, par fusion de Crédit Agricole Indosuez et de la banque de financement et d investissement du Crédit Lyonnais
Un Groupe solide à tous les niveaux 45.2 % 6.2 2 e en France 7 e en Europe 13 e mondial 2 e en France 3 e mondial en termes de bilan en termes de fonds propres Tier 1 (The Banker, 2010) (The Banker, 2010)
Crédit Agricole Suisse: une filiale puissante du Groupe CREDIT AGRICOLE SUISSE Chiffres clés au 30 juin 2010 Fonds propres (Tier 1): CHF 1,5 milliards Total du bilan: CHF 27,5 milliards Actifs sous gestion: CHF 49,7 milliards Revenu d exploitation: CHF 344 millions Bénéfice brut: CHF 142,3 millions Bénéfice net consolidé: CHF 85,5 millions Crédit Agricole SA détient à 100% Crédit Agricole CIB détient à 100% Crédit Agricole (Suisse) SA* Nombre d employés 1 350 Crédit Agricole Suisse est une filiale détenue à 100% par CA CIB. Le reporting de ses résultats financiers est fait auprès de Crédit Agricole S.A. *Banque de droit suisse soumise à la loi fédérale sur les banques et à la surveillance de la Commission fédérale des banques
Les implantations de banque privée du Groupe Crédit Agricole Crédit Agricole Suisse a développé son réseau à travers 5 villes en Suisse et 10 à l étranger.
Crédit Agricole Private Banking Services (CA-PBS) CA - Private Banking Services Plus de CHF 110 milliards d actif clientèle gérés 500 collaborateurs expérimentés 24 Banques clientes 90% de l activité de CAIPB traitée à travers S2i No 1 du BPO Banque Privée en Suisse 3 000 utilisateurs front et back-office 8 entités du métier Banque Privée du Groupe Credit Agricole en production sur la plate-forme S2i (+ 2 projets en cours) CA-Suisse CA-Luxembourg CFM Monaco CA-Singapore CA-Bahamas CA Financements Suisse CA-Hong-Kong (*) CAVMC Belgique 16 Banques Privées externes au groupe CA opérant à travers notre plate-forme (*) Sujet à autorisation réglementaire
CA-PBS: un centre de logistique de pointe Principal centre de services en charge de traitement informatique et back-office des opérations de Banque Privée Internationale du Groupe Crédit Agricole Offre complète de sous-traitance informatique et back-office pour d autres banques en Suisse comme à l étranger Plus de vingt banques clientes représentant au-delà de 3 000 utilisateurs actifs Un centre doté des meilleures ressources administratives Certification ISO 9001-2008 et SAS 70 Type II Plus de 100 milliard de fortune clientèle gérés à travers le système S2i
CA-PBS à Lausanne
Le département informatique (180 p.)
Rôle du département informatique Installation, évolution et maintenance de l infrastructure technique Support bureautique Développements et maintenance du système S2i Assistance téléphonique aux utilisateurs (Help Desk) Exploitation des systèmes 24h/24 Plan de Continuité des Activités Gestion de projets informatiques et assistance à l évolution des métiers Assistance à la migration de nouveaux sites
CA-PBS: le logiciel S2i Approche modulaire et cohérente, plutôt qu un assemblage de package Couverture fonctionnelle très complète Cohérence des différents modules fonctionnels : traitement des opérations (back-office), front office, portfolio management, suivi des risques, compliance, MIS et CRM Disponible en interrogation 24h/24h Reporting clientèle en 10 langues (langues européennes + chinois) Système multi-langues pour les utilisateurs : français, anglais, italien Multi-sites Multi-réglementations : Suisse, Luxembourg, Singapour, Nassau (Monaco/France en cours) Evolution technologique du logiciel en cours
Produit de performance Pourquoi un produit de performance? - Maîtriser la décomposition des temps de performances en JAVA (J2EE) Pourquoi Dynatrace? - Concept facile à utiliser. - Une vue détaillée du flux avec une consommation CPU précise pour permettre les développeurs d améliorer la performance des programmes. Apport pour Crédit Agricole - Identifier précisément les goulots d étranglements dans le code JAVA, puis optimiser le code concerné - Meilleure maîtrise des performances lors de nouveaux développements. - Limiter le nombre d utilisateurs. 32
Architecture Dynatrace CA-PBS WAS DEV AIX WAS SIM AIX WAS EXP1 AIX WAS EXP2 AIX WAS EXP3 AIX WAS DEV AIX WAS SIM AIX WAS EXP1 AIX WAS EXP2 AIX WAS EXP3 AIX dynatra ce Serveur DEV DB2 DBDEV dynatra ce Serveur SIM DB2 DBSIM Serveur Linux Site Vennes dynatra ce Serveur EXP DB2 DBEXP Utilisateur http Java Web Start avec authentification Windows AD Site Backup
Info techniques Chaque serveur Dynatrace a sa propre base DB2 Nous conservons 5 semaines de données détaillées, 6 mois de données moyennes et 5 ans de données consolidées Les utilisateurs habilités a se connecter a chaque serveur sont explicitement nommés dans chaque environnement et le contrôle de sécurité se fait sur l AD Windows en mode LDAP On utilise uniquement l interface Java Web Start qui permet de ne pas installer de client lourd sur les poste de travail et de garantir que le client a toujours la bonne version du client par rapport au serveur Nous avons un ensemble de Dashboard commun pour le développement et l exploitation qui sont identiques sur tous les environnements. Chaque utilisateur suivant son niveau d autorisation peut ensuite de créer des Dashboard privés.
Agenda Questions 35