Vous êtes sur la page 1sur 25

02/10/2020

Applications réparties

Cours 3 : Applications réparties IPoAC


RFC 1149
1990 : description par David Waitzman

Guillaume LOUP
Master 2 (ISC - TNI) RFC 2549
2020-2021 1999 : intégration de « qualité de service »

Supports de M. Chellali
RFC 6214
2011 : adaptation à l’IPv6
https://ecampus.paris-
saclay.fr/course/view.php?id=11300
2020-2021 2/96

Applications réparties Applications réparties

IP over Avian Carriers


IP par transporteurs aviaires
IP over Avian Carriers
IP par transporteurs aviaires

Test 2001 Test 2009


Envoi de 9 paquets sur 5kms
par un groupe d’utilisateurs Linux de Envoi de 4 Go sur 96kms par une
Norvège seule mémoire flash en Afrique du
Chaque paquet est porté par Sud
un seul pigeon est fait office de ping
2h pour le pigeon
Résultats : 55% des paquets 25h en ADSL
perdus avec un temps de réponse
compris entre 3000 et 6000s

2020-2021 3/96 2020-2021 4/96

1
02/10/2020

Applications réparties Applications réparties

Plan Pourquoi des applications réparties ?


• Introduction
• Besoins propres des applications
• Architectures o Intégration d’applications existantes initialement
séparées
• Systèmes distribués
o Intégration massive de ressources
• Distribution des données • Grilles de calcul, gestion de données
o Pénétration de l’informatique dans des
• Distribution des traitements domaines nouveaux d’application
• Intégration d’objets du monde réel (informatique
• Cloud Computing
omniprésente (ubiquitous computing))
• Conclusion
2020-2021 5/96 2020-2021 6/96

Applications réparties Applications réparties

Pourquoi des applications réparties ?


• Possibilités techniques • Introduction
o Coût et performances des machines et des
communications
Architectures
o Interconnexion généralisée • Systèmes distribués
• Exemple 1 : interpénétration informatique- • Distribution des données
télécom-télévision • Distribution des traitements
• Exemple 2 : réseaux de capteurs • Cloud Computing
• Conclusion

2020-2021 7/96 2020-2021 8/96

2
02/10/2020

Applications réparties Applications réparties

Architecture 2-tiers (client-serveur) Architecture 2-tiers (client-serveur)


• Application décomposée en clients et services Niveau 1 Niveau 2
• Les services :
o Sont passifs (attendent une connexion)
Envoi des requêtes
o Réceptionnent une requête
o Envoient une réponse
• Les clients Requête :
http,
o Sont actifs : initient une connexion
Fichiers, BDD
o Envoient des requêtes
SQL..
o Attendent les réponses des services
o Reprennent leur exécution Envoi des réponses
• La communication est synchrone (dans le modèle de
base) : le client est bloqué en attente de la réponse
Client Serveur
2020-2021 9/96 2020-2021 10/96

Applications réparties Applications réparties

Rappel : Modes de transport Client/serveur UDP


• TCP : mode connecté
o Fiable mais consommateur de bande passante Client Serveur
o Contrôle des informations envoyées • Rôle ambivalent du
o Réémission des paquets perdus socket() socket() client et du serveur
o Elimination des paquets dupliqués • Echanges simples :
o Adaptation du débit bind() bind() communication
unilatérales
• UDP : mode non connecté
sendto() recvfrom() • Peu d'appels systèmes
o Communication unidirectionnelle simple
en définitive
o Utilisé pour le streaming
o Utilisé dans les réseaux considérés fiables recvfrom() sendto()
o Peu consommateur en bande passante
close() close()

2020-2021 11/96 2020-2021 12/96

3
02/10/2020

Applications réparties Applications réparties

Client/serveur TCP Architecture 2-tiers : inconvénients


