Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Let’s do IT differently !

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 77 Anzeige

Let’s do IT differently !

Herunterladen, um offline zu lesen

"do: IT" is the first executable LDA (Langage de Description des Algorithmes / Algorithm Description Language) designed to meet the capabilities promoted by the "Platform-oriented Architecture" and the "System of Platforms" composition design.
"do:IT" is all-in-one Language : DSL (for Algorithme Description), ADL (Architecture Description Language / Architecture Repository), CMDB Description, IaC (Infrastructure as Code)

"do: IT" is the first executable LDA (Langage de Description des Algorithmes / Algorithm Description Language) designed to meet the capabilities promoted by the "Platform-oriented Architecture" and the "System of Platforms" composition design.
"do:IT" is all-in-one Language : DSL (for Algorithme Description), ADL (Architecture Description Language / Architecture Repository), CMDB Description, IaC (Infrastructure as Code)

Anzeige
Anzeige

Weitere Verwandte Inhalte

Ähnlich wie Let’s do IT differently ! (20)

Aktuellste (20)

Anzeige

Let’s do IT differently !

  1. 1. La mise au point de votre système d’information « L'innovation est cette incroyable intersection entre l'imagination d'une personne et la réalité dans laquelle elle vit » (Ron Johnson) Rivo RASOLOFOMANANA Tél. 06 22 24 12 84 rivo@rasolofomanana.com
  2. 2. La mise au point de votre système d’information « DO:IT » POUR QUI ? « DO:IT » LES ORIGINES « DO:IT » C’EST QUOI ? BONUS
  3. 3. La mise au point de votre système d’information POUR SE CONCENTRER SUR L’ARCHITECTURE CONCRÈTE CRÉATION DE ARCHITECTURER ET IMPLÉMENTER
  4. 4. La mise au point de votre système d’information ARCHITECTURERIMPLEMENTER Pratiquer l’architecture avec du concret (1/8) Commande et Interaction, Langage humain (bot), Automatisation et Domotique Objets Distribués et Connectés (Activable Object, Jini, Internet of Things) Agrégation de service Desktop, Espace de travail intégré, Interconnexion d’application Mobile ou Embarquée Portails et Gestion de contenu (Intranet, Extranet, Internet), (Portlet, Widget), PAC Presentation – Abstraction – Control (Hierarchical MVC Agents) C P A MVC Model – View – Controller (I & II) M V C MVP Model – (View) – Presenter (Presenter first) MV P MVVM Model – View (ViewModel) (View & Model coupling) MV V M
  5. 5. La mise au point de votre système d’information ARCHITECTURERIMPLEMENTER Pratiquer l’architecture avec du concret (2/8) EAI Enterprise – Application – Integration (Component – Toolkits) ESB Enterprise – Service – Bus (Service – Toolkits) ETL Extraction – Transform – Load (Data Toolkits) Data Service Component API Management Managed (Developers API and Service Toolkits) Serverless Activable Object (with ORB) & Function as a Service (with Cloud) Bus et Proxy de Service (Abstraction, Héritage, Agrégation, Composition), Consommation et Souscription de Service, Service de Push et de Callback INTEGRATION & ECHANGE Capteurs (Sensors, Observer, Listener), Transfert et Transport, Communication et Interconnexion, Collecte et Réception, Export et Partage Objets Distribués et Connectés (Activable Object, Jini, Internet of Things)
  6. 6. La mise au point de votre système d’information Pratiquer l’architecture avec du concret (3/8) SEP Simple – Event – Processing (Elementary Events) ESP Event – Streaming – Processing (Event as Stream) CEP Complex – Event – Processing (with Complex Rules) OLEP OnLine – Event – Processing (Event flow and Logs) Messages (Information – Event – Notification) Message-oriented Toolkits (Message, Event, Notification : Mail, SMS, iOS APNS, Android GCM, MNPS, …), Consommation et Souscription de Message, (Message-oriented Middleware Abstraction, Message-based Transport) Traitement et Transformation en Masse (Bulk), au Fil de l’eau et Evénementiel (SEP, ESP, CEP, OLEP) INTEGRATION & ECHANGE Capteurs (Sensors, Observer, Listener), Transfert et Transport, Communication et Interconnexion, Collecte et Réception, Export et Partage Unified Lamba & Kappa patterns ARCHITECTURERIMPLEMENTER
  7. 7. La mise au point de votre système d’information ARCHITECTURERIMPLEMENTER Pratiquer l’architecture avec du concret (4/8) DATA SPACES Data Storage et Data Grid (Database, Media, Cache) Bus et Proxy de Service (Abstraction, Héritage, Agrégation, Composition), Consommation et Souscription de Service, Service de Push et de Callback Traitement et Transformation en Masse (Bulk), au Fil de l’eau et Evénementiel (SEP, ESP, CEP, OLEP) Service EventState
  8. 8. La mise au point de votre système d’information ARCHITECTURERIMPLEMENTER Pratiquer l’architecture avec du concret (5/8) DCA Database-centric Architecture (Schema-full and Schema-less Data Structure and Access) ECL & DPL Enterprise Control Language & Data-centric Programming Language (DDL, DML, DQL, DCL, TCL) DDP Data-driven Programming (Abstraction Data Types and Processing Patterns) Centralized Data DATA LAKE Centralisation Ingérées (Raw : File, Message , Record), Traitées (Processed : Enhanced, Optimized), Exposées et Publiées (Exposed, Published) Native Data DATA SPACES Data Storage et Data Grid (Database, Media, Cache) Proxied Data DATA FEDERATION Mirroring, Proxy, Virtualisation, Mise en cache (Local, Near, Remote) DATA CAPACITIES AND POLICIES MANAGEMENT (Référencement + Capacités d’Abstraction, d’Héritage, de Grappe et de Liaison) Traitement et Transformation en Masse (Bulk), au Fil de l’eau et Evénementiel (SEP, ESP, CEP, OLEP) INTEGRATION & ECHANGE Capteurs (Sensors, Observer, Listener), Transfert et Transport, Communication et Interconnexion, Collecte et Réception, Export et Partage
  9. 9. La mise au point de votre système d’information ARCHITECTURERIMPLEMENTER Pratiquer l’architecture avec du concret (6/8) Calcul et Evaluation, Moteur de règle et Evaluation de décision, Intelligence Artificielle, Validation (Blockchain*), Parallélisme et Distribution, Grille et Espace de calcul Distributed Computing (High-Performance Computing, Map/Reduce, Spark, Tez, …) Parallel Computing (Multi-Processing, Message Passing Interface, Parallel Virtual Machine)
  10. 10. La mise au point de votre système d’information ARCHITECTURERIMPLEMENTER Pratiquer l’architecture avec du concret (7/8) Gestion de Modèle, de Flow et de Dossier, Instanciation et Orchestration, PVM Wrapper (BPM & ACM) BPM Business Process Management (Process-centric Management / How ?) Flow ACM Advanced Case Management (Case-centric Management / What ?) ……… ……… ………
  11. 11. La mise au point de votre système d’information Pratiquer l’architecture avec du concret (8/8) CONTRAINTES & POLITIQUES DE SECURITE Sécurité Intrinsèque : Identification, Authentification, Habilitation Sécurité du Système d’Information : DICT/P (Disponibilité, Intégrité, Confidentialité et Trace/Preuve), Sureté de Fonctionnement Industriel : FMDS (Fiabilité, Maintenabilité, Disponibilité et Sécurité), Sécurité bancaire : PCI-DSS (Payment Card Industry - Data Security Standard) SOLUTIONS Application intégrée, Package logiciel, Cloud (SaaS, PaaS), Conteneur d’exécution, Système d’exploitation INFRASTRUCTURE Hosting, Cloud (IaaS), Space-based Infrastructure, Appliance, Serverless, Infrastructure as Code, Résilience et PRA MANAGEMENT Session, Transaction et Contexte, Catalogue et Découverte, Flow et Audit, Gestion des Erreurs, Administration, Cycle de vie, Supervision, Ordonnancement, QoS, Sauvegarde et Archivage, Servitude d’Intégration
  12. 12. La mise au point de votre système d’information
  13. 13. La mise au point de votre système d’information Récapitulation des 20 ans : 1998 - 2018 (1/2) DATA PLATFORM COMPUTING PLATFORM INTERACTION PLATFORM INTEGRATION PLATFORM PROCESSING PLATFORM
  14. 14. La mise au point de votre système d’information Récapitulation des 20 ans : 1998 - 2018 (2/2) PROOF & REALISATIONARCHITECTUREAUDIT & CONSEIL BANQUE & ASSURANCE TELECOM & MEDIA TRANSPORT ENERGIE & INDUSTRIE SERVICES GRANDE DISTRIBUTION PLATEFORMES APPLICATIVES Par type DATA PROCESSING COMPUTING INTEGRATION INTERACTION 20 RETOUR D’EXPÉRIENCE ET DE CAPITALISATION DES PRINCIPES ET DES PRATIQUES 25 38 36 50 27 11 32 6 34 4 26 2 7 4 7
  15. 15. La mise au point de votre système d’information PLATEFORME APPLICATIVE Regroupant les composants applicatifs offrant des capacités applicatives (génériques, abstraites ou extensibles) attendues par une catégorie d’usage DATA PROCESSING COMPUTING INTEGRATION INTERACTION Concevoir et Construire des Plateformes Applicatives pour les Usages (1/2) USAGE APPLICATIF OPERATIONNEL Gestion et Opération (Client, Contrat, Vente, …) USAGE APPLICATIF DECISIONNEL Pilotage et Reporting (BI, BAM, Stats, …) USAGE APPLICATIF EXPERIMENTAL Experimentation (Simu, Data Science, IA, …) « Platform-oriented Architecture » Démarche visant à orienter le Système d’Information à construire des plateformes applicatives afin de rationnaliser le coût et les efforts
  16. 16. La mise au point de votre système d’information PLATEFORME LOGICIELLE Regroupant les composants logiciels permettant d’implémenter les composants de chaque type de plateforme applicative INFRASTRUCTURE DE PLATEFORME Regroupant les composants d’infrastructure informatique et réseau assurant l’hébergement et l’exécution des composants applicatifs et logiciels SI DIGITAL Concevoir et Construire des Plateformes Applicatives pour les Usages (2/2) « Platform-oriented Architecture » Démarche visant à interconnecter différents systèmes de l’IT afin de construire un Système d’Information Digital PLATEFORME APPLICATIVE Regroupant les composants applicatifs offrant des capacités applicatives (génériques, abstraites ou extensibles) attendues par une catégorie d’usage DATA PROCESSING COMPUTING INTEGRATION INTERACTION USAGE APPLICATIF OPERATIONNEL Gestion et Opération (Client, Contrat, Vente, …) USAGE APPLICATIF DECISIONNEL Pilotage et Reporting (BI, BAM, Stats, …) USAGE APPLICATIF EXPERIMENTAL Experimentation (Simu, Data Science, IA, …) CONNECTED INFRASTRUCTURE CONNECTED APPLICATION CONNECTED INFORMATION CONNECTED BUSINESS CONNECTED STRATEGY CONNECTEDIT
  17. 17. La mise au point de votre système d’information Industrialiser ▪ L'émergence et la vulgarisation de nouvelles technologies et de nouveaux concepts, telles que le Big Data, l’IoT, le Cloud, l’IA, semblent nous donner de nouvelles perspectives. Mais est-ce nous sommes prêts à les mettre en œuvre jusqu’à les industrialiser ? ▪ Est-ce que nous sommes vraiment motivés par les objectifs visés par l'industrialisation ? ou Est-ce que nous pratiquons seulement la « soi-disant méthode d'industrialisation » ou le « fameux process d'industrialisation » ? ▪ Est-ce que ce « fameux process » est vraiment adapté à toutes les éventualités ? Parfois nous essayons d’adapter les éventualités au « process », mais en vain .... Ce type d’emprise est dû par la non maîtrise de notre méthode car si nous la maîtrisons vraiment, nous serons capable de l’adapter tout en veillant aux objectifs visés, et là nous restons maître de notre « process ». Mais malheureusement, on choisit de ne pas adapter sous prétextes de « ne pas traiter au cas par cas ». Et là, on risque de laisser notre IT en tant que « centre de coût mais non pas un centre de valeur ». « En améliorant de manière durable et mesurable la performance de ses processus, l’IT gagne en crédibilité avec les métiers en répondant à leurs attentes et saisit l’opportunité de faire sa transformation de centre de coût vers centre de valeur ». Journal du Net
  18. 18. La mise au point de votre système d’information COACHING & FORMATION Former et Accompagner + 20 ANS D’EXPERIENCE PROOF & REALISATION Prouver et Réaliser ARCHITECTURE Concevoir et Formaliser AUDIT & CONSEIL Constater et Conseiller PLATEFORMES APPLICATIVES DATA PROCESSING COMPUTING INTEGRATION INTERACTION PLATFORM MANAGEMENT PLATFORM INFRASTRUCTURE L’offre « Application Platform Factory » (1/8)
  19. 19. La mise au point de votre système d’information L’offre « Application Platform Factory » (2/8) PROCESSING PLATFORM Prepare TransformEnhance Consolidate Submit | Synchronize | Control INTEGRATION PLATFORM Import Receive Export Publish Observe Invoke Expose | Compose | Route INTERACTION PLATFORM Portal Desktop Connected CommandEmbeddedMobile PLATFORM INFRASTRUCTURE Operating Containerization VirtualizationClustering ResourcingPartitioning COMPUTING PLATFORM Analyze Evaluate Validate Learn Suggest Adjust PLATFORM MANAGEMENT Deploy | Activate Configure Monitor Secure Backup | RecoverAuditSchedule DATA PLATFORM Proxied Data Centralized Data Native Data Repository | Design Runtime | Audits | Logs Mise en place d’une boîte à outils de construction de « Plateforme Applicative » ▪ Multi-layered Architecture (MLA) ▪ Interaction-oriented Architecture (IOA) ▪ Service-oriented Architecture (SOA) ▪ Event-driven Architecture (EDA) ▪ Process-oriented Architecture (POA) ▪ Business Process Architecture (BPA) ▪ Data-centric Architecture (DCA) ▪ Space-based Architecture (SBA) ▪ Grid Computing Architecture (GCA) System of Platforms Platform-oriented Architecture
  20. 20. La mise au point de votre système d’information L’offre « Application Platform Factory » (3/8) DEVELOPPER Implémentation & Correction TESTER Test & Recette INTEGRER Intégration & Qualification DEPLOYER Déploiement & Vérification OPERER Maintien en Condition Opérationnelle OPTIMISER Performance & Robustesse SECURISER Sécurité & Audit CONCEVOIR Architecture La construction d’une plateforme applicative est en soit le fruit d’une réflexion sur la rationalisation des efforts et des coûts. C’est donc dans notre intérêt que cette plateforme applicative soit : « Réalisable » dans un coût rationnel, « Compréhensible » et « tenable » architecturalement, « Maintenable » et « modulable » dans le temps et face aux nouveaux besoins, « Exploitable » et « opérable » à toute éventualité, « Performante », « robuste » et « sûre ».
  21. 21. La mise au point de votre système d’information L’offre « Application Platform Factory » (4/8) AUDIT & CONSEIL Conseil sur les apports de plateforme applicative DEFINITION & MOTIVATION Plateforme Applicative et leurs Usages, Bénéfices et Gains ENJEUX – PRINCIPES – PRATIQUES Besoins d’usages et Enjeux de la plateforme, Principes et Pratiques d’intégration dans le Système d’Information, Niveau de maturité de la plateforme existante et la cible (Minimum Value Product, Must to Have, Good to Have and Nice to Have) GOUVERNANCE & MANAGEMENT Evolutions des capacités existantes et attendues Roadmap des évolutions en adéquation au planning des usages, Abaque des efforts par capacités, Cycle de vie de la plateforme applicative, Promotion et Marketing de la plateforme applicative, Feedback d’usages CDR AUDIT & CONSEIL Constater et Conseiller ▪Cadrage d’un projet orienté « plateforme applicative » : • Définir et motiver l’approche « Socle » et « Usages » • Poser les principes et les pratiques générales • Poser les abaques par capacité afin de donner aux « Usages » un premier niveau d'évaluation d'effort et de budget en terme de « Dev/Build » (CAPEX) et de « Run/Ops » (OPEX) • Préparer les axes de promotion du « Socle » et les types de feedback des « Usages » • Spécifier l’architecture générale de la « plateforme applicative » : type de plateforme, capacités, patterns, composants, solutions et topologie d’hébergement ▪Audit d’un projet orienté « plateforme applicative » : • Rappeler les principes et les pratiques « Socle » et « Usages » • Auditer l’adéquation de l’existant (critères et évaluation) • Evaluer les SWOT (Force/Strength – Faiblesse/Weakness – Opportunité/Opportunity – Menace/Threat) : Couverture technico- fonctionnelle, orientation stratégie, sécurité, robustesse et performance • Evaluer le niveau de maturité (Minimum Value Product, Must to Have, Good to Have et Nice to Have)
  22. 22. La mise au point de votre système d’information L’offre « Application Platform Factory » (5/8) ARCHITECTURE Conseil sur la conception d’une architecture orientée plateforme CAPACITES & CAS D’USAGE Cas d’usage fonctionnel et Cartographie des capacités ARCHITECTURE APPLICATIVE Identification des composants par pattern d’usage de chaque capacité, Niveaux des capacités (Socle logiciel, Socle applicatif, Spécification et Usage des capacités) ARCHITECTURE TECHNIQUE Typologie d’hébergement par composant, Environnements logiques et physiques, Topologie, Interconnexion et Architecture technique, Infrastructure d’intégration opérationnelle, Infrastructure orientée Cloud, Infrastructure supportant les contraintes PCI, Plan et Infrastructure de secours SECURITE Principes de sécurité, Composants sensibles et Cas d’usage, Exposition aux risques et Menaces de sécurité, Patterns et Mesure de sécurité PERFORMANCE & CAPACITY PLANNING Abaque d’usage par capacité, Modèle de consommation de capacité, Modèle de performance et Stratégie de test, Qualité de Service (QoS / SLA) ARC ARCHITECTURE Concevoir et Formaliser ▪Architecture d’une « plateforme applicative » : • Cartographier les « capacités fonctionnelles » du « Socle » et leur cas d'usage • Détailler les « composants applicatifs » et les « solutions logicielles » • Détailler la « topologie d'hébergement » et les « composants d'infrastructure » • Spécifier les « contraintes et politiques de sécurité » : ✓ Sécurité intrinsèque (Identification/Authentification et Habilitation), ✓ Sécurité du SI (DICT/P : Disponibilité, Intégrité, Confidentialité et Trace/Preuve), ✓ Sureté de fonctionnement industriel (FMDS : Fiabilité, Maintenabilité, Disponibilité et Sécurité) ✓ Sécurité bancaire (PCI-DSS : Payment Card Industry - Data Security Standard) • Spécifier les « contraintes et exigences de performance » et dresser le « Capacity Planning »
  23. 23. La mise au point de votre système d’information L’offre « Application Platform Factory » (6/8) PROOF & REALISATION Conseil sur les spécificités de la mise en œuvre de plateforme PROOFING (Proof of Technology) Périmètre et Réponse technologique PROOFING (Proof of Concept) Périmètre et Réponse conceptuelle Evaluation des critères, SWOT (Force/Strength – Faiblesse/Weakness – Opportunité/Opportunity – Menace/Threat), Classement et Evaluation des écarts CHOIX DE SOLUTIONS Choix technique et fonctionnel, Choix stratégique CONSTRUCTION Design, Implémentation des Utilitaires et Accélérateurs, Composants de plateforme applicative et l’intégration des usages (plugin), Tests (Unit and Global Plan), Packaging et Intégration Continue (Continuous Integration) DELIVERY & OPS Automatisation de livraison (Continuous Delivery), Déploiement et Paramétrage, VSR (Vérification de Service Régulier), MCO (Maintien en Condition Opérationnelle) REA PROOF & REALISATION Prouver et Réaliser ▪Réalisation de preuve ou de la cible d’une « plateforme applicative » : • Choisir les solutions • Réaliser une ou des preuves : ✓ Technologiques (PoT : Proof of Technology) ✓ Concepts (PoC : Proof of Concept) ✓ Simple démonstrateur • Concevoir et implémenter les utilitaires « Socle » et les accélérateurs de mise en œuvre • Concevoir et implémenter les composants du « Socle » et les paramètres ou plugins des « Usages » • Etablir les plans de tests (unitaire et global) • Construire les packages via l’Intégration Continue (Continuous Integration) • Automatiser les livraisons et les déploiements via les outils de déploiement (Continuous Delivery) • Dresser les indicateurs de VSR (Vérification de Service Régulier) • Mettre en place les solutions de MCO (Maintien en Condition Opérationnelle)
  24. 24. La mise au point de votre système d’information L’offre « Application Platform Factory » (7/8) Outiller afin d’accélérer
  25. 25. La mise au point de votre système d’information L’offre « Application Platform Factory » (8/8) FOR COACHING & FORMATION Former et Accompagner ▪Formation inter ou intra entreprise autour d’une « plateforme applicative » : • Former sur l’approche de cadrage d’une « plateforme applicative » • Donner les démarches d’audit et conseil sur la cible • Par type de « plateforme applicative », donner les éléments clés et différentiant de l’architecture • Former sur les techniques d’implémentation et d’instanciation des composants « Socle » (générique ou abstrait) et « Usages » (paramètres ou plugins) • Former sur les accélérateurs spécifiques ▪Montage d’offre orientée « plateforme applicative » : • Dresser une approche globale d’offre de mise en œuvre de « plateforme applicative » • Par type de « plateforme applicative », construire un kit de proposition commerciale suivant le modèle en cube de « GERRIX Application Platform Factory » • Par type de « solution logicielle » et « d’infrastructure technique », identifier les opportunités fonctionnelles et applicatives ▪ Démarche de motivation et de cadrage de projet orienté plateforme ▪ Démarche d’architecture orientée plateforme : Patterns d’architecture, Patterns d’interaction d’usage, Scénario d’infrastructure ▪ Guide et exemples spécification des besoins métiers et fonctionnels ▪ Guide et exemples de spécification des besoins non fonctionnels : Exploitabilité, Performance et Sécurité ▪ Modèle de présentation de roadmap des capacités ▪ Architecture générique par type de plateforme et exemples d’usages ▪ Scénario de composition de plateforme ▪ Patterns d’intégration, d’échange et de management ▪ Patterns d’architecture et d’infrastructure ▪ Patterns de sécurité et de sureté : Sécurité intrinsèque, Système d’Information (DICP/T), Bancaire (PCI-DSS), Industrielle (FMDS) ▪ Modèle et plan type : matrice d’association « Capacités Applicatives et Solutions Logicielles », matrice d’impact inter- composant, matrice de sécurité ▪ Tableau récapitulatif des patterns et leurs composants ▪ Poster de présentation de plateforme ▪ Modèle et plan type : dossier d’architecture, dossier de sécurité, dossier et modèle de performance ▪ Vidéo d’illustration visuelle des patterns ▪ Modèle et schéma d’architecture type : schéma conceptuel, schéma logique et schéma physique ▪ Dépôt de codes orientés plateforme (réutilisables) : utilitaires/frameworks génériques, exemples et tutoriels
  26. 26. La mise au point de votre système d’information CONTEXTES ET ENJEUX
  27. 27. La mise au point de votre système d’information Contextes et Enjeux (1/5) ▪ [CTX-01] Les Framework GERRIX sont développés en Java. Comment faire pour les codes existants, écrits avec d’autres langages ? ▪ [CTX-02] Le langage Java étant un langage très répandu en entreprise. Et certaines entreprises disposent déjà un catalogue de Framework autorisés Comment faire adopter à l’entreprise des nouveaux Framework ? Comment valoriser les Framework GERRIX afin qu’ils soient incontournables ? ▪ [CTX-03] Supposons que ces Framework vont être adoptés par les entreprises. Comment assurer leur maintenance et leur évolution ? ✓ Les compétences requises ✓ La formation et la montée en compétence
  28. 28. La mise au point de votre système d’information Contextes et Enjeux (2/5) ▪ [CTX-04] L’enjeu du « SI Digital » amène les couches de l’IT à s’interconnecter entre elles. Est-ce que les acteurs responsables de chaque couche sont interconnectés entre eux en terme de compréhension : ✓ de la stratégie, ✓ des enjeux métiers, ✓ des orientations architecturales et solutions technologiques , ✓ ainsi que les pratiques et les contraintes d’implémentation (Dev) et d’exploitation (Ops) ? Comment garantir la cohérence de l’ensemble en cas de changement d’une partie de la chaîne ? CONNECTED INFRASTRUCTURE CONNECTED APPLICATION CONNECTED INFORMATION CONNECTED BUSINESS CONNECTED STRATEGY CONNECTEDIT SI DIGITAL Métier DSI Entreprise Archi, Tech LeadMétier, Fonctionnel Dev, Ops Cible, Besoins Architecture, Spécification Contraintes, Exigences Solutions, Implémentation
  29. 29. La mise au point de votre système d’information Contextes et Enjeux (3/5) ▪ [CTX-05] Le « CONNECTED IT » garde l’indépendance et le découplage entre chaque niveau d’architecture mais ne doit pas ignorer la sensibilité entre eux afin de se communiquer efficacement. Comment assurer une sensibilité entre chaque niveau d’architecture tout en respectant leur indépendance et leur découplage ? ▪ [CTX-06] La démarche « Platform-oriented Architecture » vise : ✓ à rationaliser les efforts en concentrant les « Capacités Génériques » et les « Concepts Abstraits » au niveau du « SOCLE » ; ✓ afin que les « USAGES » puissent appliquer du « Paramétrage » et voire même apporter leurs « Spécificités » . Comment cataloguer les capacités et les concepts du Socle, « Architecture Artefacts Repository » au sens TOGAF (si besoin) ? Comment gérer les différents paramètres, « Configuration Management Database (CMDB) » au sens ITIL (si nécessaire) ? Logique Applicative Infrastructures Techniques Solutions Logicielles DATA PROCESSING COMPUTING INTEGRATION INTERACTION DECOUPLAGE & SENSIBILITÉ GÉNÉRICITÉ & PARAMETRAGE ABSTRACTION & SPÉCIFICITÉ
  30. 30. La mise au point de votre système d’information Contextes et Enjeux (4/5) ▪ [CTX-07] Par incompréhension, l’industrialisation est considérée comment un « Coût Obligatoire » ou « Centre de Coût » alors qu’elle promet : ✓ La durabilité et la viabilité (exploitable et opérable), ✓ La modularité et la maintenabilité, ✓ La performance, la robustesse et la sécurité. Est-ce que les pratiques actuelles justifient les objectifs visés ? Comment valoriser les efforts d’industrialisation afin que l’IT devienne un « Centre de Valeur » pour les métiers ? ▪ [CTX-08] Le coût actuel d’industrialisation d’une plateforme reste conséquent et qui nous amène à lotir afin de n’engager que du « Minimum Value Product (MVP) ». Et le « Reste à Faire (RAF) » alourdira les « Dettes Techniques ». Comment rationnaliser de coût d’industrialisation tout en gardant les objectifs visés, si sa réduction est envisageable ? ✓ L’émergence des différents Framework accélérateurs promet la réduction du délai d’implémentation mais malheureusement le temps de montée en compétence n’est pas négligeable. ✓ Les différents concepts (Big Data, IoT, Blockchain, IA) et les langages de développement associés nous amènent à dupliquer certaines implémentations. DEVELOPPER Implémentation & Correction TESTER Test & Recette INTEGRER Intégration & Qualification DEPLOYER Déploiement & Vérification OPERER Maintien en Condition Opérationnelle OPTIMISER Performance & Robustesse SECURISER Sécurité & Audit CONCEVOIR Architecture CENTRE DE COÛT CENTRE DE VALEUR INDUSTRIALISER VS
  31. 31. La mise au point de votre système d’information Contextes et Enjeux (5/5) ▪ [CTX-09] Face aux diversités des technologies d’implémentation des ressources tels que « File System », « Message Broker » et « Data Storage ». Comment assurer l’adaptabilité et la portabilité des codes ? Est-ce possible d’ajouter de nouvelle technologie de manière transparente ? ▪ [CTX-10] L’hébergement IT se tend vers le Cloud (privé, publique ou hybride). En parlant du Cloud AWS, GCP et Azure, avec leurs technologies spécifiques (serveurs managés, langage et Framework de programmation, technologies d’implémentation des ressources), Comment assurer l’adaptabilité des codes ? Est-ce possible le portage entre chaque Cloud, de manière transparente ? APPLICATION PLATFORM DATA PROCESSING COMPUTING INTEGRATION INTERACTION PLATFORM MANAGEMENT PLATFORM INFRASTRUCTURE File System Message Broker Data Storage
  32. 32. La mise au point de votre système d’information Faut-il gagner les pierres de l’Infin’IT ? Après analyse et constat, je suis persuadé qu’il faut faire autrement car avec notre pratique actuelle on finira à freiner l’avancée technologique et l’ambition métier.
  33. 33. La mise au point de votre système d’information Innover (1/2) « Ce n'est pas en améliorant la bougie qu'on a inventé l'ampoule électrique » (Proverbe) « L'innovation est cette incroyable intersection entre l'imagination d'une personne et la réalité dans laquelle elle vit » (Ron Johnson) BESOIN D’INNOVATION « Si tu fais toujours ce que tu as d'habitude de faire, tu récolteras ce que tu as toujours récolté » (Albert Einstein) « Innover, ce n'est pas avoir une nouvelle idée mais arrêter d'avoir une vielle idée » (Edwin Herbert Land) BESOIN DE RUPTURE « Tout créateur sort de la norme. Toute innovation est anormale » (Boris Cyrulnik) « Il n'y a pas d'innovation sans désobéissance » (Michel Millot)
  34. 34. La mise au point de votre système d’information Innover (2/2) BESOIN DE TRANSITION ET DE PROGRESSION « L'intérêt principal d'une innovation est de changer le comportement de l'utilisateur sans lui demander de changer de comportement » (Adrian Ho) « Imite, assimile et ensuite innove » (Clark Terry) “do IT differently” « Pratiquer l’IT différemment » (GERRIX Application Platform Factory) FAIRE AUTREMENT « Le meilleur moyen de prédire l'avenir est de le créer » (Peter Drucker) « Think different » (Steve Jobs – Apple)
  35. 35. La mise au point de votre système d’information « DO:IT » LES ORIGINES « DO:IT » C’EST QUOI ? « DO:IT » POUR QUI ? BONUS
  36. 36. La mise au point de votre système d’information Descriptions Archi, Tech Lead Dev, Ops Architecture, Spécification Contraintes, Exigences Solutions, Implémentation Logique Applicative Infrastructures Techniques Solutions Logicielles Usages Applicatifs (D)Ecrire une fois (Ré)Utiliser par tout CTX-03 Echanger et Partager de manière unique et universelle Sans générer de code CTX-04 Modifier sans regénérer afin de garantir à tout moment la cohérence « Write Once, Run Anywhere » (Java) « Write Once, Run Forever » (Erlang) « Write Once, Use Anywhere » Modèles Conceptuels Modèles Logiques Règles Modèles Physiques Configurations & Programmes Contrôles
  37. 37. La mise au point de votre système d’information Décrire en LDA (Langage de Description d’Algorithme) … … puis Implémenter (ex : en Java)
  38. 38. La mise au point de votre système d’information Décrire avec JSONdo IT Décrire autrement … et cela suffit (pas de génération de code). Universel, que l’on puisse instrumenter,
  39. 39. La mise au point de votre système d’information DATA TYPES File System Message Broker Data Storage PROCESSING MODES File Bulk | Batch Event | Stream Action | Work COMPUTING ELEMENTS Functional Conditional Sequential ParallelSwitchingArithmetical Fork | JoinTemporal Listen | Pull | Pop Push | Publish | Submit Request with Response Request with Callback INTEGRATION MODES Bulk Message ServiceFile INTERACTION ELEMENTS Panel | Grid | DialogInformation | NotificationNavigation | AnimationInput | Sensor | Control Look & Feel Flow-based Programming Interaction | Integration | Data | Computing | Processing | Management Les « FLOW » ELEMENTAIRES représentent les types d’articulation d’action ou de bloque (groupe d’actions). PROCESSING PLATFORM Prepare TransformEnhance Consolidate Submit | Synchronize | Control INTEGRATION PLATFORM Import Receive Export Publish Observe Invoke Expose | Compose | Route INTERACTION PLATFORM Portal Desktop Connected CommandEmbeddedMobile PLATFORM INFRASTRUCTURE Operating Containerization VirtualizationClustering ResourcingPartitioning COMPUTING PLATFORM Analyze Evaluate Validate Learn Suggest Adjust PLATFORM MANAGEMENT Deploy | Activate Configure Monitor Secure Backup | RecoverAuditSchedule DATA PLATFORM Proxied Data Centralized Data Native Data Repository | Design Runtime | Audits | Logs Les « FLOW » AVANCES représentent les « patterns » de chaque plateforme. Décrire en « Flow-based Programming »
  40. 40. La mise au point de votre système d’information Description de Modèles, de Modules et de Ressources ▪ Modèle de Données (Conceptuel, Logique et Physique) La description « Model Definition » offre la possibilité de déclarer des types : ✓ « OBJECT » : Au sens « Programmation Orientée Objet (POO) » et qui support l’héritage multiple et le polymorphisme au niveau des méthodes et des attributs ; ✓ « ENUM » : Au sens POO et qui supporte le polymorphisme au niveau des méthodes ; ✓ « DATA » : Au sens structure logique (tabulaire, famille de colonnes, hiérarchique, document JSON ou XML) ; ✓ « RESOURCE » : Similaire aux objets référençables dans des annuaires de type JNDI et LDAP ; ✓ « PACKAGE » : Au sens organisation des types ; ✓ « META » : Au sens structure de métadonnées qui s’appliquent aux types « DATA » et une branche « PACKAGE » ; ✓ Les types « OBJECT » et « DATA » peuvent avoir une déclaration de stockage physique (cf. « Provider Definition ») ; ✓ Les types « OBJECT » et « ENUM » peuvent être reprise de l’existant (Java, C++ ou .NET) grâce à l’import de « LIB ». Model Definition ▪ Module de Traitement (Conceptuel, Logique et Natif) La description « Module Definition » offre la possibilité de déclarer des traitements : ✓ « FLOW » : Sous forme de procédure et qui décrit des logiques de traitement « Flow-based Programming » et appelable avec le mot clé « flow » ; ✓ « EVALUATION » : Sous forme de fonction et qui est décrite comme le « FLOW » mais avec une valeur de retour et appelable avec le mot clé « as » ; ✓ Les modules peuvent être natifs grâce à l’import de « LIB » et ils sont appelables en expression, en séquence, en parallèle, en événementiel, par aspect au sens « Programmation Orientée Aspect (POA) : en temporel délai ou période ou exceptionnel sur erreur ». Module Definition ▪ Référencement des Ressources : La description « Resource Definition » offre la possibilité de référencer les ressources de la plateforme : ✓ « FILE » : en tant que fichier d’un « File System » ; ✓ « DATA » : en tant que donnée typée (cf. types « OBJECT » et « DATA ») et stockée dans une « Data Storage » ; ✓ « MESSAGE » : en tant que message transporté par le « Message Broker » et qui peut est typé (ex : Mail, SMS, APNS, GCM, WNS, Fax, …) ; ✓ Les « File System », « Data Storage » et Message Broker » peuvent avoir des « Provider Definition » et voire même natifs « LIB ». Resource Definition File Data Message ▪ Intégration des codes existants : Le description « LIB » permet de référencer des codes existants : ✓ En Java sous forme de librairie « JAR » ; ✓ En C et C++, via JNI (Java Native Interface), sous forme de librairie « DDL (Dynamic Link Library pour Windows) », « SO (Shared Object pour POSIX) », « SL (Shared Library pour HP, SGI, Aix) et « DYL (OSX Dynamic Library) » ; ✓ En .NET, via NET4J (.NET bridge for Java), sous forme de librairie « DDL » ; ✓ Et plus tard avec d’autres langages, en utilisant un « Runtime Universel » comme « GraalVM ». Provider Definition LIB JAR DDL SO DYLSL CTX-01 Réutiliser l’existant Saison 1 Episode 2 (Réutiliser)
  41. 41. La mise au point de votre système d’information Description d’application APPLICATION DATA (PROC) PROCESSING (COMP) COMPUTING (INTG) INTEGRATION (INTR) INTERACTION (MNGT) MANAGEMENT CMD WEB DSK SVC BAT STR BOTIVR ORBWRK TST … Application Type Execution Mode Model Definition Module Definition Resource Definition Provider Definition LIB Application Definition ▪ Une « Application » est typée (cf. « Application Type ») et s'exécute suivant un pattern logique défini par un mode (cf. « Execution Mode ») : ✓ « CMD » : Application composée de séquence de commandes, ✓ « WEB » : Application orientée Web (client léger), ✓ « DSK » : Application orientée Desktop (client lourd), ✓ « STR » : Application orientée Streaming, ✓ « SVC » : Application orientée Service, ✓ « BAT » : Application orientée Batch (phasing : PREPARE, PROCESS, COMMIT, ROLLBACK, CONFIRM) , ✓ « WRK » : Moteur d’instanciation et d’exécution de Processus (BPM) et de Suivi de Dossier (ACM) ✓ … ▪ Elle peut embarquer ou utiliser des modèles de données (cf. « Model Definition ») et des modules logiques (cf. « Module Definition »). ▪ Elle peut référencer les ressources telles que fichier, file de message ou stockage de données structurées ou non structurées (cf. « Resource Definition ») qui sont fournies par des technologies (cf. « Provider Definition ») et des librairies externes (cf. « LIB »). CTX-09 Adapter et Porter les codes de manière transparente CTX-08 Rationnaliser et Modulariser
  42. 42. La mise au point de votre système d’information HelloCommand.def HelloDesktop.def HelloWeb.def Description d’application (DEMO : Hello World)Saison 1 Episode 1 (Implémenter) CMDMNGT DSKINTR SVCINTG HelloModule.def
  43. 43. La mise au point de votre système d’information Description de plateforme (1/2) Platform Definition Environment Definition APPLICATIONS Model Definition Module Definition Resource Definition Provider Definition Application Definition LIB ▪ Une plateforme applicative est constituée d’applications (cf. « Application Definition ») qui bénéficient les ressources (cf. « Resource Definition »), les capacités logiques et les logiciels offerts par la plateforme (cf. « Model Definition », « Module Definition », « Provider Definition », « LIB »). ▪ Une plateforme doit définir sa topologie de déploiement et d'exécution (cf. « Environnement Definition »). CTX-05 Assurer la sensibilité entre chaque niveau d’architecture tout en respectant leur indépendance et leur découplage CTX-08 Rationnaliser et Modulariser ▪ Si la plateforme prend en charge des solutions logicielles ou d’autres applications spécifiques (cf. « Software Definition »), elle peut référencer des binaires « BIN » de la solution.Software Definition SOLUTIONS LOGICIELLES BIN
  44. 44. La mise au point de votre système d’information Description de plateforme (2/2) PLATFORM RESOURCES File System Message Broker Data Storage File / Row / Line Message Data / Row / Record File Location Message Destination Data Store / Space FS Management MB Management DS Management Output Stream Input Stream Access (CRUD) Query (DML) Message Sender Message Receiver Message Listener Resource Definition SOLUTIONS LOGICIELLES PLATFORM TECHNOLOGY PROVIDER Provider Definition LIB Software Definition CTX-10 Adapter et Porter les codes de manière transparente CTX-09 ▪ « FILE » pour les ressources sous forme de fichier et qui sont stockées dans un « File System » en tant que « File Location ». Le flux de lecture est sous forme de « Input Stream ». Le flux d'écriture est sous forme de « Output Stream ». Le contenu d'un fichier se matérialise par des lignes d'information « LINE » ou « ROW ». ▪ « MESSAGE » pour les flux asynchrones et qui sont stockés ou acheminés par un « Message Broker ». Comme un message a pour vocation d’aller vers une ou plusieurs destinations « Message Destination », il doit y avoir un émetteur « Message Sender » et un récepteur/lecteur « Message Receiver » ou un service d'écoute « Message Listener ». ▪ « DATA » pour les données stockées dans un « Data Store ou Data Space » fourni par un « Data Storage ». Les données peuvent être accédées unitairement en mode CRUD ou en masse en utilisant les ordres DML et DQL. Les données sont représentées par des lignes d’information « ROW ».
  45. 45. La mise au point de votre système d’information Application Definition Module Definition PROVIDER ALIAS PLF:FS PLF:MB PLF:DS WEB:SERVER PROC:BAT PROC:STR Description de plateforme (DEMO : Multi-Cloud)Saison 1 Episode 3 (Ressources) Platform Definition PLATFORM PROVIDER INFRASTRUCTURE PROVIDER Platform Definition PLATFORM PROVIDER INFRASTRUCTURE PROVIDER Platform Definition PLATFORM PROVIDER INFRASTRUCTURE PROVIDER Plateforme de gestion de client, avec 7 applications (+1 module) en multi-cloud
  46. 46. La mise au point de votre système d’information Description de l’infrastructure (1/4) Host Definition System Definition Infrastructure Definition Virtualization Definition Hardware Definition Network Definition Environment Definition Platform Definition ▪ Le point d’entrée d'un environnement (cf. « Environment Definition ») vers l'infrastructure est l’unité d’hébergement ou le composant d’hébergement dit « HOST » (cf. « Host Definition ») avec la description de son système d'exploitation/exécution/opération (cf. « System Definition »). ▪ Le « HOST » est au final associé à un matériel (cf. « Hardware Definition ») et accessible au réseau (cf. « Network Definition »). Le matériel peut fournir un ou plusieurs « HOST » et un ou plusieurs réseaux, et qui peut être un matériel ou équipement réseau. ▪ Afin de rationaliser ou cloisonner les ressources, il se peut que l’on fasse recours à la virtualisation (cf. « Virtualization Definition »). La virtualisation peut être fournie par un logiciel (cf. « Software Definition ») ou intégrée au matériel comme les « HARDWARE HYPERVISOR ». CTX-05 Assurer la sensibilité entre chaque niveau d’architecture tout en respectant leur indépendance et leur découplage LIB Software Definition BIN
  47. 47. La mise au point de votre système d’information INFRASTRUCTURE Infrastructure Definition Description de l’infrastructure (2/4) NETWORK HARDWARE Network STORAGE HARDWARE Disk Network COMPUTE HARDWARE Memory CPU/FPU/GPU Disk Network Hardware Definition ▪ L’infrastructure assure la fourniture des ressources matérielles nécessaires à l'exécution des composants de la plateforme. Chaque matériel peut fournir les capacités et les ressources suivantes : ✓ Les capacités de calcul, d'évaluation et de traitement : « CPU », « FPU » et « GPU » ; ✓ Les mémoires nécessaires aux différents traitement : « RAM », « MCU » ; ✓ Les disques pour le stockage des données : « HDD », « SSD », … ; ✓ Et les interfaces réseaux pour la communication au sein de l'infrastructure : « NIC ». ▪ Chaque matériel peut être spécialisé à fournir seulement un ou quelques types de ressource : ✓ « COMPUTE HARDWARE » pour les serveurs d’exécution classique ; ✓ « NETWORK HARDWARE » pour les équipements dédiés aux réseaux ; ✓ « STORAGE HARDWARE » pour les équipements dédiés aux stockages de données. Network Definition Hardware Definition Host Definition System Definition INFRASTRUCTURE NETWORK HARDWARE NETWORK STORAGE HARDWARE COMPUTE HARDWARE HOST HOST HOST OPERATING SYSTEM FIRMWARE SYSTEM STORAGE SYSTEM
  48. 48. La mise au point de votre système d’information Description de l’infrastructure (3/4) INFRASTRUCTURE MAIN HARDWARE STORAGE HARDWARE STORAGE HARDWARE STORAGE NETWORK NETWORK HARDWARE NETWORK HARDWARE COMPUTE NETWORK COMPUTE HARDWARE COMPUTE HARDWARE COMPUTE HARDWARE COMPUTE HARDWARE COMPUTE HARDWARE FRONT NETWORK CONSOLE & ADMIN NETWORK PANEL ( CONSOLE | ADMIN ) HARDWARE Infrastructure Definition Hardware Definition Network Definition ▪ Parfois on peut avoir un matériel tout en un, dit « MAIN HARDWARE ». Ce type de matériel peut porter en lui tout seul un besoin d'infrastructure. CTX-08 Rationnaliser et Modulariser DATA CENTER INFRASTRUCTURE BUILDING INFRASTRUCTUREBUILDING INFRASTRUCTURE FLOOR INFRASTRUCTURE FLOOR INFRASTRUCTURE FLOOR INFRASTRUCTURE FLOOR INFRASTRUCTURE ROOM INFRASTRUCTURE ROOM INFRASTRUCTURE ROOM INFRASTRUCTURE ROOM INFRASTRUCTURE ROOM INFRASTRUCTURE ROOM INFRASTRUCTURE ROOM INFRASTRUCTURE ROOM INFRASTRUCTURE Infrastructure Definition RACK RACK RACK RACK RACK RACK ✓ Comme nous venons de voir avec le matériel tout en un, l'infrastructure peut être portée par un seul gros matériel. Et on peut envisager que l'infrastructure peut être représentées de manière modulaire et hiérarchique : Un « RACK », une salle machine « ROOM », un étage/niveau « FLOOR », un bâtiment « BUILDING » et un « DATA CENTER ». WORLD INFRASTRUCTURE CONTINENT INFRASTRUCTURE COUNTRY INFRASTRUCTURE DATA CENTER INFRASTRUCTURE DATA CENTER INFRASTRUCTURE DATA CENTER INFRASTRUCTURE DATA CENTER INFRASTRUCTURE COUNTRY INFRASTRUCTURE COUNTRY INFRASTRUCTURE CONTINENT INFRASTRUCTURE Infrastructure Definition ✓ Cette hiérarchie de l’infrastructure peut aller plus loin avec plusieurs « DATA CENTER » repartis dans un pays « COUNTRY » ou « CONTINENT » et voire même au niveau mondial « WORLD ».
  49. 49. La mise au point de votre système d’information Description de l’infrastructure (4/4) DC INFRASTRUCTURE LOCAL-2 INFRASTRUCTURE LOCAL-1 INFRASTRUCTURE NET-1 HARDWARE LAN-1.1 LAN-1.2 LAN-1.3 DC-NET NET-2 HARDWARE LAN-2.1 LAN-2.2 LAN-2.3 DC-NET HARDWARE MAN / WAN Infrastructure DefinitionNetwork Definition Hardware Definition ▪ Cette hiérarchie qui s’applique au niveau de l’infrastructure affecte aussi le maillage du réseau. « The Network is the Computer » (John Gage – SUN Microsystems)
  50. 50. La mise au point de votre système d’information Projection de le la plateforme sur l’infrastructure (1/4) INFRASTRUCTURE INFRASTRUCTURE INFRASTRUCTURE INFRASTRUCTURE INFRASTRUCTURE INFRASTRUCTURE INFRASTRUCTURE INFRASTRUCTURE Infrastructure Definition PLATFORM PLATFORM PLATFORM PLATFORM PLATFORM PLATFORM Platform Definition ▪ Avec la hiérarchie de l’infrastructure, les plateformes applicatives doivent se retrouver au dessus. ▪ Il est tout à fait envisageable à ce qu'une plateforme applicative soit repartie sur plusieurs infrastructures.
  51. 51. La mise au point de votre système d’information Projection de le la plateforme sur l’infrastructure (2/4) Platform Definition Host Definition System Definition Virtualization Definition Infrastructure Definition Environment Definition ▪ Comme indiqué par ce schéma, la liaison entre la plateforme applicative et l'infrastructure d'hébergement est assurée par la définition « cf. Environment Definition » car celle-ci décrit la topologie de déploiement des composants applicatifs et logiciels de la « PLATFORM » vers « l’ INFRASTRUCTURE ». APPLICATION Model Definition Module Definition Resource Definition Provider Definition Application Definition LIB Software Definition BIN INFRASTRUCTURE PLATFORM Model Definition Module Definition Resource Definition Provider Definition LIB Environment Definition Host Definition System Definition Virtualization Definition APPLICATION APPLICATION APPLICATION SOFTWARE SOFTWARE SOFTWARE SOFTWARE BIN
  52. 52. La mise au point de votre système d’information PLATFORM INFRASTRUCTURE HOST HOSTHOST Host Definition Projection de le la plateforme sur l’infrastructure (3/4) ENVIRONMENT Environment Definition ▪ C'est avec la définition « Environnement Definition » que l'on peut indiquer si un composant est en instance unique « Single Instance » ou en « Active / Passive » ou « Active / Standby ». ▪ Ou en multi instances « Actives / Actives » avec le comportement « Cluster » si nécessaire ou en « Master / Slaves » si distribuées.. APPLICATION APPLICATION APPLICATION Application Definition SOFTWARE SOFTWARE SOFTWARE Software Definition Il est possible de préciser les besoins en ressources des composants suivant l’environnement cible.
  53. 53. La mise au point de votre système d’information Projection de le la plateforme sur l’infrastructure (4/4) PLATFORM INFRASTRUCTURE HOST HOST DEDICATED / PHYSICAL ENVIRONMENT PLATFORM INFRASTRUCTURE HOST HOST LOGICAL ENVIRONMENT LOGICAL ENVIRONMENT LOGICAL ENVIRONMENT PLATFORM INFRASTRUCTURE HOST HOSTHOST HOST DEV INT PPROD / PRA HOST HOST QLF HOST PROD On peut considérer 2 modes de projection de l’environnement : ▪ Le mode « DEDICATED ENVIRONMENT » où l’infrastructure est dédiée à l’environnement, par abus de langage on peut dit « PHYSICAL ENVIRONMENT ». Ce mode est assez souvent appliqué pour l'environnement de « PRODUCTION (PROD) » ; ▪ Le mode « SHARED / MUTUALIZED ENVIRONMENT » ou l'infrastructure est mutualisée par plusieurs environnements, par abus de langage on peut dit « LOGICAL ENVIRONMENT ». Ce mode est assez souvent appliqué pour les environnements « HORS PRODUCTION » peu consommateurs en ressources, comme « DEVELOPEMENT (DEV) » et « INTEGRATION (INT) » ou « QUALIFICATION (QLF) ». CTX-08 Rationnaliser et Modulariser
  54. 54. La mise au point de votre système d’information Description de la virtualisation de l’infrastructure (1/3) INFRASTRUCTURE PHYSICAL NODE HOST OPERATING SYSTEM SOFTWARE APPLICATIONApplication Definition Software Definition ENVIRONMENTEnvironment Definition Platform Definition System Definition Host Definition Infrastructure Definition ▪ L’approche de rationalisation nous amène à ne pas gaspiller les ressources. ▪ Ce type de déploiement peut avoir rapidement de limite : ✓ Si l’on souhaite cloisonner les composants applicatifs et logiciels, leur répartition sur plusieurs « HOST » serait un gaspillage ; ✓ De nos jours, on ne peut plus trouver des serveurs à faible capacité, ce qui fait que l’usage d'un matériel de grande capacité serait aussi un gaspillage ; ✓ Si l’on doit avoir plusieurs « HOST », est-ce que cela veut dire que l’on doit avoir plusieurs matériels..
  55. 55. La mise au point de votre système d’information INFRASTRUCTURE PHYSICAL NODE HOST VIRTUAL NODE HOST VIRTUAL NODE HOST OPERATING SYSTEM OPERATING SYSTEM SOFTWARE APPLICATIONApplication Definition Software Definition Platform Definition ENVIRONMENTEnvironment Definition Infrastructure Definition System Definition Host Definition Description de la virtualisation de l’infrastructure (2/3) Virtualization Definition VIRTUAL LAYER Ainsi la virtualisation des ressources a vu le jour : « VIRTUAL LAYER ». CTX-08 Rationnaliser et Modulariser
  56. 56. La mise au point de votre système d’information INFRASTRUCTURE PHYSICAL NODE HOST VIRTUAL NODE HOST VIRTUAL NODE HOST OPERATING SYSTEM OPERATING SYSTEM INFRASTRUCTURE PHYSICAL NODE HOST VIRTUAL NODE HOST VIRTUAL NODE HOST OPERATING SYSTEM OPERATING SYSTEM Description de la virtualisation de l’infrastructure (3/3) OPERATING SYSTEM HOSTED HYPERVISOR …SOFTWARE NATIVE | BARE METAL | HARDWARE HYPERVISOR SOFTWARE APPLICATION ▪ La virtualisation des « HOST » est fournie par les « HYPERVISOR » et qui peut être faite au niveau matériel « NATIVE ou BARE METAL ou HARDWARE » ou au niveau de l’OS du matériel « HOSTED ». ▪ Les « HOSTED HYPERVISOR » sont plus faciles à adopter car ils n'ont pas besoin de spécificités matérielles. les « HOSTED HYPERVISOR » peuvent être classés en 2 catégories : ✓ Les machines virtuelles, « VIRTUAL MACHINE », ex : « VirtualPC » de Microsoft, « VirtualBox » d'Oracle, « VMware Workstation et Fusion » et « QEMU » ainsi que le Wrapper « Vagrant » ; ✓ Les systèmes de partitionnement de système, « OS-LEVEL VIRTUALIZATION », ex : « Xen » de Citrix, « OpenVZ », « Solaris Containers », « vSphere » de VMware, « Hyper-V » de Microsoft, « KVM » et « Oracle VM » qui est basé sur Xen. ▪ Les « NATIVE ou BARE METAL ou HARDWARE HYPERVISOR » peuvent n’être que sur des matériels spécifiques, ex : « IBM LPAR », « SUN LDOM » et « HP Superdom ». En terme de cloisonnement, est-ce que le recours à la virtualisation du « HOST » est la seule solution ? Infrastructure Definition Virtualization Definition Software Definition
  57. 57. La mise au point de votre système d’information INFRASTRUCTURE PHYSICAL NODE HOST OPERATING SYSTEM INFRASTRUCTURE NODE ( VIRTUAL | PHYSICAL ) HOST OPERATING SYSTEM Description de l’isolation de l’espace d’exécution (1/3) CONTAINER ENGINE … CONTAINER HOST CONTAINER HOST VIRTUAL NODE HOST VIRTUAL NODE HOST OPERATING SYSTEM OPERATING SYSTEM SOFTWARE APPLICATION HOSTED HYPERVISOR …SOFTWARE Virtualization Definition Software Definition Infrastructure Definition ▪ Le noyau de certains systèmes d’exploitation dispose de mécanisme de cloisonnement ou d’isolement de l’espace d’exécution d’un composant applicatif ou logiciel, dit « CONTAINER ENGINE », ex : « chroot » Unix, le prison BSD « BSD Jail », les conteneurs d’exécution Linux « LXC » qui est la base de « Docker », les librairies « libvirt », les « systemd » avec Linux et « systemd-nspawn » avec Solaris d’Oracle. Les « CONTAINER » permettent de rationaliser davantage les ressources mais suivant la maturité des solutions et des systèmes, les fuites de ressources peuvent apparaître.
  58. 58. La mise au point de votre système d’information Description de l’isolation de l’espace d’exécution (2/3) ▪ Pour l'expansion des instances, les « CONTAINER MANAGER » offre les capacités de « scalabilité horizontale » des « CONTAINER ENGINE », ex : « Kubernetes », « Nomad de HashiCorp », « Nutanix ». INFRASTRUCTURE NODE ( VIRTUAL | PHYSICAL ) HOST CONTAINER HOST NODE ( VIRTUAL | PHYSICAL ) HOST CONTAINER HOST CONTAINER HOST CONTAINER HOST OPERATING SYSTEM CONTAINER ENGINE … OPERATING SYSTEM CONTAINER ENGINE … NODE ( VIRTUAL | PHYSICAL ) HOST OPERATING SYSTEM CONTAINER MANAGER … APPLICATION SOFTWARE Infrastructure Definition Virtualization Definition Software Definition SOFTWARE
  59. 59. La mise au point de votre système d’information Description de l’isolation de l’espace d’exécution (3/3) ▪ L’usage des systèmes distribués nous amène à une autre technique de cloisonnement et de gestion des ressources, les « RESOURCE MANAGER », ex : « YARN » avec ou sans Hadoop, « Mesos ». INFRASTRUCTURE NODE ( VIRTUAL | PHYSICAL ) HOST OPERATING SYSTEM RESOURCE NODE … RESOURCE HOST NODE ( VIRTUAL | PHYSICAL ) HOST OPERATING SYSTEM RESOURCE NODE … RESOURCE HOST NODE ( VIRTUAL | PHYSICAL ) HOST OPERATING SYSTEM RESOURCE NODE … RESOURCE HOST NODE ( VIRTUAL | PHYSICAL ) HOST OPERATING SYSTEM RESOURCE MANAGER … APPLICATION APPLICATION APPLICATION SOFTWARE Infrastructure Definition Virtualization Definition Software Definition ▪ Les « RESOURCE MANAGER » peuvent être limités sur leur capacité de gestion des ressources, ex : « YARN » est seulement pour les applications Java.
  60. 60. La mise au point de votre système d’information Description des contraintes et des exigences Flow Expression APPLICATION Flow-based Programming Application Definition ✓ Dans sa définition « Application Definition » si celles-ci sont applicables à toute instance de l’APPLICATION. Platform Definition ✓ Dans la définition de la plateforme « Platform Definition » si l’on souhaite les activer et désactiver au besoin sur la totalité de la plateforme (multi-environnement aussi). Environment Definition ✓ Dans la définition de l’environnement « Environment Definition » si l’on souhaite les activer et désactiver au besoin par environnement. Les contraintes et les exigences, par « Flow Expression », d’une « APPLICATION » peuvent être spécifiées : Security Section ▪ Sécurité Intrinsèque ▪ Sécurité du Système d’Information (DICT/P) ▪ Sureté de fonctionnement industriel (FMDS) ▪ Sécurité bancaire (PCI-DSS) ▪ … Monitoring Section ▪ Performance ▪ Etat technique ▪ Etat applicatif ▪ Etat fonctionnel ▪ Chaîne de bout-en-bout ▪ …
  61. 61. La mise au point de votre système d’information Description des tests Flow Expression (for Test Case) Flow-based Programming APPLICATION Les tests peuvent être faits :Application Definition TST MNGT ✓ Par une application de type « MANAGEMENT (MNGT) » en mode « TEST (TST) ». Application Definition ✓ En auto-teste, si besoin, par l’application concernée. Module Definition ▪ Dans les 2 cas, les tests peuvent être référencés au sein d’un module (cf. « Module Definition ») disponible dans la plateforme (cf. « Platform Definition »). Environment Definition TST Platform Definition ▪ Le module en question ne peut être activable que seulement sur un environnement (cf. « Environment Definition ») de type « TEST (TST) ».
  62. 62. La mise au point de votre système d’information GRX DOC Description de document ▪ Pour des besoins de communication ou de partage de document (ex : opérationnel, export de configuration, modèle de performance, plan de test, …), il est possible de décrire ces documents (cf. « Document Definition ») afin de pouvoir les regénérer si besoin à partir du composant « GERRIX – Document Generator (GRX DOC) ». Model Definition Module Definition Platform Definition Host Definition Virtualization Definition Hardware Definition Network Definition Infrastructure Definition Resource Definition System Definition Provider Definition Environment Definition Software Definition Application Definition Document Definition Content Definition Xxxx xxx xxxxxx xxxxxxxx xxx Xx xxxxx xxx xxxxx xxx xxxxx xxx xxxx xxxxxxxx xx ▪ Text ▪ Image ▪ Paragraph ▪ Diagram ▪ Table ▪ Grid ▪ Tree Support Definition LIB CTX-03 Echanger et Partager de manière unique et universelle
  63. 63. La mise au point de votre système d’information Configuration Management Database (ITIL) & Architecture Repository (TOGAF) Application Definition Model Definition Module Definition Platform Definition Host Definition Virtualization Definition Hardware Definition Network Definition Infrastructure Definition Resource Definition Document Definition Content Definition Support Definition GRX INF GRX PLF GRX DOC GRX APP PLATFORM MANAGEMENT PLATFORM INFRASTRUCTURE System Definition Provider Definition Environment Definition Software Definition DATA PROCESSING COMPUTING INTEGRATION INTERACTION STORAGE REP CMDB / ARCHI LIB DEF BIN DEF LIB BIN ▪ « do:IT » étant un « Langage de Description d’Algorithmes », mais il a été fait aussi comme étant un « Langage de Description d’Architectures ». Ainsi le dépôt de référencement « REP » de « do:IT » a été conçu pour répondre à la fois la « CMDB » au sens « ITIL » et une partie de « Architecture Repository » au sens « TOGAF ». ▪ La base « REP » permet de référencer les « DEF », les « LIB » et éventuellement les « BIN » des logiciels pris en charge.
  64. 64. La mise au point de votre système d’information INFRA STORAGE DesignRuntime HOST MGT CTX GRX INF LIB GRX PLF LIB GRX DOC LIB GRX APP LIB REP LIB DEF BIN LIC Composants de la plateforme INFRA APP HOST GRX APP LIB APP DEF Mode APPLICATION Version Communautaire ▪ Sur chaque « APP HOST », on doit avoir au minimum un « GRX INF » pour contrôler le « HOST » d’hébergement. ▪ Il est possible d’avoir un « MGT HOST » pour déposer les composants de « MANAGEMENT » de la plateforme. INFRA STORAGE DesignRuntime APP HOST MGT CTX GRX INF LIB GRX APP LIB APP SFW APP HOST GRX INF LIB GRX APP LIB APP SFW MGT HOST GRX INF LIB GRX APP LIB GRX PLF LIB GRX DOC LIB BINBIN Mode PLATFORM Version Entreprise REP LIB DEF BIN LIC A date 2 modes de distributions sont prévus pour « do:IT » : ✓ Mode APPLICATION qui est un mode stand-alone de « GRX APP », prévu pour la version communautaire, ✓ Mode PLATFORM qui regroupe tous les composants, prévu pour la version entreprise. Les composants principaux de « do:IT » sont : ▪ Le « GRX APP » désigne le lanceur et le gestionnaire d’application « GERRIX – Application Starter », qui dispose de librairie « LIB » afin qu’il puisse charger les « Runtime Provider » décrits dans les « DEF ». Il doit être présent sur le « HOST » de lancement et d’exécution des applications « APP » et des logiciels pris en charge « SFW ». ▪ Le « GRX INF » représente le gestionnaire d’infrastructure « GERRIX – Infrastructure Manager », qui est présent sur chaque « HOST » de la plateforme, sauf en « Mode APPLICATION ». ▪ Le « GRX PLF » désigne le gestionnaire de plateforme « GERRIX – Platform Manager », qui assure le référencement des « DEF (Description) », « LIB (Librairies spécifiques) » et « BIN (Binaires spécifiques des SFW) » dans la base de stockage « REP (Repository) ». ▪ Le « GRX DOC » représente le générateur de document « GERRIX – Document Generator » ; ▪ Le « GRX INS » pour l’installation initial des composants de la plateforme « GERRIX – Application Platform Installer », qui génère l’information de licence « LIC (Licence, si mode PLATFORM) » dans le « REP (Repository) ». ▪ Le « STORAGE » dispose de 2 zones suivantes : ✓ « Design », pour le dépôt de référencement « REP (Repository) » des « DEF », « LIB », « BIN » et « LIC » ; ✓ « Runtime » pour le stockage « CTX » des contextes d’exécution distribués ou de sauvegarde (en mode SNAPSHOT ou SUSPEND ou DUMP) et le stockage « MGT (Management)" pour les indicateurs de « MANAGEMENT » comme le monitoring et les différentes contraintes applicables à une application (disponibilité, sécurité et sûreté, performance). GRX INS LIB DEF LIC Saison 1 Episode 4 (Industrialiser)
  65. 65. La mise au point de votre système d’information Host Definition Hardware Definition Network Definition Infrastructure Definition Platform Definition Environment Definition Software Definition Application Definition ENV INFRA STORAGE Runtime | Design MGT CTX REP APP HOST GRX INF GRX APP APP HOST GRX INF GRX APP MGT HOST GRX INF GRX APP GRX PLF GRX PLF GRX PLF Maintien en Condition Opérationnelle ▪ La gestion principale de plateforme, par environnement « ENV » (si multi), est assurée par une instance de « GRX PLF ». Une seule instance par plateforme suffise. ▪ Le lancement et le contrôle d’instance d’application « APP » et de logiciel « SFW » sur chaque nœud sont assurés par le « GRX APP ». Les instances d’application « APP » peuvent être contrôlées de n’importe quel nœud de l’environnement de la plateforme car les « GRX APP » peuvent se communiquer entre eux. ▪ Chaque instance de « GRX APP », « GRX INF » et « GRX PLF » remontent des indicateurs et des statuts vers la base « MGT ». ▪ Chaque instance d’application « APP » met à jour son état dans la base « MGT ». ▪ Chaque « GRX INF » sur un nœud permet de récupérer tous les indicateurs et de contrôler le nœud hôte « HOST ». APP SFW APP SFW APP APP SFW SFW
  66. 66. La mise au point de votre système d’information GRX INF GRX PLF GRX DOC GRX APP GRX INS Langage Descriptif et Instructif de Plateforme (1/2) Model Definition Module Definition Resource Definition Provider Definition Application Definition Platform Definition System Definition Environment Definition Software Definition Host Definition Virtualization Definition Hardware Definition Network Definition Infrastructure Definition Document Definition Content Definition Support Definition Langage Descriptif LIB Setup Definition Descriptif comme l’ADN : ✓ Orienté Objet avec héritage multiple et polymorphisme au niveau méthode et attribut ; ✓ Support de typage dynamique et de l’auto-trans-typage (auto- casting) ; ✓ Modèle Conceptuel, Logique et Physique des données et des traitement ; ✓ Modèle d’Architecture Logique et Physique ; ✓ Modèle d’Infrastructure ; ✓ Modèle de Performance ; ✓ Modèle de Sécurité ; ✓ Modèle de Suivi Opérationnel ; ✓ Modèle de Tests ; ✓ Support de version par hiérarchie de description. Flow-based Programming Langage Instructif Instructif comme l’ARN : ✓ Naturel (procédural et fonctionnel) ; ✓ Modulaire (Flow-based Programming) et hiérarchique ; ✓ Parallèle et concurrent ; ✓ Orienté Aspect (Evénementiel, Temporel et Exceptionnel) ; ✓ Expressif et Contextuel ; ✓ Interopérable avec d’autres langages (Java, C/C++ et .NET) ✓ Support de composition dynamique.
  67. 67. La mise au point de votre système d’information Langage Descriptif et Instructif de Plateforme (2/2) ▪ Le « Definition Loader » qui charge et analyse les descriptions « DEF » et les librairies spécifiques « LIB », suivant le composant qui s’exécute, soit « GRX APP » ou « GRX PLF » ou « GRX INF » ou « GRX DOC » ou « GRX INS ». En cas d’erreur syntaxique, le « Pipeline Runtime » s’arrête ici. Une fois chargées en mémoire les « Application Definition », « Platform Definition », « Infrastructure Definition », « Document Definition » et « Setup Definition » seront réduites finement en objets manipulables et exécutables stockés en mémoire, soit en « Context Definition » ou « Type Definition » ou « Value Expression » ou « Instruction Expression ». Ils sont sans état et non modifiables. Le moteur de « do:IT » est composé de 2 éléments principaux en « Runtime Pipeline » : ▪ L’ « Instruction Processor » traite chaque bout de « Instruction Expression » en l’instanciant une « Instruction » contextualisée. Chaque « Instruction » peut se sourcer de « Value » issue d'une « Value Expression » composée de constante et/ou d’expression contextuelle. Sachant que chaque « Value » peut être typée par la « Type Definition ». A l’issue de son traitement, chaque « Instruction » peut générer d’autres « Value » ou affecter le « Context » en cours ou voire même générer d’autres définitions dynamiques à charger par le « Definition Loader ». Type Definition Value Expression Instruction Expression Context Definition Definition Loader Application Definition Model Definition Module Definition Platform Definition Infrastructure Definition Resource Definition Provider Definition Software Definition Document Definition Content Definition Support Definition DEF LIB GRX INF GRX PLF GRX DOC GRX APP Host Definition Virtualization Definition Hardware Definition Network Definition System Definition Environment Definition Setup Definition GRX INS DESIGN TIME Instruction Processor Value Instruction Context RUN TIME
  68. 68. La mise au point de votre système d’information Boîte à outils de construction de plateforme (1/2) PLATFORM APPLICATION PLATFORM INFRASTRUCTURE PLATFORM MANAGEMENT DATA PROCESSING COMPUTING INTEGRATION INTERACTION PLATFORM DOCUMENTATION PLATFORM INSTALLATION
  69. 69. La mise au point de votre système d’information Boîte à outils de construction de plateforme (2/2) CTX-02 CTX-03 Simplifier la maintenance et l’évolution Construits à partir des anciens Framework GERRIX
  70. 70. La mise au point de votre système d’information « DO:IT » LES ORIGINES « DO:IT » C’EST QUOI ? « DO:IT » POUR QUI ? BONUS
  71. 71. La mise au point de votre système d’information Logique Applicative Infrastructures Techniques Solutions Logicielles DEVELOPPER Implémentation & Correction TESTER Test & Recette INTEGRER Intégration & Qualification DEPLOYER Déploiement & Vérification OPERER Maintien en Condition Opérationnelle OPTIMISER Performance & Robustesse SECURISER Sécurité & Audit CONCEVOIR Architecture ▪ « do:IT » est de base un outil de description d’architecture, il est donc possible d’utiliser sans forcement concevoir des applications « do:IT » mais l’utiliser seulement pour référencer l’architecture. Architectes (Applicatif – Logiciel – Infrastructure Matérielle et Réseau) Editeurs de logiciel Constructeurs de matériel ▪ Etant un « Flow-based Programming », les éditeurs et les constructeurs de ce type de programmation peuvent proposer des descriptions ouvertes de « FLOW ». ▪ En tant qu’outil de test, il peut établir un modèle de performance, un rapport d’audit de sécurité ainsi que des indicateurs de performance et de supervisions. Architectes & Tech Lead & DevOps Architectes & Tech Lead & SecOps ▪ Il est aussi un outil d’industrialisation pour faire de « CI/CD (Continious Integration / Continious Delivery) » ainsi qu’outil de tests (Non-Régressions, Recette, Performance, des indicateurs de VSR). Testeurs Intégrateurs Ops Intégrateurs & DevOps Développeurs ▪ Les modes de développement offerts par « do:IT » couvrent largement les attentes des développeurs. « I have a dream » for « Unified and Connected IT »
  72. 72. La mise au point de votre système d’information « DO:IT » LES ORIGINES « DO:IT » C’EST QUOI ? « DO:IT » POUR QUI ? BONUS
  73. 73. La mise au point de votre système d’information « Think big, start small, act fast » ( Big Data forum La Défense Paris – IBM, 2014 ) « The network is the computer » ( John Gage – Sun Microsystems, 1995 ) « Think different » ( Steve Jobs – Apple, 2002 ) The IT Endgame « do IT differently » ( GERRIX Application Platform Factory )
  74. 74. La mise au point de votre système d’information The Marvel Avengers Intelligence J.A.R.V.i.S (Just A Rather Very Intelligent System) (Juste un système plutôt très intelligent) F.R.i.D.A.Y (First Realistic Intelligence Data Analysis Yielder) (Premier rendement d’analyse de données d’intelligence réaliste) E.D.i.T.H (Even Dead, I’m the Hero) (Même mort, je suis le héros) A.i.D.A (Artificial Intelligent Digital Assistant) (Assistante numérique intelligente artificielle) T.A.D.A.S.H.i (Tony …)
  75. 75. La mise au point de votre système d’information The IT Architecture Intelligence ( GERRIX as a Service ) ( Cl ud + Ai + i T - The Connected IT ) ( G.a.a.S - Like an IT booster gas - Comme un gaz propulseur de l’IT ) GERRiX as a JARViS G.E. .R.i.X ( Generic Enterprise Reliable and Resilient Intelligent Experience ) ( Expérience générique d’entreprise, intelligente, fiable et résiliente ) ( do IT inside ) {"do":"DATA"} La plateforme « Data » construire autrement {"do":"AI"} L’intelligence native d’une plateforme {"do":"EXCHANGE"} La plateforme d’échange, flexible et sûre, qui unifie votre SI et regroupe les fonctions d’API Management, d’ESB, d’ETL et d’IoT. {"do":"WORKS"} La plateforme de gestion de dossier et d’orchestration de processus.
  76. 76. La mise au point de votre système d’information … go to the Enterprise i.0 - vers l’Entreprise i.0 … ( i as Complex imaginary Number, Virtual in the internet Cloud, Digital and intelligent ) ( 25 years : ¼ century of dream - ¼ siècle de rêve ) ( 1995 – 2020 ) ( The IT Endgame – do IT differently )
  77. 77. La mise au point de votre système d’information The IT Architecture IntelligenceThe Marvel Avengers Intelligence * * * *

×