Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing
Chapitre 1 : Introduction Introduction générale Origine du cloud Concepts prédécésseurs «liés aux serveurs» Concepts prédécesseurs «liés au Web» Chapitre 2 : Le Cloud Définition du cloud computing Les couches du cloud computing Les architectures du cloud computing Chapitre 3 : Analyse du cloud Les cas d application du cloud comuting Avantages et limites du cloud computing Interopérabilité et sécrité du cloud computing Le marché du cloud computing
Chapitre 4 : Les grands acteurs du cloud computing Le cloud de Saleforce.com Le cloud d Amazon. Aws Le cloud de google Le cloud de Vmware Le cloud de Microsoft Les critères de choix du cloud Chapitre 5 : Développement pour le cloud Différence entre le développement traditionnel et le développement pour le cloud TP developpement d une application SaaS utilisant la plateforme de google. Chapitre 6 : les Smartphones et le Cloud
Cours et documents nécessaires sont livré chaque fin de scéance. TPs Virtualisation : Création d une architecture virtuelle SOA : Implémentation des applications SOAP et REST IaaS : Implémentation d un cloud privé. (selon disposition des serveurs) SaaS : Implémentation d une application sous google app Engine en utilisant eclipse et GWT Evaluation :.
Handbook of Cloud Computing, Ankur Agarwal, Tim Bell, Paolo Bientinesi. Cloud Computing Bible, Barrie Sosinsky. Cloud Computing and SOA Convergence in Your Entreprise a Step-by-Step Guide, David Linthicum ENTERPRISE CLOUD COMPUTING : Technology, Architecture, Applications, Gautam Shroff Private Cloud Computing, Stephen R. Smoot, Nam K. Tan. Code in the Cloud,Mark C. Chu-Carroll.
Certification CompTiA Cloud Essential Basé sur les deux livres: Cloud Computing Bible, Barrie Sosinsky. Cloud Computing and SOA Convergence in Your Entreprise a Step-by-Step Guide, David Linthicum
Algorithme Machine Langage Information
Un algorithme est une recette qui permet de résoudre un certain problème de manière systématique. La notion d'algorithme est plus grossière que la notion de programme : plusieurs programmes peuvent correspondre au même algorithme. Il existe des algorithmes non déterministes. Un algorithme opère sur quelque chose précise.
Une machine est un outil, c'est-à-dire un système matériel, qui obéit donc aux lois de la physique. Les machines comprennent les ordinateurs, des appareils plus spécialisés comme les appareils photos ou les téléphones, et plus généralement tous les systèmes physiques, pour lequel nous avons défini un protocole d'interaction, qui nous permet d'échanger des données. Le fait que les machines obéissent aux lois de la physique limite leur puissance
Comme tout système physique, une machine peut avoir une extension plus ou moins grande dans l'espace et, à l'ordinateur de bureau, s'est peu à peu substitué une autre machine, beaucoup plus étendue, constituée de milliards d'ordinateurs interconnectés en réseau. Il est possibles de grouper ensemble plusieurs machines, ou bien dispersées en divers endroits et donc en réseau, ou bien situées à quelques mètres les unes des autres, en grille, ou bien situées sur un même circuit intégré.
Un langage de programmation est un moyen formel d écrire un algorithme pour le communiquer à une machine. À coté des langages de programmation, il y a de nombreux autres langages formels. Par exemple: des langages pour spécifier des programmes, des langages pour raisonner sur des programmes, des langages pour exprimer des requêtes dans une base de donnée,...
Un algorithme, exécuté par une machine, opère souvent avec des données représentées de manière symbolique. Comment représenter les données de manière symbolique? A-t-on besoin de compresser et/ou chiffrer les informations? Va-t-on utiliser des données tel quels ou des bases de données?
Des applications avec des coût minimes. Des applications fonctionnelles sur tous les PCs, les PDAs, les téléphones Une capacité de stockage et d exécution indépendante de matériel utilisé. Des applications et des documents accessibles indépendamment du lieux et du temps. Sécurité et intégrité des données. Collaborer avec d autres utilisateurs. Etc
Exposer les applications au grand publique. Une nouvelle méthode de gestion des licences. Un moyen de paiement plus rapide. Etc
Un espace de stockage bien adapté aux besoins. Une puissance de calcul adapté au besoins de l application à développer. Des outils de débogage, administration des informations d accès à l application. Facilité de maintenance ( soft + hard ) Rapidité de développement ( API ) Sécurité des informations échangées.
satisfaire les utilisateurs finaux satisfaire les vendeurs Satisfaire les développeurs