2009-04-01 Sol Linux 2009 - NACA -Didier Durand
-
Upload
didierdurand -
Category
Documents
-
view
129 -
download
0
description
Transcript of 2009-04-01 Sol Linux 2009 - NACA -Didier Durand
Projet NACASolutions Linux 2009
Didier Durand ([email protected])
Paris | 1er avril 2009
30.06.2007: mainframe vraiment stoppé !
Solutions Linux 2009 | Projet NACA | | 2
1. Présentation Publicitas / DD2. Origine / naissance du projet3. Stratégie générale de migration4. Conversion de l'application maison (pub2000)5. Bénéfices
• tangibles • intangibles
Agenda
NACA = New Architecture for Core Applications
ouNouvelle Architecture Centrale d'Applications
Solutions Linux 2009 | Projet NACA | | 3
• Régie publicitaire internationale basée à Lausanne (Suisse) spécialisée dans la presse (journaux & magazines) et Internet:• régie exclusive de 400 titres suisses• intermédiaire pour des milliers d'autres• 60%+ de la publicité presse suisse traitée
• Société de PubliGroupe (autres = annuaires, marketing, "custom publishing")
• CA 2008 : 1.12 milliard d'euros • 1'650 collaborateurs• présence dans 20+ pays• extensions vers le "All Media": TV, radio, cinéma, etc…
• Didier Durand, 44 ans, 15 ans chez PubliGroupe, actuellement resp. Architecture & Technologie pour Publicitas• blog: http://media-tech.blogspot.com
Publicitas - présentation
Solutions Linux 2009 | Projet NACA | | 4
• Système informatiques de Publicitas• 2 machines à coûts fixes : réseau + mainframe:
• Budget global limité:• en mauvaise conjoncture, c'est le budget des projets qui souffre• Or, projets avenir!• donc, préserver l'avenir restreindre le budget d'exploitation "tuer"
les systèmes à coûts fixes
Origines du projet
Moment de la décision NACA
Indice Publicitasdes dépenses publicitairesen Suisse
Solutions Linux 2009 | Projet NACA | | 5
Contexte applicatif:• applicatif maison de gestions des commandes / ordres
d'insertion dans la presse. 100% code source disponible• 1'500 utilisateurs internes• 750'000 transactions /jour & 800'000 pages /mois• travaux en batch nocturnes (270 types de documents)• 500 écrans applicatifs / 1'500 tables relationnellesAvant• Environnement Mainframe z800 (350 Mips) IBM / CICS /
COBOL / DB2• Réseau TCP/IP / émulation TN3270 • 4 millions de lignes de Cobol à transcoder (2'150
programmes)Après• cluster de serveurs Intel sous Linux Redhat• Java / Apache Tomcat / IBM UDB• n écrans HTML (+ javacript/AJAX & CSS)• 4 millions de lignes de Java
Application PUB 2000 - Avant / après NACA
Solutions Linux 2009 | Projet NACA | | 6
• Risque: vous n'êtes pas seul - Google, NASA, Boeing, Airbus, Areva, Wall-Street etc.. l'utilisent aussi à des échelles énormes
• Qualité: relire "la Cathédrale et le Bazar" de E. Raymond
• Performances: le RoadRunner (#1 au monde - 1.026 pétaflop) fonctionne sous Linux !
• Sécurité: la "sécurité par l'ignorance" (logiciels propriétaires) - La dissection par l'Open Source est bien plus solide
• Support: seulement les forums ? ou plus….. notre choix de la distribution RedHat avec son support professionnel
Application "critique" et Open Source
Solutions Linux 2009 | Projet NACA | | 7
0%10%20%30%40%50%60%70%80%90%
100%
Business case
• Le Logiciel IBM est le "point chaud"
• Un environnement plus compétitif est impératif
• Il aura un impact positif sur les logiciels tiers
• Hardware/périphériques ne représentent pas la priorité initiale on pourrait rester sur hardware mainframe
100% = n * millions CHF/an Analyse
Cpu
Périphériques
logiciels tiers
logiciels IBM(zOS, Cics, DB2, etc..
Passage à l'Open Source: 70%+ des cash-outs quasi-annulés !
Solutions Linux 2009 | Projet NACA | | 8
Serveurs Intel: la bonne surprise !
Progrès architecture Intel >> Progrès architecture mainframe(loi de Moore en pleine action !)
[volume x86 >> volume proceseurs mainframe)
Conséquences de la bascule Intel pour NACA: - forte réduction des coûts HW (aussi !)- architecture à croissance horizontale
source: intel
Solutions Linux 2009 | Projet NACA | | 9
1. Présentation Publicitas / DD2. Origine / naissance du projet3. Stratégie générale de migration4. Conversion de l'application maison (pub2000)
Agenda
(NACA = New Architecture for Core Applications)
Solutions Linux 2009 | Projet NACA | | 10
• Open Source = standards• En migrant vers le libre, on respecte naturellement les standards (de facto
ou de jure) de l'informatique: XML, J2EE, SOA, HTML, etc..
• Migration modernisation:• interface graphique pour tous les services systèmes (Webmin, etc.)• outils modernes et très "pointus"
• Nouvelles fonctions "bonus": qq. exemples• arrivée dans le monde Java / Linux ouvert: intégration globale beaucoup
plus simple (communication RPC synchrone et temps réel) • PDF très cher / compliqué sur le mainframe naturel sur Linux (permet
une digitalisation complète • Système d'archivage (Knowledge Tree) permet une recherche "full-text"• architecture à croissance horizontale plutôt que verticale plus de
décisions d'upgrade complexes• remplacement de fonctions maisons en Cobol par des packages Open
Source (tris, etc….)
Bénéfices "intangibles"
Solutions Linux 2009 | Projet NACA | | 11
• Les économies financières comme pilote:• les autres avantages de l'Open Source comme bonus• de tels gains que le projet s'autofinance au cours de sa durée
• Migration 100% iso-fonctionnelle:• les modifications applicatives "planteraient" le projet! (si, si…)
• Préserver les équipes en place:• un NACA-like ne peut se faire contre les experts (fidèles) du système en place• qui est mieux placer pour gérer après que ceux qui connaissent avant? (c'est
"juste une nouvelle technologie" - no big deal pour des ingénieurs-systèmes)• chance d'évoluer pour les équipes en place plan de formation solide• pas de "jeunes loups" contre les "vieux crocodiles"
• Pas de big-bang:• une infinité de petits pas plutôt de grands bonds (souvent fatals….)• réversibilité de chaque étape
• Migration bottom-up:• les fonctions système d'abord système d'impression• puis on "remonte" vers l'applicatif• les équipes système peuvent "se faire la main" sur leurs outils
• Automatisation maximum:• qualité• productivité des utilisateurs finaux
• Patience et opiniâtreté: 4 ans initialement prévus (4.5 ans au final)
Conduite du projet - Principes directeurs
Solutions Linux 2009 | Projet NACA | | 12
NACA - Après
Tomcat
Perl
Open Source Technologies Proprietary Technologies
New
New
New
New
Apache
New
Solutions Linux 2009 | Projet NACA | | 13
Origines du projet
Operating System MVS MVS
Transaction Manager CICS
Screen Management BMS
Database DB2
Batch Control JCL
Printing / Output Management PSF + Archie
System Admin TSO, JES, BMC, etc…
Tomcat
Perl
& Plugins
Cups
Apache
Linux
UDB
& Korn Shell
Legacy NACA
Solutions Linux 2009 | Projet NACA | | 14
Origines du projet
Operating System MVS MVS
Transaction Manager CICS
Screen Management BMS
Database DB2
Batch Control JCL
Printing / Output Management PSF + Archie
System Admin TSO, JES, BMC, etc…
Tomcat
Perl
& Plugins
Cups
Apache
Linux
UDB
& Korn Shell
Legacy NACA
Solutions Linux 2009 | Projet NACA | | 15
• Exécution rapide du projet pour les économies:• Mélange fonctionnel ("rengineering") / technologique interdit !
• Qualité du code homogène• aucune dépendance sur les hommes, leur forme du jour, ….
• Répétition de l’opération• fonctionnement à double COBOL / Java sur plusieurs mois (stabilité,
formation, etc….)• pas d’interruption longue de la maintenance fonctionnelle
• Valeur ajoutée supplémentaire:• génération automatisé de tests au moment du transcodage• Évolution massive d’architecture possible à tout moment (à l’épreuve de
la production…): la couche "système" peut être ré-architecturé sans modifier le nouveau source Java de l'application optimisation permanente durant la montée en charge.
• Outil maison suite à appel d'offres (très large) infructueux: toujours "un peu de manuel" le 100% automatique a été critique dans le projet (autant de fois que nécessaire…)
Transcodage automatique - Pourquoi / Comment
Solutions Linux 2009 | Projet NACA | | 16
Transcodage automatique - L'outil
Pub2000 CICS Inventory• 780 programs• 2’200’000 lines Cobol• 1’930 includes• 580 DB2 tables• 500 BMS maps
JavaProgram
(incl SQL)
XMLScreen
ContainingservletDBMS
“Cobol” support
SQL support
CICS Emulation
Display support
Tracing / logging
White BoxTesting
InternalObject
implementation
Cocoon & Apache
LexicalAnalysis
Syntax Analysis
Semantics Analysis
Cobolcopy
Cobolpgm
BMSdesc
Code Generation
Solutions Linux 2009 | Projet NACA | | 17
facteur essentiel de succès = migration progressive
2-3months
DRDAconnection
Time
Activity
Cobolon Cics
Javaon Tomcat
100%
0%
6-9months
• 100% of data on DB2• Cobol remains reference
Javabecomesreference
Dat
aM
igra
tio
n t
o
UD
B
MainframeSwitched
off
Tomcat
CICS DB2
ProgressiveMigration
Big Bang Avoidance = Success key !!
Instantaneousway backto old system
Solutions Linux 2009 | Projet NACA | | 18
Automated "blackbox" testing
Tomcat
CICS DB2
XMLScreenData
3270
XMLScreenData
HTML
COBOL
XMLScreenData
Transcoder orrun-time or Cobol
bug fixes
(1)
(2)
(3)
(4)when (1) & (3) different
Cumulative effect: -several thousand scenarios to be accumulated- run every night- used after migration when Java further maintained by people- very useful to validate system changes
Solutions Linux 2009 | Projet NACA | | 19
En Juillet 2008, la version 1.0 des outils de transcodage 100% automatique du projet ont été mis en Open Source:
• NacaTrans: transcodeur Cobol vers Java - 83'000 lignes de code source - 690 classes Java
• NacaRT: librairie d'exécution (verbes Cobol, accès SQL, émulation CICS, multiples optimisations d'exécution, etc.) - 153'000 lignes de code source - 890 classes Java.
• Licence GPL (NacaTrans) / LGPL (NacaRT)
• Version 1.1 publiée en Mars 2009 - d'autres à suivre!• 500+ téléchargements à ce jour - Projets pilotes en route dans
d'autres grands comptes.
• Voir http://media-tech.blogspot.com/2008/07/les-outils-du-projet-naca-de-publicitas.html
• Google Code: http://code.google.com/p/naca/
• Forum sur Google Groups: http://groups.google.com/group/naca-automated-cobol-to-java-transcoding
Les outils de NACA
Solutions Linux 2009 | Projet NACA | | 20
• Différents articles sur Media & Tech• 1: Description globale du projet:
http://media-tech.blogspot.com/2007/10/projet-naca-migration-mainframe-ibm.html
• 2: Trancodage automatique Cobol vers Java http://media-tech.blogspot.com/2007/10/projet-naca2-transcodage-automatique.html
• 3: Aspects techniques du projet http://media-tech.blogspot.com/2007/11/projet-naca3-prsentation-technique-et.html
• 4: Exemple de programme transcodé, intégration Eclipse http://media-tech.blogspot.com/2007/11/naca-4-exemple-de-programme-transcod-de.html
• 5: les outils NACA en Open Source: http://media-tech.blogspot.com/2008/07/les-outils-du-projet-naca-de-publicitas.html
Tous les détails (publiés) de NACA
Solutions Linux 2009 | Projet NACA | | 21
1. Présentation Publicitas / DD2. Origine / naissance du projet3. Stratégie générale de migration4. Conversion de l'application maison (pub2000)5. Conclusions
Agenda
(NACA = New Architecture for Core Applications)
Solutions Linux 2009 | Projet NACA | | 22
Points critiques:
• Le business case initial doit être clair: les avantages financiers énormes de l'Open Source sont la motivation la plus évidente directe du projet
• la progression à multiples petits pas et la réversibilité de chaque mutation sont essentielles
• les inventaires des fonctions (applicatives et système) en production doivent être 100% à jour nous aurions pu faire mieux….
• L'iso-fonctionnalité est un must: permet le transcodage automatisé et le fabrication quasi-gratuite de jeux de tests critiques au succès du projet
Conclusions (1)
Solutions Linux 2009 | Projet NACA | | 23
Bénéfices:
• Economies (vrais "cash-outs") de plusieurs millions d'euros / an
• Grande stabilité et excellentes performances (meilleures qu'avant!... loi de Moore)
• Un système technologiquement à l'état de l'art la base technologique pour bâtir le successeur de l'application PUB 2000 par reegineering progressif (création d'objets-métiers) … et sans stress (les économies sont déjà faites!)
• Construction d'un propre centre de backup (qq. serveurs…)
• Architecture à croissance horizontale avec très faibles incréments donc pas de décision pénible / procrastination
• des équipes systèmes et applicatives mutées à ces nouvelles technologies (pari humain réussi !)
Conclusions (2)
Solutions Linux 2009 | Projet NACA | | 24
PublicitasDidier Durand, Head of Architecture & TechnologyBusiness [email protected]: +41 79 212 21 53
Merci!