24
Projet NACA Solutions Linux 2009 Didier Durand ([email protected]) Paris | 1er avril 2009 30.06.2007: mainframe vraiment stoppé !

2009-04-01 Sol Linux 2009 - NACA -Didier Durand

Embed Size (px)

DESCRIPTION

Présentation du projet NACA à la conférence Solutions Linux 2009 (Paris - France)

Citation preview

Page 1: 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é !

Page 2: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 3: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 4: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 5: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 6: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 7: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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 !

Page 8: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 9: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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)

Page 10: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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"

Page 11: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 12: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

Solutions Linux 2009 | Projet NACA | | 12

NACA - Après

Tomcat

Perl

Open Source Technologies Proprietary Technologies

New

New

New

New

Apache

New

Page 13: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 14: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 15: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 16: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 17: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 18: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 19: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 20: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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

Page 21: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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)

Page 22: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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)

Page 23: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

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)

Page 24: 2009-04-01 Sol Linux 2009 - NACA -Didier Durand

Solutions Linux 2009 | Projet NACA | | 24

PublicitasDidier Durand, Head of Architecture & TechnologyBusiness [email protected]: +41 79 212 21 53

Merci!