Architectures d'Applications Distribuées 

Concepts, technologies et approches architecturales.
Sommaire

LE MOT DE L’INTERVENANT

Avec ce séminaire, je compte vous éclairer dans vos choix...

Avec ce séminaire, je compte vous éclairer dans vos choix stratégiques en matière d’architectures d’applications distribuées, afin de pouvoir maîtriser leur complexité dans un monde connecté. Vous pourrez comprendre les concepts et approches basées sur les technologies du Web afin de mettre en place des architectures de données et de services distribués. Vous pourrez aussi apprécier les solutions à mettre en place pour intégrer le Big Data et le Cloud, et rendre votre SI réactif face aux flux croissants de données.

Patrick Valduriez
Docteur en informatique, directeur de recherche à Inria et expert en Bases de Données, Big Data et Systèmes d’Informations, senior scientist au Micrœlectronics and Computer Technology Corporation (USA), professeur à l’Université Paris 6 et Directeur de Dyade entre Bull et Inria. Consultant international, auteur de « Principles of Distributed Database Systems ».
Lire la suite Cacher le texte

Pour évoluer dans un monde connecté, avec des réseaux et systèmes de communication toujours plus performants, les applications doivent être nécessairement distribuées. Afin de maîtriser la complexité de la distribution, il est indispensable de maîtriser les concepts, technologies et approches architecturales. Après une analyse des dernières évolutions du Web, le séminaire introduit les différents modèles d’architectures distribuées, puis présente les architectures de données distribuées et de services, et enfin les architectures Big Data et Cloud.

Ce séminaire répond aux questions suivantes :

  • Web 2.0 et Web sémantique : quelles opportunités pour les applications d’entreprise?
  • Interopérabilité des applications : du couplage fort au couplage faible ?
  • Contrôle décentralisé et confiance avec le P2P : l’exemple de la Blockchain.
  • Quid de la sécurité dans un contexte distribué et ouvert ?
  • Impact du RGPD sur les données personnelles ?
  • Données distribuées : intégration réelle ou virtuelle ?
  • SOA vs WOA : les meilleurs cas d’usage ?
  • Comment migrer vers l’architecture microservice ?
  • Event-driven SOA : vers des SI réactifs ?
  • Architectures Big Data: le Data Lake, impact sur l’existant?
  • Architectures Cloud : comment intégrer avec le SI ?
  • Edge versus Fog computing : quelles solutions pour les objets connectés ?


Applications distribuées et Web


Applications distribuées

  • Tendances : mobilité, Big Data, connectivité et IoT.
  • Réseaux sociaux, communautés professionnelles, crowdsourcing et collaboration à grande échelle.
  • Applications mobiles : smartphones et tablettes.
  • Hébergement de services, data centers et Cloud.
  • Les besoins : interopérabilité (anyhow), accès à partir de mobiles (anywhere), haute disponibilité (anytime).

Le Web

  • Protocoles et architectures.
  • Les formats d’échange de données : XML vs JSON.
  • Langages de programmation interprétés : JavaScript, Python, Ruby, etc.
  • Web services : architecture, services standards, WSDL, le protocole SOAP, composition de services avec BPEL.
  • Du client léger au client riche avec HTML5, CSS3, JavaScript et AJAX.
  • Les problème de sécurité avec AJAX.
  • Intégration de services avec les mashups.
  • Web sémantique : RDF et SPARQL, l’exemple de Google Knowledge Graph, les Triplestores.

Architectures distribuées


Architectures multitiers

  • Modèles d’architecture : 1-tier, 2-tiers, 3-tiers, n-tiers.
  • Les différents niveaux : présentation, sécurité, application, intégration, ressources.
  • La distribution des clients : léger, lourd ou riche.
  • La distribution des serveurs : présentation, Web, pare-feu, applications, données.
  • Mise en œuvre du patron d’architecture MVC (modèle-vue-contrôleur) dans le 3-tiers.
  • Architectures orientées services : SOA, WOA.
  • Architectures distribuées et parallèles : Peer-to-Peer (P2P), cluster shared-disk, cluster shared-nothing.Sécurité
  • Sécurité des applications distribuées : confidentialité, intégrité, disponibilité.
  • Le chiffrement : clés privées, clés publiques, certificats.
  • Principaux modèles d’authentification.
  • Techniques de protection des données : serveurs de données cryptées, contrôle d’accès DAC, RBAC et MAC.
  • L’anonymisation : enjeux, randomisation versus généralisation, étude de cas, les bonnes pratiques.
  • Protection des données personnelles et législation: impact du RGPD sur le SI.

Architectures de données distribuées


Intégration des données

  • Intégration réelle avec le Data Warehouse : ETL et SGBD parallèle.
  • Intégration virtuelle avec fédérateur de données : les adaptateurs.
  • Intégration de schémas : les conflits sémantiques, le problème de la résolution d’entité.
  • Qualité des données et Master Data Management.
  • L’offre produits et services.

Transactions distribuées et réplication de données

  • Transactions distribuées : les propriétés ACID, le protocole 2PC, tolérance aux pannes et scalabilité.
  • Réplication de données : cohérence et rafraichissement des copies.
  • Produits principaux : Oracle, IBM DB2, SQL Server, SAP Sybase, PostgreSQL, MySQL.

Le Peer-to-Peer

  • Autonomie des pairs, contrôle décentralisé, auto-adaptation, très grande échelle.
  • Topologie des réseaux P2P : non structurés, structurés (DHT), superpeers.
  • Applications principales : partage de contenus, communication, calcul distribué.
  • Tolérance aux fautes et consensus distribué : les algorithmes Paxos et PBFT.