Client Serveur • Un client "lourd"
• Rôle séparés o Contient toute la logique de présentation des données
socket() socket() • Communication o Interagit directement avec le serveur de données
bilatérales • Problèmes :
• Appels systèmes plus
bind() bind() o Inadapté pour de grandes structures
nombreux
o Déploiement du client lourd sur un parc de machines
Connect() Accept() • Maintenance longue et coûteuse !
o Effort de développement généralement important
write() read() • Nécessite des connaissances en IHM
• Nécessite des connaissances avancées en réseaux
read() write()

close() close()
2020-2021 13/96 2020-2021 14/96

Applications réparties Applications réparties

Architecture 3-tiers Architecture 3-tiers


• Principe Niveau 1 Niveau 2 Niveau 3
o Utiliser un client léger (par ex. navigateur web) Envoi des
o Centraliser la logique applicative sur un serveur requêtes
• Déporter la logique de traitement sur un serveur

• Organisation en 3 couches Requête :


http,
o La couche Présentation Fichiers, BDD
o La couche Métier SQL.. Envoi des
o La couche Accès aux données réponses

Serveur Serveur de base


Client
d’applications de données
2020-2021 15/96 2020-2021 16/96

4
02/10/2020

Applications réparties

Architecture 3-tiers Couche présentation


• Partie visible et interactive de l'application (IHM)
• Affiche et restitue les données sur le client
• Dialogue avec l'utilisateur :
o Relaie les requêtes utilisateur à la couche métier
o Présente les informations retournées par cette dernière

• Associée au client léger


o Navigateur internet
o Guichet et distributeurs automatiques

2020-2021 18/96

Applications réparties Applications réparties

Couche présentation Couche Métier (Business)


• Peut avoir des représentations différentes • Parfois aussi appelée Middleware
sans changer la finalité de l'application • Partie fonctionnelle de l'application
o Application graphique (WIMP) ou textuelle (lignes de o Implémente la logique de traitement de l'application
commande) o Décrit les opérations sur les données
o Représentée en HTML (navigateur web) ou en WML
(Smartphone, tablette) • Elle ne change pas si on change l'interface
utilisateur ou la façon d'accéder aux données
• Exemple : distributeur de billet
o Représentations différentes (selon la banque, le
pays…etc.)
o Les fonctionnalités et services restes identiques

2020-2021 19/96 2020-2021 20/96

5
02/10/2020

Applications réparties Applications réparties

Couche Métier (Business) Couche Accès aux données (data access)


• Offre des services applicatifs et métier à la • Gère l'accès aux données du système, voire de
couche Présentation et affiche les résultats celles d'autres systèmes
des traitements • Fournit des services d'accès aux données à la
couche métier
• S'appuie sur les services fournis par la
• Service encapsulant une base de données (cas
couche Accès aux données général)
• Met en œuvre les règles de gestion et de
contrôle du système

2020-2021 21/96 2020-2021 22/96

Applications réparties Applications réparties

Couche Accès aux données (data access) Avantages


• Données propres à l'application • Allègement du poste de travail client
o Données pérennes
• Prise en compte de l'hétérogénéité des plates-
o Stockées dans de simples fichiers (XML ou binaires) ou dans une base de
données formes
o Accès aux données est le même quelque soit le support • Amélioration de la sécurité des données, en
• Données gérées par une autre application supprimant le lien entre le client et les données
o L’application s’appuie sur la capacité d’une autre application à fournir
des données • Rupture du lien de propriété exclusive entre
o Données volatiles application et données
• Meilleure répartition de la charge entre différents
serveurs d'applications

2020-2021 23/96 2020-2021 24/96

6
02/10/2020

Applications réparties Applications réparties

Déclinaison des architectures multi-tiers Architecture multi-tiers


• Architecture 2-tiers : client-serveur classique Une généralisation :
• Architecture 3-tiers : application web • Multiplication des services
courante • Partage de l'application ou des ressources
o Client léger (par ex. navigateur Web)
o Un serveur d'application (par ex. serveur Web)
entre ces services
o On parle alors de distribution ou répartition
o Un serveur de base de données

• Et si on généralise ?

2020-2021 25/96 2020-2021 26/96

