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érentes architectures distribuées, puis présente les architectures de données distribuées et de services, et enfin les architectures Big Data et Cloud.

Il répond aux questions suivantes :

  • Web 2.0 et 3.0 : quelles opportunités ?
  • Architectures multi-tiers, middlewares transactionnels et Web Services.
  • Contrôle décentralisé 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 versus WOA : les meilleurs cas d’usage ?
  • 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 ?
  • Fog computing : la solution pour les objets connectés ?


Évolutions du Web et de ses applications


Évolution des applications distribuées

  • Tendances : mobilité, Big Data, connectivité.
  • Portails d’informations et de services.
  • Transactions de commerce électronique.
  • 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).

Évolutions du Web

  • Protocoles et architectures.
  • Les formats d’échange de données : XML versus JSON.
  • Web 2.0 : échange de données XML, nouvelles formes d’interaction, l’exemple de Wikipédia.
  • Du client léger au client riche avec HTML5, CSS3, JavaScript et AJAX.
  • Les problème de sécurité avec AJAX.
  • Le RIA: Adobe Flash, JavaFX, Microsoft Silverlight.
  • Les mashups.
  • Web 3.0 : sémantique des ressources avec RDF et SparQL, ontologies avec OWL.

Architectures distribuées


Architectures multi-tiers

  • Modèles 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 données (DOA), orientées services (SOA), orientées Web (WOA), peer-to-peer (P2P), massivement parallèles (MPP).

Sécurité

  • Sécurité des applications distribuées : confidentialité, intégrité, disponibilité.
  • Les défenses : authentification, autorisation, chiffrement, audit, contrôle d’usage, rétention limitée, anonymisation, législation.
  • Le chiffrement : clés privées, clés publiques, certificats.
  • Techniques de sécurité réseau : antivirus, VPN, firewalls, DMZ, serveurs proxy,
  • Techniques de protection des données : serveurs de données cryptées, contrôle d’accès DAC, RBAC et MAC.
  • Protection des données personnelles : impact du RGPD.

Web Services

  • Architecture des Web Services : client, fournisseur, annuaire de services.
  • Description des services avec WSDL.
  • Référencement des services, les annuaires de services, l’échec de UDDI.
  • Le protocole de communication SOAP.
  • La composition de services avec BPEL.
  • Qualité de service et sécurité : WS-reliability, WS-transaction, WS-security, etc.
  • Etude de cas : réutilisation de web services chez CenturyLink.

Architectures de données distribuées


Intégration des données

  • Intégration réelle (data warehouse) ou virtuelle (fédérateur de données).
  • Médiateur, adaptateur et ETL.
  • Intégration de schémas et d’ontologies : 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.

SGBD transactionnels distribués

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

Architectures parallèles de données

  • Objectifs : speed-up, scale-up, scale-out, élasticité.
  • Architectures de stockage : NAS versus SAN en cluster.
  • Architectures parallèles : SMP, NUMA, cluster shared-disk, cluster shared-nothing.
  • Techniques de base : stockage en ligne ou en colonne, sharding, indexation, failover, parallélisation des requêtes.
  • Produits principaux : Actian, IBM, Microsoft, Oracle Exadata, MySQL Cluster, Teradata, HP Vertica, ParAccel, EMC GreenPlum.
  • Étude de cas : le data warehouse Walmart avec Teradata.

Le Peer to Peer

  • Objectifs : 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 (ex. Bittorrent), communication (ex. Skype), calcul distribué (ex. Seti@home).
  • Tolérance aux fautes et consensus distribué : l’algorithme Paxos.

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 par 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


Gestion de services avec serveurs d’applications

  • Le modèle JEE : les API standards, vers la simplification avec JEE 8.
  • Le problème de la persistance des objets Java ; les solutions de type TopLink, Hibernate, Versant enJin.
  • Les principaux serveurs JEE : WebSphere, WebLogic, JBoss, Geronimo, Jonas, GlassFish.
  • L’alternative légère à JEE avec POJO, Spring et Tomcat.
  • .NET de Microsoft.

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)

  • Principes, les micro-services.
  • Le modèle d’architecture REST : identification des ressources par URI, accès par hyperliens, protocole sans état (HTTP).
  • SOAP versus REST.
  • Les frameworks de services RESTful.
  • L’alternative aux frameworks : RESTful MVC.
  • Principes de conception WOA.
  • Etude de cas WOA.

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.
  • Etude de cas : salle de marché avec EDA.

Architectures Big Data


La pile logicielle Big Data

  • Les niveaux fonctionnels : stockage, organisation, traitement, intégration, outils d’analyse.
  • L’architecture Hadoop, comparaison avec les architectures Lambda et Kappa.
  • Le stockage en fichiers distribués dans un cluster : HDFS.
  • Comparaison avec les SGBD relationnels.

Les frameworks de Big Data

  • Le modèle de données clé-valeur, partitionnement des fichiers : GFS versus HDFS.
  • Le framework MapReduce : les fonctions Map et Reduce, tolérance aux fautes et équilibrage de charge, l’écosystème Hadoop.
  • Le framework Spark: le langage Scala, transformations et actions, stockage in-memory, Spark SQL, Spark Streaming.
  • Editeurs principaux: Cloudera, Databricks, Datameer, Datastax, Greenplum HD, Hurence, Hortonworks, Talend, VMware.
  • Le calcul de graphes avec Google Pregel.
  • Etude de cas Facebook : des 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 multi-workload.
  • Enterprise Hadoop : intégration, sécurité et gouvernance avec Hadoop.
  • Meilleures pratiques.
  • Etude de cas dans le commerce de détail : performance du marketing ciblé.

Intégration de Big Data dans un DW

  • Besoins : acquisition, organisation, analyse.
  • Place de Hadoop dans une architecture d’intégration.
  • Plateformes d’intégration : IBM, Microsoft, Oracle.

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


Le Cloud computing

  • Objectifs : hébergement de services, passage à l’échelle, élasticité, hautes performances, pay-per-use.
  • Origines : ASP, Software as a Service (SaaS), Infrastructure as a Service (IaaS), Platform as a Service (PaaS).
  • 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, Cloudwatt, Dassault Systèmes, Numergy, Orange, Thales.
  • Les conteneurs d’application : Docker, sécurité des conteneurs, meilleures pratiques.
  • Les applications Cloud-ready : principes de construction.
  • Le Cloud hybride : Cloud privé virtuel, le projet OpenStack.
  • Fog computing et IoT : traitement des données au plus près des objets connectés.

Architecture 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.

Les SGBD NoSQL

  • SGBD clé-valeur : Amazon DynamoDB, Apache Cassandra, Linkedin Voldemort.
  • SGBD tables : Google Bigtable, Hadoop Hbase, Apache Accumulo.
  • Etude de cas Hbase, Cassandra.
  • SGBD documents : MongoDB, CouchBase, LinkedIn Espresso.
  • Etude de cas MongoDB.
  • SGBD graphes : Neo4J, DEX/Sparksee, AllegroGraph.
  • Etude de cas Neo4J.
  • SGBD NewSQL : Google F1, CockroachDB, LeanXcale, MemSQL, SAP HANA, VoltDB.
  • Etude de cas AdWords avec F1.
  • Critères de choix d’un SGBD NoSQL.