La Blockchain

  • Confiance dans un monde numérique : problèmes avec une autorité centrale.
  • Blockchain publique ou privée, le Bitcoin.
  • Concepts : P2P, réplication, consensus (mining), transactions, chiffrement à clé publique.
  • L’attaque Goldfinger des 51%.
  • Blockchain 2.0 : la Blockchain programmable, les Smart Contracts, le projet Hyperledger.
  • Les top use cases : services financiers, micropaiements, droits numériques, identité numérique, logistique, IoT.
  • Opportunités et risques.

Architectures de services


Service Oriented Architecture (SOA)

  • Éléments essentiels : messages descriptifs, format d’échange standard, extensibilité, découverte de service.
  • ESB : interopérabilité des Web Services, gestion de messages distribués, équilibrage de charge.
  • L’offre du marché.
  • Succès et échecs du SOA ; écueils à éviter.

Web Oriented Architecture (WOA)

  • Le modèle d’architecture REST.
  • SOAP vs REST.
  • Les frameworks de services RESTful.
  • Principes de conception WOA.
  • Étude de cas Textile.com.

Architecture microservice

  • Le modèle d’architecture monolithique : avantages et inconvénients.
  • Principes d’une architecture microservice : conception dirigée par le domaine, KISS.
  • Passage à l’échelle dans un cluster shared-nothing, monitoring.
  • Les frameworks de microservices : Kubernetes, Cloud Spring.
  • Déploiement dans les conteneurs d’application : Docker, sécurité des conteneurs.
  • Impact sur l’organisation du SI et des équipes.
  • Avantages et inconvénients ; les antipatterns.

Event-Driven Architecture (EDA)

  • SI dirigés par les événements : Event-Driven BPM, Event-Driven SOA.
  • Business activity monitoring (BAM).
  • Gestion d’événements complexes avec Complex Event Processing (CEP).
  • Gestion de flux d’événements avec Event Stream Processing (ESP).
  • Les principaux CEP : Tibco Streambase, Microsoft StreamInsight, Parstream, etc.
  • Étude de cas : détection de fraude en ligne.

Architectures Big Data


La pile logicielle Big Data

  • Les niveaux fonctionnels : stockage, organisation, traitement, intégration, indexation et analyse.
  • L’architecture Hadoop, comparaison avec les SGBD relationnels.
  • Le stockage en fichiers distribués dans un cluster avec HDFS.
  • Editeurs : Cloudera-Hortonworks, Datameer, Datastax, Greenplum HD, Talend, VMware.

Les frameworks de Big Data

  • MapReduce : les fonctions Map et Reduce, tolérance aux fautes et équilibrage de charge.
  • Spark: le langage Scala, transformations et actions, stockage in-memory, Spark SQL, Spark Streaming.
  • Le calcul de graphes avec Google Pregel.
  • Étude de cas Facebook : 1000 milliards de liens avec Apache Giraph.

Le Data Lake

  • Problèmes avec les entrepôts de données : développement avec ETL, schéma en écriture.
  • Principes : schéma en lecture, traitement de données multiworkload.
  • Enterprise Hadoop : intégration, sécurité et gouvernance avec Hadoop.
  • Étude de cas dans le commerce de détail : performance du marketing ciblé.

Intégration de Big Data dans un Data Warehouse

  • Besoins : acquisition, organisation, analyse.
  • Place de Hadoop : les ETL comme Splunk, accès HDFS avec tables externes SQL.
  • Exemples : HadoopDB, Microsoft HDInsight et Polybase, IBM Analytics Engine, Oracle Big Data Appliance.
  • Le Data Lake opérationnel : traitement HTAP sur Big Data.

Méthodologie pour un projet Big Data

  • Stratégie : objectifs métiers, besoins en données, qualité des données.
  • Equipe : rôles et compétences, cadre pour la gouvernance des données.
  • Outils : le choix de développer du code ou utiliser.
  • Processus : évolutivité et réutilisation.
  • Architecture : de la sandbox à l’architecture idéale.
  • Meilleures pratiques.

Architectures Cloud, Edge et Fog


Le Cloud Computing

  • Objectifs.
  • Modèles de services : SaaS, IaaS, PaaS, XaaS.
  • Différents types de Clouds : public, privé, communautaire, hybride.
  • Fonctions d’un Cloud : administration, sécurité, annuaire, virtualisation des serveurs, gestion des SLA.
  • Les acteurs majeurs : Amazon, Google, IBM, HP, Microsoft, Oracle-Sun, SalesForces, VMware.
  • Le Cloud en France : Atos-Bull, Dassault Systèmes, Orange, Thales.
  • Les applications Cloud ready : principes de construction.
  • Le Cloud hybride : Cloud privé virtuel, le projet OpenStack.

Architectures de gestion de données dans le Cloud

  • La fin de l’approche « taille unique » du relationnel.
  • Architecture scalable dans le Cloud.
  • Le théorème CAP : analyse et impact.
  • SGBD NoSQL : clé-valeur, grande table, document, graphe.
  • SGBD NewSQL : scalabilité NoSQL et cohérence relationnelle.
  • Big Data as a Service : panorama des offres.

Edge et Fog Computing

  • Objectifs, différences, complémentarité avec le Cloud.
  • Intégration dans une plateforme IoT.
  • Standardisation avec le consortium OpenFog.
  • Les acteurs majeurs : Cisco, Amazon, Dell, Intel, Microsoft
  • Les problèmes de sécurité.
  • Etude de cas : les smart cities.