Applications réparties Applications réparties

Architecture multi-tiers
• Architecture multi-tiers : • Introduction
o Architecture clients-serveurs • Architectures
o Application exécutée par plusieurs agents logiciels
o "Tier" veut dire classé/disposé/rangé en anglais Systèmes distribués
o Français : Architecture multi-niveau
• Distribution des données
• Distribution des traitements
• Cloud Computing
• Conclusion

2020-2021 27/96 2020-2021 28/96

7
02/10/2020

Applications réparties Applications réparties

Définition des applications réparties Définition d’un système réparti


• Application qui, suivant les principes de l'architecture • Ensemble composé d’éléments reliés par un
client-serveur, peut tourner de façon transparente sur
plusieurs ordinateurs reliés à travers un réseau système de communication
informatique, indépendamment du système utilisé
o Plusieurs services mais pas forcement plusieurs serveurs
o Fait surtout appel à un ensemble de techniques de programmation
• Ces éléments ont des fonctions de traitement
• Synonymes (processeurs), de stockage (mémoire), de relation
o Applications n-tiers, applications distribués
avec le monde extérieur (capteurs, actionneurs)

2020-2021 29/96 2020-2021 30/96

Applications réparties Applications réparties

Systèmes réparties Caractéristiques des systèmes répartis


• Les différents éléments du système ne fonctionnent pas • Propriétés souhaitées
o Le système doit pouvoir fonctionner (au moins de façon
indépendamment mais collaborent pour réaliser une ou dégradée) même en cas de défaillance de certains de ses
plusieurs tâches communes éléments

o Le système doit pouvoir résister à des perturbations du


système de communication (perte de messages,
• Conséquence :une partie au moins de l’état global du déconnexion temporaire, performances dégradées)
système est partagée entre plusieurs éléments (sinon,
o Le système doit pouvoir résister à des attaques contre sa
on aurait un fonctionnement indépendant) sécurité (violation de la confidentialité, de l’intégrité, usage
indu de ressources, déni de service)
2020-2021 31/96 2020-2021 32/96

8
02/10/2020

Applications réparties Applications réparties

Caractéristiques des systèmes répartis Difficultés


• Conséquences • Propriété d’asynchronisme du système de
o Des décisions doivent pouvoir être prises localement, et dans communication (pas de borne supérieure
une situation d’incertitude, (sans connaissance d’un état global, stricte pour le temps de transmission d’un
d’ailleurs difficile à définir) message)

• Conséquence : difficulté pour détecter les


défaillances

2020-2021 33/96 2020-2021 34/96

Applications réparties Applications réparties

Difficultés Difficultés
• Dynamisme (la composition du système • Malgré ces difficultés, des grands systèmes
change en permanence) répartis existent et sont largement utilisés
o le DNS (Domain Name System)
• Adresse IP des sites web difficiles à mémoriser pour les
• Conséquences : utilisateurs
o Difficulté pour définir un état global • Adresse alphanumérique FQDN : Fully Qualified Domain Name
o Difficulté pour administrer le système • Le système DNS assure le lien entre les deux types d’adresse.

2020-2021 35/96 2020-2021 36/96

9
02/10/2020

Applications réparties Applications réparties

Qu'est ce qui peut être reparti ?


• Des données : base de données distribuées • Introduction
o Données reparties sur plusieurs machines reliées en réseau • Architectures
• Des traitements • Systèmes distribués
o Des fonctions exécutées à distance
o Des objets distants Distribution des données
o Des tâches en parallèle sur un parc homogène ou hétérogène de
machines : • Distribution des traitements
• Lié aux notions de cluster, grid et cloud computing
• Cloud Computing
• Idée générale • Conclusion
o Plusieurs machines font plus de choses qu'une seule!

2020-2021 37/96 2020-2021 38/96

Applications réparties Applications réparties

Architecture BitTorrent
Distribution des données Serveur de
suivi des
Obtenir des
informations de
D’autres pairs torrents l’ensemble des

