Outils pour le cloud - Introduction Olivier Schwander <olivier.schwander@lip6.fr> UPMC 1 / 28
Description Concrètement Dangers Cloud Computing Le cloud computing, ou l informatique en nuage ou nuagique ou encore l infonuagique (au Québec), est l exploitation de la puissance de calcul ou de stockage de serveurs informatiques distants par l intermédiaire d un réseau, généralement l internet. Ces serveurs sont loués à la demande, le plus souvent par tranche d utilisation selon des critères techniques (puissance, bande passante, etc.) mais également au forfait. Le cloud computing se caractérise par sa grande souplesse. https://fr.wikipedia.org/wiki/cloud_computing 2 / 28
Description Concrètement Dangers Architecture client-serveur Rien de nouveau Depuis les tout débuts de l histoire de l informatique Grosses machines coûteuses, client moins cher et moins puissant Locations de machines dans des datacenters au mois, à l année Nouveauté On ne loue pas une machine Location de puissance de calcul, de mémoire, de disque À la journée, à l heure Souvent des machines virtuelles 3 / 28
Description Concrètement Dangers Avant le nuage Serveur Serveur Serveur Serveur Client Client Client Client On doit connaître les détails de ce qu on loue 4 / 28
Description Concrètement Dangers Après le nuage Serveur Serveur Serveur Serveur Client Client Client Client On ne veut pas connaître les détails de ce qu on loue 5 / 28
Description Concrètement Dangers Virtualisation Constat Les machines sont sous-employées Le déploiement d une application est compliqué Solution Plusieurs machines logiques pour une machine physique Un fichier prêt à l emploi contenant le système et l application Encore une fois : rien de nouveau Mainframe depuis les années 1960 (encore très utilisé dans les banques) Mais architecture et processeurs spécialisés 6 / 28
Description Concrètement Dangers Virtualisation moderne Plein d outils VMWare Virtualbox KVM XEN (Docker) Sur des architectures classiques Processeurs x86 (ordinateurs de bureau, portables, serveurs) De plus en plus : processeurs ARM (smartphones, tablettes et bientôt serveurs) 7 / 28
Description Concrètement Dangers Le cloud pour les startup Super-idée-pour-faire-fortune Besoin de tests rapides Clic sur une page web : un serveur accessible dans la minute Clic : application déployée On devient sérieux De plus en plus d utilisateurs, de données Besoin de plus de serveurs Clic : plus de serveurs Clic : application déployée 8 / 28
Description Concrètement Dangers Le cloud pour les entreprises plus grandes Cloud interne Optimiser l utilisation des ressources Jour : traitement des commandes Nuit : statistiques sur les commandes Virtualisation : faciliter les changements de matériel et la montée en charge Cloud externe Pareil Sous-traitance : pas besoin d acheter les machines et de faire la maintenance Coller aux besoins : plein de machines avant Noël, pas beaucoup le reste du temps 9 / 28
Description Concrètement Dangers Le cloud pour les utilisateurs Stockage Dropbox Email Gmail Machins sociaux Facebook 10 / 28
Description Concrètement Dangers Le cloud pour les développeurs et les administrateurs Développement Écriture sur sa machine Est-ce que ça fonctionne sur la machine de production? Test sur une machine virtuelle similaire Tests Cluster de machines virtuelles Production Copie des images virtuelles sur les machines du cloud Outils pour automatiser tout ça : orchestration 11 / 28
Description Concrètement Dangers Fournisseurs de cloud Stockage massif International : Amazon S3, Google Cloud Storage Français : OVH, Gandi Paiement en fonction de la taille stockée, du trafic Besoin d une interface spécifique pour gérer les accès Calcul International : Amazon AWS, Google Compute Engine Français : OVH, Gandi Choix du type et du nombre de processeurs, de la mémoire vive, du stockage On fournit une machine virtuelle 12 / 28
Description Concrètement Dangers Dangers Questions Où sont les données? Peut-on les envoyer n importe où? Qui a accès aux données? Avec quelles garanties? À quelle législation sont-elles soumises? Comment changer de fournisseur? Que faire s il ferme? Réponses Ça dépend, et c est flou Il faut faire confiance au fournisseur Solutions? Questions de recherche ouvertes 13 / 28
Cluster Simulation numérique Par exemple : météo, climat Des équations différentielles Des conditions aux limites Décomposition en éléments finis Beaucoup de calculs Relativement peu de transferts 14 / 28
Architecture physique Nœuds de stockage Le cloud Nœuds de calcul Tout le monde peut parler à tout le monde 15 / 28
Architecture logique Cas général Tout le monde parle à tout le monde Souvent Nœuds de stockage : pas de communication Nœuds de calcul : communication seulement avec les voisins Avantage Modèle de calcul générique 16 / 28
Difficile à programmer Sûreté du calcul Éviter deux écritures simultanées au même endroit Garantir qu une donnée a été écrite complètement avant d essayer de la lire Données Minimiser les transferts Données loin du calcul Problème fondamental La taille des données augmente plus vite que la vitesse des transfert 17 / 28
Beaucoup de données Augmentation de la taille des données de l augmentation de la taille Exemples New York Stock Exchange : 2 peta-octets par an Facebook : 100 peta-octets par an LHC : 30 peta-octets par an Disques durs 1 To pour 50 euros Rajouter des disques dans les serveurs, puis rajouter des serveurs 18 / 28
Transferts de données Données loin des machines de calcul Trop de transfert Liens saturés Beaucoup de petites lectures sont lentes Rapprocher les données Stockage et calcul au même endroit Les données dont on a besoin Accès à de gros blocs et non à de petites entrées 19 / 28
Le cloud Latence des disques dur Donne es 2 Donne es 1 20 / 28
Robustesse aux pannes Les évènements improbables arrivent Les machines tombent en panne Les disques durs tombent en panne Les câbles tombent en panne Plus de matériel Plus de pannes En pratique Il y a toujours quelque chose en panne 21 / 28
Simplification Limiter la puissance du modèle Seulement certains types de programmes parallèles Rapprocher les données Données stockées sur les nœuds de calcul Chaque nœud travaille sur ses données 22 / 28
Map Fonction appelée à toutes les entrées du jeu de donnée Reduce Calcul d une valeur globale Plus simple Seulement deux opérations à écrire Pas besoin de connaissances en parallélisme 23 / 28
Map x 1 x 3 x 2 x 4 f(x 1 ) f(x 3 ) f(x 2 ) f(x 4 ) 24 / 28
Reduce f(x 1 ) f(x 3 ) f(x 2 ) f(x 4 ) ( ) g f(x 1 ), f(x 2 ), f(x 3 ), f(x 4 ) 25 / 28
complet Données Données Données Données Map Map Map Map Clé / Valeur Clé / Valeur Clé / Valeur Reduce Reduce Reduce Résultat 26 / 28
Avantages Robustesse : réplication des données Même information sur plusieurs nœuds Pas de perte en cas de panne Tolérance à un certain nombre de défaillances Transfert : localité Traitement des données locales Copies pendant la réduction 27 / 28
Résumé Deux opérations Map Reduce Un système de stockage des données Système de fichier distribué Avertissement Plusieurs dizaines de nœuds Plusieurs téra-octets de données 28 / 28