Technologies du Web - Architectures matérielles et logicielles
1. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Technologies Web
Architectures matérielle/logicielle — 9 heures
Pôle universitaire Léonard de Vinci
ILV : MBA MCI Full/Part Time
Année 2013/2014
2. Progr. MCI Full Time – 9 h
1.Fondamentaux de l’informatique (3 h)
2.Architecture des ordinateurs (1 h 30)
3.Architecture des réseaux (1 h 30)
4.Architecture des applications (1 h)
5.Cloud computing (1 h)
6.Évaluation (questionnaire) (1 h)
3. Progr. MCI Part Time – 8 h
1.Fondamentaux de l’informatique (2 h)
2.Architecture des ordinateurs (1 h)
3.Architecture des réseaux (1 h)
4.Architecture des applications (2 h)
5.Cloud computing (1 h)
6.Évaluation (questionnaire) (1 h)
4. Bibliographie
[Za-1] P. ZANELLA, Y. LIGIER, Architecture et technologie des ordinateurs, 4e édition, DUNOD, 2011.
[Ta-1] A. TANENBAUM, D. WETHERALL, Réseaux, 5e édition, PEARSON, 2011.
[Ro-1] , P. ROQUES, UML par la pratique, 2e édition, EYROLLES, 2011.
[Bu-1] R. BUYYA, J. BROBERG, A. GOSCINSKI, CLOUD COMPUTING (Principles and Paradigms), WILEY, 2011.
5. Groupes de travail
Organisme
Fonction
ICANN
Gestion des DNS et attribution des adresses IP
IETF
Spécification des protocoles (rédaction des RFCs)
IRTF
Spécification des protocoles (rédaction des RFCs)
W3C
Spécification des standards du web (patterns et langages)
WHATWG
Spécification du langage HTML
6. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Partie I Fondamentaux
Informa[tion] + [robo]tique = Informatique
1.Fondamentaux de l’informatique
2.Architecture des ordinateurs
3.Architecture des réseaux
4.Architecture des applications
5.Cloud computing
7. Programme sur fondamentaux Principaux composants de l’ordinateur Types d’information/opération Représentation externe vs interne Encodage vs codage
8. Principaux composants Processeur, aussi appelé CPU* Espaces** mémoire Unités périphériques Clavier Souris Écran Imprimante, etc.
* Central Processing Unit. ** Plusieurs types d’espace mémoire.
9. Fonction du processeur
Le processeur sert à exécuter les instructions d’un programme. (Un programme en cours d’exécution s’appelle un processus.)
—
10. Fonction de la mémoire
Les espaces mémoire (mémoire de masse, mémoire centrale et registres) servent à stocker des programmes, des instructions ou des données.
—
11. Fonction des périphériques
Les périphériques (clavier, écran, etc.) permettent d’interagir avec l’ordinateur. La communication périphériques-ordinateur est assurée par le système d’exploitation.
—
13. Composition d’une instruction
Les instructions associent un code opération et des opérandes. Ces opérandes désigne l’ensemble des paramètres impliqués dans l’exécution d’une opération.
Illustration. — L’addition de deux nombres fait intervenir une opération – l’addition – et deux opérandes.
14. Trois types d’opérations Opérations d’écriture et de lecture Opérations logiques Opérations arithmétiques
20. Commentaire
1.Chaque cellule contient un condensateur et un transistor.
2.Chaque cellule fait l’objet d’une représentation logique (chiffre binaire).
3.Ce chiffre binaire (bit) constitue l’unité d’information la plus élémentaire.
4.L’unité d’information élémentaire sert à former l’unité logique d’information*.
5.L’unité logique d’information est couplée à une adresse.
6.L’unité d’information adressable associe adresse et unité logique.
* L’unité logique porte sur un ou plusieurs octets.
21. Bit (binary digit)
Le bit est un chiffre binaire qui prend soit la valeur 0, soit la valeur 1 ; il constitue l’unité d’information la plus élémentaire : toute information fait l’objet d’un codage faisant appel au bit.
—
22. Octet (byte)
L’octet représente un jeu de huit bits. Ces huit bits constituent l’unité logique d’information « de base » : toute information fait l’objet d’un codage sur un ou plusieurs octets.
—
23. Mot mémoire
Le mot mémoire constitue l’unité d’information adressable : il associe unité logique d’information, dont la fonction est d’« héberger » une information codée en binaire, et une adresse.
—
24. Écriture et lecture
Les opérations d’écriture et de lecture portent obligatoirement sur un mot mémoire qui associe à chaque unité logique d’information une adresse, facilitant ainsi l’accès aux informations enregistrées.
—
25. Exemples de codage Caractère Y : 01011001 Chiffre 1 : 00000001 Instruction addition : 10000001
26. Taille logique des mots
Nombre de bits 1 bit 2 bits 3 bits
… 8 bits =1 octet (byte)
… n bits
Nombre d’informations 21 informations 22 informations 23 informations
… 28 informations
… 2n informations
27. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Codage de l’information
Cas des entiers
28. Exemple de codage
65 en base décimale i.e. 6510
se traduit par
01000001 en binaire i.e. 010000012.
—
29. Explication
65 en base décimale i.e. 6510
est égal à
6 x 101 + 5 x 100
donc 65 en notation condensée.
—
30. Explication (suite)
65 en base binaire
est égal à
0+(1 x 26)+0+0+0+0+0+(1x20)
donc 01000001 en notation condensée.
—
31. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Codage de l’information
Cas des caractères
32. Standard Unicode
Le standard Unicode se définit comme un système de codage de caractères universel associant représentation externe, point de code et représentation interne.
—
33. Cas de la lettre A Représentation externe : A Point de code (hex.*) : 0041 Représentation interne (bin.) : 01000001
* Les points de code sont représentés en base hexadécimale (base 16).
36. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Encodage de l’information
Contrôle des erreurs, cryptage et compression
37. Problématique de l’ENcodage Sûreté[-intégrité] des données* Sécurité des données Optimisation des ressources
* NON corruption des données.
38. ENcodage - enjeux
CONTRÔLE DES ERREURS
SÛRETÉ DES DONNÉES
COMPRESSION/DÉCOMPRESSION
OPTIMISATION DES RESSOURCES
CRYPTAGE/DÉCRYPTAGE
SÉCURITÉ DES DONNÉES
39. Ce qu’il faut retenir
Instructions et données sont nécessairement représentées par une séquence de chiffres binaires (0/1).
—
40. Conséquence
Il faut distinguer les langages de haut niveau*, qui permettent de définir le code source des applications, et les langages de bas niveau, utilisés pour définir le code machine*.
—
* PHP, Java, C++, C, etc. ** Code soumis au processeur avant exécution.
41. À savoir
Le code source est transformé en code machine par des logiciels qu’on appelle des traducteurs ; ces traducteurs font appel à des langages de haut niveau* et des langages de bas niveau**.
—
* Langage C le plus souvent. ** Langage d’assemblage aussi appelé assembleur.
42. Traduction en deux temps
Première traduction : le compilateur transforme le code source en bytecode en faisant abstraction des attentes du processeur.
Deuxième temps : l’assembleur, aussi appelé machine virtuelle, traduit le bytecode en code machine*.
* Le code machine dépend spécifiquement du processeur cible.
43. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Partie II Architecture des ordinateurs
CPU, mémoires et OS
1.Fondamentaux de l’informatique
2.Architecture des ordinateurs
3.Architecture des réseaux
4.Architecture des applications
5.Cloud computing
44. Programme sur architecture Architecture du processeur Hiérarchie des mémoires Rôle du système d’exploitation
45. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Architecture du processeur
Unité de commande et unité arithm. et logique
46. Unité centrale : RAM + CPU
[Za-1] : « Présentation générale », p.26.
48. Compteur ordinal [CO]
Le compteur ordinal est un registre (cellule mémoire) dont la fonction est d’enregistrer l’ADRESSE de la prochaine instruction à exécuter.
—
49. Registre instruction [RI]
Le registre instruction est un registre (cellule mémoire) dont la fonction est d’enregistrer l’INSTRUCTION à exécuter.
—
50. Décodeur
Le décodeur est un automate dont la fonction est de déterminer l’OPÉRATION À EXÉCUTER à partir du code [opération] fournie par le registre instruction.
—
Illustration. — Le code 101 active la sortie n°5 (8 sorties possibles en tout).
* Rappel. — Les instructions associent code opération et opérandes.
51. Séquenceur
Le séquenceur est un automate dont la fonction est de COMMANDER le chargement des opérandes [dans l’accumulateur] et l’exécution de l’opération.
—
Remarque. — Les opérandes sont d’abord chargées dans le registre mot.
52. Unité arithmétique et logique
Principaux dispositifs Accumulateur (registre) Unité de calcul (de 50 à 250 opérations) Transferts des données Opérations logiques Opérations arithmétiques Etc.
53. Accumulateur
L’accumulateur est un registre (cellule mémoire) dont la fonction est d’enregistrer les OPÉRANDES des opérations à exécuter.
—
54. Cycle de recherche du CPU
[Za-1] : « Unité centrale de traitement », p.193.
Circulation/transfert des informations initié par le CPU
55. Cycle d’exécution du CPU
[Za-1] : « Unité centrale de traitement », p.194.
Circulation/transfert des informations initié par le CPU
61. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Rôle du système d’exploitation
Exploitation des ressources et virtualisation
62. Exploitation des ressources Gestion des processus* Gestion de la mémoire centrale Gestion des entrées/sorties Gestion des fichiers
* Allocation du CPU, planification et interruption.
63. Pile OS
Mémoire
Entrées/Sorties
Processus
Fichiers
Pile système d’exploitation
64. Virtualisation
En introduisant un niveau d’abstraction entre l’utilisateur et la machine (interface graphique ou commande en ligne), le système d’exploitation est devenu une machine virtuelle.
—
65. Exemples de commandes Linux login logout mkdir (make directory) vi (editor) cp (copy) chmod (change mode)
66. OS orientés Web Multitâche/transactionnel Multiutilisateur Sûr (conçu pour fonctionner 24h/24h)
Commentaire. — UNIX, Windows Server et Linux sont les trois systèmes d’exploitation les plus utilisés*.
* Source : « Usage share of operating systems », wiikipedia.org.
67. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Système d’exploitation
Gestion de la mémoire
68. Gestion des adresses
Partition : espace mémoire faisant intervenir une borne inférieure et une borne supérieure.
Réallocation dynamique : l’adresse effective des instructions est recalculée par addition de l’adresse de base* et du déplacement.
* Borne inférieure de la partition allouée au programme.
70. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Partie III Architecture des réseaux
Architecture matérielle et protocolaire
1.Fondamentaux de l’informatique
2.Architecture des ordinateurs
3.Architecture des réseaux
4.Architecture des applications
5.Cloud computing
71. Programme sur réseaux Architecture matérielle Architecture des protocoles Terminologie du protocole HTTP
72. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Architecture matérielle
Typologie des réseaux et des équipements
73. Typologie des réseaux E/S (entrées/sorties) : 1 m PAN (Personal Area Network) : 10 m LAN (Local Area Network) : 1 km WAN (Wide Area Network)
74. Typologie des équipements* Concentrateur (hub) Commutateur (switch) Routeur
* Ne sont présentés que les équipements les plus communs.
75. Fonction du concentrateur
Le concentrateur est un équipement qui sert à interconnecter plusieurs ordinateurs à l’échelle du LAN*.
—
Exemple. — 50 PC sur un même étage.
* Les ordinateurs ainsi connectés forment un « segment ».
76. Fonction du commutateur
Le commutateur est un équipement qui sert à interconnecter plusieurs segments à l’échelle du LAN*.
—
Exemple. — 150 PC répartis sur trois étages-: les trois concentrateurs sont connectés au commutateur.
* Le commutateur permet d’optimiser la gestion des flux d’information.
77. Fonction du routeur
Les routeurs sont des équipement qui servent à interconnecter plusieurs LAN à l’échelle du WAN.
—
Remarque. — Internet : association de « inter » et « network » (le réseau des réseaux) puis troncation.
78. Couplage LAN-WAN
routeur
PC
PC
hub
switch
switch
hub
PC
PC
switch
serveur
serveur
routeur
PC
PC
hub
switch
switch
hub
PC
PC
switch
serveur
serveur
sous-réseau de communication
80. Problématique des réseaux Dissocier les données et les entêtes* Structurer les entêtes Encapsuler/désencapsuler les données
* Informations utilisées par le réseau pour acheminer les données.
81. Parabole de la lettre
Encapsulation, routage et désencapsulation de la lettre
82. Modèle OSI
Les logiciels de réseaux se réfèrent à un modèle d’architecture qu’on appelle le modèle OSI (Open Systems Interconnection). Ce modèle fait intervenir sept couches/strates/niveaux.
—
84. Logiciels de réseaux
À chacune des couches du modèle OSI correspond une couche logicielle constituée de logiciels de réseaux spécialisés.
—
85. Couche logicielle vs protocole et PDU
La couche logicielle génère des PDU (messages) en faisant référence à un protocole
86. Protocole
Les protocoles désignent un ensemble de règles destinées à standardiser le séquencement et le format des informations contenues dans les « messages » générés par les logiciels de réseaux.
—
88. Types de PDU* Message : PDU des niveaux 6/7 Segment : PDU des niveaux 4/5 Datagramme : PDU du niveau 3 Frame/paquet : PDU du niveau 2
* Protocol Data Unit.
92. Protocoles appl. : niveaux 6/7
Protocole
Spécification
Mise à jour
FTP
1971
1985
SMTP
1982
2008
HTTP
1990
1999
93. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Partie IV Architecture des applications
Typologie des architectures et langages
1.Fondamentaux de l’informatique
2.Architecture des ordinateurs
3.Architecture des réseaux
4.Architecture des applications
5.Cloud computing
94. Programme arch. et langages Modèle d’architecture client-serveur Modèle d’architecture 3-Tiers Modèles d’architecture du Web 2.0
97. Message Definition
“The basic unit of HTTP communication, consisting of a structured sequence of octets.”
—
98. Client and User Agent Definition
Client : “a program that establishes connections for the purpose of sending requests.”
User agent : “the client which initiates a request. These are often browsers, spiders (web-traversing robots).”
99. Server Definition
“An application program that accepts connections in order to service requests by sending back responses.”
—
104. Couche présentation* :
Couche logicielle responsable de la mise en page, de la typographie et de la navigation du site.
—
Exemples de langages : (X)HTML et CSS notamment, mais aussi, Javascript.
* Les scripts sont exécutés par le poste client.
105. Couche application* :
Couche logicielle responsable de la logique métier et des services techniques : gestion des sessions et sécurité notamment.
—
Exemples de langages applicatifs : PHP, Java, etc.
* Les scripts sont exécutés par le serveur.
106. Couche données* :
Couche logicielle responsable de l’accès aux données et de la persistance des données.
—
Exemple de langage de requête : SQL.
* Les requêtes sont exécutées par le serveur.
107. Parabole des couches logicielles
Prise de commande, préparation et approvisionnement
109. Plate-forme logicielle
La notion de plate-forme désigne l’ensemble des composants logiciels (système d’exploitation et environnement d’exécution) qui supportent le fonctionnement d’une application.
—
110. Ex. : plate-forme Lamp Système d’exploitation Linux Serveur HTTP Apache Serveur de base de données MySQL Composant applicatif PHP (Zend Engine*)
* Moteur d’exécution des scripts codés en PHP.
111. Intégration du composant PHP
Option 1 : le composant PHP est un module, c’est-à-dire une extension du serveur HTTP Apache.
Option 2 : le composant PHP n’est pas utilisé comme module du serveur HTTP Apache. Dans ce cas, le couplage Apache- PHP est assuré par une interface*.
* Source : « PHP : SAPI et modes de communication », developpez.com.
112. Zend Engine
Le composant PHP contient un moteur d’exécution (scripting engine) — Zend Engine — dont la fonction est d’interpréter les scripts codés en PHP. (Zend Engine transforme le code source en code machine puis exécute le code.)
113. Architecture logicielle
La notion d’architecture logicielle désigne l’ensemble des composants (ou briques logicielles) qui structurent une application.
—
114. Couches logicielles et plate-forme associée
Couches HTML/CSS, PHP et SQL | Plate-forme LAMP
Les 3 couches logicielles
116. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Modèles d’arch. du Web 2.0
Participation, RIA, SOA et Web sémantique
117. Patterns du Web 2.0 Participation Pattern : Wiki, CMS, Blog RIA/MVC Pattern : applications riches SOA Pattern : Web Services Semantic Web Pattern
118. Tech. des Wikis/CMS/Blogs Langage de structuration (X)HTML Feuilles de style CSS Langage d’interaction Javascript* Langage applicatif PHP Langage de requête SQL
* Utilisé pour exécuter des programmes interactifs sur poste client.
119. Tech. des patterns RIA/MVC Framework Flex (Adobe) Framework Silverlight (Microsoft) Technologie(s) AJAX
Commentaire. — Les frameworks sont des espaces de travail qui associent langage, outils de développement et environnement d’exécution.
120. Tech. du pattern SOA Protocole SOAP Format de description des services WSDL Annuaire de référencement UDDI* Framework .NET (Microsoft) Framework Java/J2EE
* Web service dédié à la publication des services disponibles.
121. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Partie V Cloud computing
Virtualisation et classes de services
1.Fondamentaux de l’informatique
2.Architecture des ordinateurs
3.Architecture des réseaux
4.Architecture des applications
5.Cloud computing
122. Programme cloud computing Principes de la virtualisation Logiciels de virtualisation Avantages de la virtualisation Modèle économique du cloud Classes de services
123. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Principes de la virtualisation
Hyperviseur vs superviseur
124. Base technologique du cloud Multicore computing : plusieurs UAL Clustering : N serveurs — LAN Grid computing : N serveurs — WAN
125. VMM* vs machines virtuelles
* Virtual Machine Monitor.
[Bu-1] : « Virtual machines provisionning and migration services », p. 126.
Virtualization Layer (VMM or Hypervisor)
126. Workload
La notion de workload désigne une application et sa plate-forme logicielle hors système d’exploitation.
—
127. Exemple de workload CMS WordPress Serveur HTTP Apache Serveur de base de données MySQL Module applicatif PHP (Zend Engine)
128. Philosophie de l’hypervision*
Principe 1 : avoir un minimum de code pour réduire le nombre de failles de sécurité.
Principe 2 : limiter le code partagé entre […] machines virtuelles pour augmenter leur isolation réciproque.
* Source : « Présentation des hyperviseurs xen et kvm », octo.com.
129. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Logiciels de virtualisation
VMM vs VIM
130. Logiciels de virtualisation
Les logiciels de virtualisation sont des hyperviseurs aussi appelés VMM (Virtual Machine Monitor).
—
Hyperviseurs leaders du marché : VMWare, Xen et KVM (hyperviseurs open source).
* Hyperviseur [vs superviseur : système d’exploitation].
131. Logiciels d’administration
Les logiciels d’administration des machines virtuelles sont des VIM (Virtual Infrastructure Manager).
—
Outils leaders du marché : VMWare vCloud, Open Nebula et Apache VCL.
132. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Avantages de la virtualisation
En termes de qualité logicielle
133. La virtualisation… Plus de rendement Plus de sûreté/sécurité Plus de stabilité Plus d’élasticité
… en termes de qualité.
134. Rendement
Le chargement de plusieurs machines virtuelles sur un même serveur permet de diminuer le nombre de serveurs… et la consommation électrique.
—
135. Sûreté
En cas d’accident, le cloud permet de récupérer – sans rupture de service – une machine virtuelle préalablement répliquée sur d’autres serveurs.
—
136. Sécurité
Le plantage d’une machine virtuelle – qui serait dû à une attaque –, n’a pas d’incidence sur le fonctionnement des autres machines virtuelles.
—
137. Stabilité
La mise à jour de l’OS d’une des machines virtuelles, n’aura pas d’incidence sur les machines virtuelles qui utiliseraient une version antérieure.
—
138. Élasticité
En cas de besoin – pic de charge (augmentation brutale du trafic) –, le cloud permet de solliciter automatiquement des ressources supplémentaires sur d’autres serveurs… Inversement, le cloud est capable de libérer de ressources.
—
139. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Modèle économique du cloud
Ressource as a [Service vs Product]
140. Comparaison des modèles
Ressource as a Service Abonnement Segmentation Mutualisation
Ressource as a Product Investissement* Standardisation Logique propriétaire
* L’investissement implique un amortissement qui engage dans la durée.
141. Ressource as a Product
Stratégie
de « courte traîne »
basée sur
standardisation
Ressource as a Service
Stratégie de « longue traîne »
basée sur
segmentation [personnalisation]
142. Mutualisation des services SaaS : mutualisation de logiciels PaaS : mutualisation des plates-formes IaaS : mutualisation des infrastructures
143. Valeur ajoutée du cloud… Réduction des coûts (virtualisation) Flexibilité des coûts (pay-per-use) Contrôle des coûts (longue traîne)
… en termes de coûts.
144. Valeur ajoutée du cloud… Accès ATAWAD Fonctions de partage Simplicité des interfaces
… en termes d’usages.
145. Valeur ajoutée du cloud… Pas de logiciel/matériel à installer Pas de contrainte de ressources Pas de maintenance
… en termes d’administration.
146. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Classes de services du cloud
IaaS, PaaS et SaaS
147. Classes de services IaaS (Infrastructure as a Service) PaaS (Platform as a Service) SaaS (Software as a Service)
148. Rôle des acteurs du cloud
Exploitant
Architecte
Éditeur
Architecte
Éditeur
Utilisateur
PaaS
IaaS
SaaS
met en oeuvre
met en oeuvre
développe
dimensionne
déploie
utilise
149. Services IaaS côté client Nombre de machines virtuelles Nombre de CPU et espace de stockage Degré d’élasticité (Load Balancing) Disponibilité (en %)
150. Services PaaS côté client Sélection du langage de développement Synchronisation* des plates-formes Administration des applications Facturation des applications
* Déploiement : migration de l’application vers la plate-forme de production.
151. Déploiement vers Google App Engine
Déploiement d’une application depuis l’environnement Eclipse
152. Services Google App Engine
Main (Instances, Versions etc.), Data, Administration, Billing
153. Services SaaS côté client Gestion des ressources Partage des ressources Agrégation de flux/données Ouverture/intégration de services*
* Web services : API permettant d’accéder à des ressources.
154. Ce qu’il faut retenir Self-service ATAWAD* Facturation des services à la demande Scalabilité/élasticité des applications
* Any Where, Any Time, Any Device.
155. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Conclusion
Ordres de grandeurs et
synthèse sur couches logicielles
156. Ordres de grandeur
Processeurs : le Pentium IV compte environ 125 millions de transistors.
Systèmes d’exploitation : les systèmes d’eploitation comptent plusieurs millions de LOC*.
Centres de données : les centre de données (Data Center) plusieurs milliers de serveurs.
Applications : les applications modernes comptent plusieurs dizaines de milliers de LOC*.
* Lines of Code.
160. Contexte
Interface(s)
MACHINE VIRTUELLE
Couche virtualisée
Utilisateur
Administration d’un ordinateur
Interfaces graphiques : Windows, MacOs , etc.
Logiciel : système d’exploitation
Hardware
Développeur
Développement d’une application
Code source de haut niveau : PHP, Python, Java, etc.
Composant logiciel de traduction : compilateur
Code exécutable de bas niveau : assembleur
Éditeur de langage
Développement d’un compilateur
Code source de haut niveau : Java, C, C++, etc.
Composant logiciel de traduction : assembleur
(JVM, CLR, AVM)
Code machine [soumis au processeur]
Exploitant d’un centre de données
Administration d’une ferme de serveurs (data center)
Interface graphique : VIM ; hyperviseur : VMM
Environnement : workload et système d’exploitation
Hardware
Synonymes. — Code exécutable - bytecode.
174. Trois scénarios…
1.Lancement manuel de 3 programmes
2.Lancement automatisé et séquentiel
3.Lancement automatisé
et exécution des programmes en parallèle
… Trois systèmes.
175. Exploitation par lots - batch
[Za-1] : « Systèmes d’exploitation », p. 355.
PAS de système d’exploitation
178. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Annexe : arch. des réseaux
Complément sur les protocoles
179. Trois principes… Hiérarchisation - couche logicielle Encapsulation - service Abstraction - machine virtuelle
…Trois définitions
180. Principe de hiérarchisation
Une couche n doit nécessairement faire appel aux services de la couche (n-1) ; la couche n ne peut pas accéder aux services subalternes de niveaux (n-2), (n-3), etc.
—
* Aussi appelées API (Application Programming Interface).
181. Principe d’encapsulation
Une couche n fait appel aux services* de la couche (n-1) sans pouvoir accéder au programme de la couche (n-1).
—
* Aussi appelées API (Application Programming Interface).
182. Principe d’abstraction (I)
Une couche n fait abstraction des problématiques traitées par la couche de niveau (n-1). Les logiciels de la couche (n-1) sont des machines virtuelles.
—
183. Principe d’abstraction (II)
En introduisant un niveau d’abstraction entre l’utilisateur et la machine, le système d’exploitation apparaît lui aussi comme une machine virtuelle*.
—
* Voir supra : transparent n°66.
184. Rôle de la couche physique
La couche physique fait intervenir les équipements dont le rôle est de transformer le signal numérique en signal analogique et inversement.
—
Exemple. — Le modem*.
* Modulateur-demodulateur.
188. Generic HTTP Message
Request-Line | Status-Line
Suivi de :
*(message-header CRLF)
Suivi de :
CRLF [ message-body ]
189. Requête du client
Request-Line Method (GET, POST, etc.) URI Protocol Version
Exemple. — GET /rfc.html HTTP/1.1
190. Réponse du serveur
Status Line + Header + Body Status Line
- Success Code | Error Code
- Protocol Version Message Header Message Body
191. Typologie des Status Code Successful : 2xx Redirection : 3xx Client Error : 4xx (404 - Not Found) Server Error : 5xx
192. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Annexe : arch. des applications
Définition d’un proxy ; définition d’un cache
193. Proxy Definition
“An intermediary program which acts as both a server and a client.” [Les serveurs d’application jouent aussi le rôle de client en soumettant leurs requêtes à des serveurs de bases de données.]
—
194. Cache Definition
“A program that stores responses in order to reduce the response time and network bandwidth consumption.”
—
195. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Annexe : arch. des applications
Langages incontournables du Web
196. Langages orientés Web PHP (Utilisé côté serveur.) Java [utilisé côté serveur : servlets] Java [utilisé côté client : applets] Javascript (Utilisé côté client.)
207. Virtualisation matérielle
« Pas de modifications de l’OS invité, car le CPU […], fait croire au système invité (la machine virtuelle) qu’il a un accès direct au matériel. »
—
Source : « Présentation des hyperviseurs xen et kvm », octo.com.
208. Paravirtualisation*
« Modification du noyau de l’OS de la machine virtuelle afin de coopérer avec l’hyperviseur pour l’accès aux ressources physiques et délégation des opérations d’E/S. »
—
Source : « Présentation des hyperviseurs xen et kvm », octo.com.
213. Modèle cloud public : PaaS
Exploitant
Architecte
Éditeur
Architecte
Éditeur
Utilisateur
PaaS
IaaS
SaaS
met en oeuvre
met en oeuvre
développe
dimensionne
déploie
utilise
214. Modèle cloud public : IaaS
Exploitant
Architecte
Architecte
Utilisateur
PaaS
IaaS
SaaS
met en oeuvre
met en oeuvre
développe
dimensionne
déploie
utilise
Éditeur
Éditeur
215. Modèle cloud privé
Exploitant
Architecte
Architecte
Utilisateur
PaaS
IaaS
SaaS
met en oeuvre
met en oeuvre
développe
dimensionne
déploie
utilise
Éditeur
Éditeur
216. Frédéric Simonet
Formateur Entreprise 2.0
Email : frederic.simonet@yourwebsite.fr
Tél. : 06 62 63 94 49
Annexe : création de valeur
Stratégie acquisition vs vente
217. Stratégies d’acquisition* Achat de licence (Buy) Location de service (Lease) Développement Build on Services Build on Open Source
* Motivées par réduction des coûts/gains de productivité.
218. Stratégies de vente* Modèle propriétaire Modèle « as a Service » Modèle open source
* Motivées par la création de valeur.