• Quand les données sont sur plusieurs téléchargent


le fichier
pairs
6
machines... Serveur
.torrent 5
Pair/Auteur
indexeur exécutant le
• Exemple 1 : base de données distribuées Le premier pair client BitTorrent
o DNS : Domain Name System (résolution des noms de domaine) obtient des
informations
• Exemple 2 : distribution de fichiers Auteur 1 sur l’ensemble Diverses
charge son
Premier pair
des paris 3 sources du
• Protocoles d’échange de données de type
télécharge
fichier le fichier fichier à
.torrent sur
le serveur
.torrent 2 télécharger
7
peer-to-peer : indexeur

o Bitcoin
o µTorrent Auteur du Premier pair Pair/Auteur
.torrent créé termine son exécutant le
sur son PC transfert de client BitTorrent
ficher
4
Borges, R., Patton, R. M., Kettani, H., & Masalmah, Y. (2011). Bitpredator: A discovery algorithm for bittorrent initial
2020-2021 39/96 2020-2021
seeders and peers. Oak Ridge National Lab.(ORNL), Oak Ridge, TN (United States). 40/96

10
02/10/2020

Applications réparties Applications réparties

Distribution des traitements Distribution des traitements


• Répartition de la charge • Calcul scientifique massivement parallèle
• Exemple : wikipedia : 40 000 requêtes/s • Type de calcul
o Simulations d’écoulement de fluides
o Simulations nucléaires, . . .
• Matériel
o Utilisation de clusters de machines
o Utilisation de super-calculateurs
• Outils de programmation
o Abstractions de machines en réseau et/ou multi-processeurs :
• PVM (Parallel Virtual Machine)
• MPI (Message Passing Interface)

2020-2021 41/96 2020-2021 42/96

Applications réparties Applications réparties

Distribution des traitements Noms de domaines


• Plateformes de calcul distribué (grid Problème :
• Difficulté à retenir les adresses IP
computing) o Se rappeler d'une adresse IP est assez difficile : 212.27.48.10
o Mais alors de plusieurs (209.85.137.99, 139.124.187.4,... ), c'est franchement
o Exemple : Folding@home pénible !
o Etude du repliement des protéines pour comprendre • Retenir des noms comme www.free.fr,
les mécanismes liés au cancer, à la maladie www.google.com, www.facebook.fr : plus facile
d'Alzheimer, au fonctionnement des médicaments • Nécessite d'utiliser un système plus parlant !
o http://folding.stanford.edu • Création d’un système de nom de plus haut niveau
: DNS
o Annuaire pour Internet

2020-2021 43/96 2020-2021 44/96

11
02/10/2020

Applications réparties Applications réparties

Domain Name System : DNS Noms de domaines


• Résolution de nom = la relation entre un nom de • Organisation hiérarchique des réseaux,
machine (hostname) et son adresse IP donc des noms (regroupement en
• Résoudre un nom de domaine consiste à trouver domaines)
l'adresse IP qui lui est associée
• Noms appelés aussi DNS (Domain Name
• La correspondance entre un nom de machine et
une adresse IP est bien normalisée System), 1987 (RFC 1034, 1035)
• Pour que ce système fonctionne, il faut qu'il y ait au plus • Base de donnée des noms distribuée :
une adresse IP qui corresponde au nom d'une machine o Chaque domaine possède un ou plusieurs contrôleurs de
domaine (DNS) stockant une partie de la BDD
• Google.fr : 193.51.224.177

2020-2021
Cours1 : introduction au WWW 45/96 41 2020-2021 46/96

Applications réparties Applications réparties

Hiérarchie des domaines Convention de nommage


• Hiérarchie arborescente (nœuds + feuille) • Insensibilité à la casse
• Un nœud = un domaine : • Chiffres, - et _ autorisés, espaces et
o Un ou plusieurs contrôleurs de domaine par nœud tabulations interdits
o Chaque nœud porte un nom, sauf la racine
• 63 caractères max par nœuds, 12 par
• Une feuille = une machine :
o Nom complet donné en remontant de la feuille vers la racine
convention
o Séparateur entre chaque domaine : . • Nom complet : 255 caractères max

2020-2021 47/96 2020-2021 48/96

12
02/10/2020

Applications réparties

Structure générale Le contrôleur de domaine


• Rôles
o Gérer les noms d'un domaine
o Répondre aux requêtes DNS
o Mettre en cache des informations DNS

• Informations stockées
o Couples noms/adresses IP des machines de son domaine
o Couples domaines/adresses IP des contrôleurs des
domaines pères
o Couples sous-domaines/adresses IP des contrôleurs de
sous-domaine

2020-2021 50/96

Applications réparties Applications réparties

Le contrôleur de domaine Client DNS


Conséquences Rôle
• Un contrôleur de domaine ne possède pas • Récupérer les correspondances nom de
toutes les correspondances adresses IP/nom de machine/adresse IP auprès de ses serveurs
machine du monde DNS
o Données reparties sur les différents contrôleurs de domaine o Généralement, serveur DNS = contrôleur de domaine
o Retrouver l'adresse IP associée à un nom de machine peut faire
intervenir plusieurs contrôleurs de domaines
• Mettre en cache les informations DNS

2020-2021 51/96 2020-2021 52/96

13
02/10/2020

Applications réparties Applications réparties

Client DNS Interrogations successives


Modes d'interrogation Principe (en mode récursif)
1. Le client DNS interroge le serveur DNS
• itératif : le client interroge tour à tour les
2. Si le serveur DNS ne connaît pas la correspondance
contrôleurs de domaine en commençant par adresse IP/nom (sinon aller en 4) :
son serveur DNS o Identifie le domaine père commun
o Interroge le contrôleur de domaine concerné
• récursif : le client interroge son serveur DNS o Ce dernier indique le contrôleur de domaine fils concerné

qui interroge tour à tour les contrôleurs de 3. Le serveur DNS interroge les contrôleurs de
domaine (client plus simple à programmer) domaine de fils en fils jusqu’à obtenir la
correspondance adresse IP/nom
4. Le serveur DNS retourne la réponse au client DNS

2020-2021 53/96 2020-2021 54/96

Applications réparties Applications réparties

Exemple 1 Exemple 2
• iupc62.ufrst.univ-evry.fr veut contacter www.univ- • iupc62.ufrst.univ-evry.fr veut contacter
evry.fr et a pour serveur DNS : aramis.ufrst.univ- www.google.fr
evry.fr qui gère le domaine ufrst

2020-2021 55/96 2020-2021 56/96

14
02/10/2020

Applications réparties Applications réparties

Implémentation d u DNS
• Protocoles de transport • Introduction
o UDP (port 53), 520 octets max : • Architectures
• Pour requêtes standards • Systèmes distribués
o TCP (port 53) • Distribution des données
• Pour échanges de zones de contrôleurs à contrôleurs

• Formats imposés Distribution des traitements


o Pour les datagrammes de requête • Cloud Computing
o Pour les données dans la base • Conclusion

2020-2021 57/96 2020-2021 58/96

Applications réparties Applications réparties

Problématique Solutions
• Accès à des ressources de calcul distantes • Solution 1 : implémentation à la main
• Une partie du programme est déportée sur une o Pour chaque situation, on programme tout à l'aide des
autre machine sockets !
o Solution fastidieuse à long terme !
• Les deux parties doivent pouvoir communiquer
• Solution 2 : mettre en place ou utiliser une
solution générique
o Solution qui doit fonctionner pour n'importe quel type
d'objet
o L'objectif est de s'affranchir de la programmation bas
niveau des sockets !

2020-2021 59/96 2020-2021 60/96

15
02/10/2020

Applications réparties Applications réparties

Solution générique Principaux problèmes


Côté programme principal • Description générique d'un objet
o Affectation des ressources au matériel (localisation)
• On doit : o Comment encoder/décoder les informations de manière
o Disposer d'une description de l'objet distant générique :
o Connaître l'endroit ou il est localisé • de manière à ce que l'objet distant sache :
o Appeler les fonctions de cet objet o la méthode à lancer
Côté objet distant o les paramètres à luipasser
• de manière à ce que le programme principal :
• On doit fonctionner comme un serveur o interprète le résultatfourni
o Réceptionner et interpréter les requêtes o ou détecte un problème dans la transmission
o Effectuer les traitements demandés • Quel protocole de communication mettre en
o Retourner le résultat des traitements
place ?

2020-2021 61/96 2020-2021 62/96

Applications réparties Applications réparties

Interface Sérialisation et desérialisation


• Définition (au sens programmation orienté • Sérialisation (marshalling) : processus visant à
objet) : encoder un objet en mémoire sous la forme
o description du comportement d'un composant logiciel d'une suite d'octets
o ensemble de méthodes sans implémentations
o sorte de contrat passé entre : • Desérialisation (unmarshalling) : processus
• un objet qui utilise l'interface (compte sur le service fourni) inverse, qui à partir d'une suite d'octets,
• un objet qui réalise l'interface (fourni les services décrits)
reconstitue les données

2020-2021 63/96 2020-2021 64/96

16
02/10/2020

Applications réparties Applications réparties

Principe Communication réseau


• Une interface décrivant un objet distant • Modèle en couche calqué sur le modèle OSI
o
• Deux implémentations : Application (client/serveur) ;
o Squelette/souche ;
o Une implémentation locale (la souche - stub) :
o Sessions générique ;
• Sérialise les requêtes
o Transport (souvent TCP)
• Gère la communication avec l'objet distant
• Desérialise les réponses
o Une implémentation distante (le squelette - skeleton) :
• Desérialise les requêtes
• Lance les méthodes de l'objet ;
• Sérialise la réponse

2020-2021 65/96 2020-2021 66/96

Applications réparties Applications réparties

CORBA : Common Object Request Broker Architecture


RPC : Remote Procedure Call
• Standard de fait : SunRPC (RFC 1057) • Mécanisme indépendant du langage de
o Application : appel de fonction standard programmation
• Très nombreuses implantations différentes o Application : objet distant
o Squelette/souche : langage IDL CORBA
du RPC ayant des sémantiques variées o Session :
• L'objectif affiché par la plupart des • Utilisation du bus CORBA nommé IIOP (Internet Inter-ORB
Protocol) qui repose sur TCP/IP
implantations serait pour le programmeur : • Lancement d'un service réseau
o de retrouver la sémantique habituelle de l'appel de • Utilisation de l'API CORBA
procédure en mode centralisé
o sans se préoccuper de la localisation de la procédure
exécutée (sauf s'il le souhaite explicitement)

2020-2021 67/96 2020-2021 68/96

17
02/10/2020

Applications réparties Applications réparties

JSON-RPC : RPC avec JavaScript Object Notation


RMI : Remote Method Invocation
Orienté web service • Un mécanisme propre à Java
• Application : service web distant avec méthodes • Plus simple à mettre en œuvre que CORBA :
• Squelette/souche : néant o Application :
• Session : session HTTP • objet distant : hérite de java.rmi.server.UnicastRemoteObject
• Interface : hérite de java.rmi.Remote
• Format de communication : JSON o Squelettes et souches :
• Et beaucoup d'autres ... • Créés avec rmic (optionnel)
o XML-RPC, SOAP, Thrift (Facebook), Microsoft DCOM, Microsoft WCF (.Net), o Session :
...
• Lancement du service « registre RMI » et du serveur
• Client employant les primitives Naming.lookup().

2020-2021 69/96 2020-2021 70/96

Applications réparties

RMI
• Introduction
• Architectures
• Systèmes distribués
• Distribution des données
• Distribution des traitements

Cloud Computing
• Conclusion

2020-2021 72/96

18
02/10/2020

Applications réparties

Introduction Introduction
• Transformations de fond du processus informatique :
o Temps partagé (matériel)
o Ordinateur personnel (logiciel)
o En réseau (information)
o Dans les nuages (service)
• De tout temps, l'internet a été représenté comme
un nuage :
o On ne regarde pas ce qui s'y passe, mais juste les effets
(connections)

2020-2021 73/96

Applications réparties Applications réparties

Introduction Définitions
• Maintenant, ce sont les serveurs qui intègrent ce • JO : "Mode de traitement des données d'un
nuage client, dont l'exploitation s’effectue par
l'Internet, sous la forme de services fournis par
un prestataire
Note : L'informatique en nuage est une forme
particulière de gérance de l'informatique, dans
laquelle l'emplacement et le fonctionnement du
nuage ne sont pas portés à la connaissance
des clients."
2020-2021 75/96 2020-2021 76/96

19
02/10/2020

Applications réparties Applications réparties

Définitions Définitions
• Le cloud computing est l'accès via le réseau, à • Informatique dans les nuages, informatique
la demande et en libre-service, à des délocalisée
ressources informatiques virtualisées et • Concept de déportation sur des serveurs
mutualisée (NIST) distants des traitements informatiques
traditionnellement localisés sur le poste
utilisateur

2020-2021 77/96 2020-2021 78/96

Applications réparties Applications réparties

Besoins Besoins
• Internet côté "grand public" : • Internet Côté entreprise :
o messagerie classique et instantanée o travail collaboratif et simultané sur un même document
o moteurs de recherche, accès direct à la mémoire du web o traduction simultanée des appels
o consultation de comptes (banques, assurances, sante, éducation) o bureau mobile
o réseaux sociaux et partage d'information (news, photos, ...) o tout à la fois
o consultation de catalogue (vente en ligne, enchères)
• Pas encore complètement réalité mais besoin
• Problèmes utilisateur : manque de formation, gestion accentué durant la crise sanitaire
des accès confidentiels (gestion de mots de passe et • Nécessite d'utiliser une infrastructure de type
des numéros d'accès), peur du hacking et du mauvais Internet
usage, respect de la vie privée
• Applications très puissantes et réactives (lesquelles
• Point positif (+++) : services assurés instantanément ? placées où ?)
(ou presque)
2020-2021 79/96 2020-2021 80/96

20
02/10/2020

Applications réparties Applications réparties

Besoins Trois modèles fondamentaux


• Internet Côté entreprise : • Infrastructure as a Service (IaaS )
o usage ponctuel de software avec licence
• Plateform as a Service (PaaS )
o gestion de gros volumes de données
o disponibilité 7j/7 et 24h/24 de ses données et des services • Software as a Service (Saas)
• Le degré d'externalisation est variable
• Payer uniquement un usage temporaire • Les concepts de IaaS, PaaS, et Saas indiquent ce
o Quelles infrastructure ? Depuis quelle plateforme ?
degré
• Problème très important : la confidentialité

2020-2021 81/96 2020-2021 82/96

Trois modèles fondamentaux Trois modèles fondamentaux

21
02/10/2020

Applications réparties Applications réparties

IaaS IaaS
• Infrastructure as a Service • Virtualisation
• Disposer d'une infrastructure (serveurs, • Offre de capacité de calcul "élastique"
stockage, réseau) hébergée o Exemples :
• Amazon EC2
• L'accès à la ressource est complet et sans • Windows Azure
restriction, équivalent de fait à la mise à
disposition d'une infrastructure physique
réelle

2020-2021 85/96 2020-2021 86/96

Applications réparties Applications réparties

PaaS SaaS
• Platform as a Service • Software as a Service
• Désigne qu'on dispose d'une plateforme capable • Désigne la déportation des applications de
d'accueillir les applications de l'entreprise et tous les l'entreprise dans le cloud
environnements et outils de gestion et de test • Les Cloud Computing Saas proposent des logiciels
• L'environnement est prêt à l'emploi, fonctionnel et opérationnels prêt à l'emploi sans aucune installation
performant, y compris en production ou opération de maintenance
• L'infrastructure hébergée est totalement • SaaS signifie qu'on vend à l'entreprise un service de
transparente traitement des données au sein de l'entreprise. On parle
d'operateur de service (et non plus d’éditeur de
logiciel) pour designer le fournisseur SaaS

2020-2021 87/96 2020-2021 88/96

22
02/10/2020

Applications réparties Applications réparties

SaaS Applications SaaS


• Logiciel installé à distance sur le serveur • Documents partagés :
o Écriture collective
• Utilisable par plusieurs en même temps
o Accès depuis de nombreux terminaux
• Mise à jour sous la responsabilité du serveur • Etherpad (libre)
• Google Drive
• Les documents restent accessibles par export...
• Microsoft Office 365
mais restent également sur le serveur o Lecture sur des appareils hétérogènes (tablettes…)
• Redondance et sécurité (de l'information, pas de • Mail
l'usager) o Accès au travers du web (webmail)
o Carnet d'adresse dans les nuages
• Que des applications tierces peuvent utiliser (inscription à G+)
o Publicité ciblée dans le mail (personnel)
o Service complémentaire, participant de la captation de clientèle

2020-2021 89/96 2020-2021 90/96

Applications réparties Applications réparties

Applications SaaS Avantages


• Stockage à distance • Mise à jour des logiciels
o « Synchroniser »
• Le gestionnaire ayant accès aux données peut
o Sauvegarde et moyen de partage
o Multi-terminaux procéder à la mise à jour en cas de changement de
• Dropbox format
• Google Drive
• Le système connaît les points de blocages pour les
• Owncloud
o Question de la confiance
améliorer
• Streaming personnel • Solutions pour les grands parcs de machines
o Ne plus posséder sa musique sur chaque appareil de lecture hétérogènes (entreprises)
o Accès vs Téléchargement
• Icloud
o Licence légale « privée »
o Vers la fin du partage ?
2020-2021 91/96 2020-2021 92/96

23
02/10/2020

Applications réparties Applications réparties

Inconvénients Modèle de déploiement


• Données accessibles par l'opérateur de nuage • Private cloud
(profilage vs service) • Public cloud
• Quelle juridiction de protection des données o Amazon
o Google
appliquer (Europe/ USA)
o Microsoft Azure
• Applications simplifiées pour être utilisables sur tous • Community cloud
les terminaux (facilité vs créativité & performance) o Owncloud
• Perte de l'autonomie (facilité vs compréhension) o Seafile

• Nuages de service public


o Projet français

2020-2021 93/96 2020-2021 94/96

Applications réparties Applications réparties

Risques entreprise Point de vue utilisateurs


• Confidentialité (PME / grande entreprise) • Ergonomie et productivité des applications
• Accessibilité
• Collaboration
• Conformité réglementaire
• Agilité
• Qualité de service et disponibilité
• Rejet de la part des partenaires (clients, • Renouvellement des machines
fournisseurs) • Dépossession du poste de travail
• Confidentialité des données

2020-2021 95/96 2020-2021 96/96

24
02/10/2020

Applications réparties Applications réparties

Nouvelle architecture
• Internet • Cloud • Introduction
o Horizontal o Structure hiérarchique • Architectures
o Code ouvert o centralisée
• Systèmes distribués
o Peu de points de contrôle, o Avec un point central de
interactions contrôle • Distribution des données
o Robustes entre usagers o Jardins privés (modèle • Distribution des traitements
o Partage (et vertical de Apple et
téléchargement) Facebook) • Cloud Computing
o Autonomie des postes, des o Streaming
usagers o Clients légers Conclusion

2020-2021 97/96 2020-2021 98/96

Applications réparties

Conclusion
• Un tour d'horizon

• Ne couvre pas toutes les possibilités

• La distribution est un des mécanismes de


base utilisés pour la programmation multi-
agents

2020-2021 99/96

25

Vous aimerez peut-être aussi