Auteur Sujet: PAAS : c'est quoi?  (Lu 7495 fois)

0 Membres et 1 Invité sur ce sujet

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 983
PAAS : c'est quoi?
« le: 21 mai 2017 à 08:37:20 »
Dis, papa, c'est quoi le PAAS? (Platform As A Service)

Voilà ma question du jour.
Dans les différentes catégories de prestation Cloud, j'ai bien compris ce qu'étaient les IAAS et SAAS (respectivement Infrastructure / Software As A Service).

J'ai plus de mal à comprendre ce qu'est le PAAS. Donc j'ai besoin de votre aide.
J'ai lu quelques articles, et quasiment tous parlent d'un seul et unique exemple : l'hébergement de base de donnée sur une "plateforme" administrée par le prestataire, le client ne s'occupant que de l'administration de la base de donnée, pas des logiciels sous-jaçants, pas des sauvegardes, pas de l'administration serveur.

Quelques questions pour essayer de comprendre :
 * est-ce que les offres d'hébergement de site web (PHP + MySQL) c'est aussi considéré comme du PAAS?
 * est-ce que vous avez d'autres exemples que ces 2 là? (hébergement site web + base de donnée) Parce que c'est assez maigre pour se faire une idée précise derrière la définition de PAAS. Est-ce qu'il y a d'autres domaines où on utilise du PAAS?

Les articles sur le PAAS parlent aussi de "Runtime", et malgré quelques lectures, je n'arrive toujours pas à comprendre ce que signifie ce terme "Runtime". Vous n'auriez pas une définition avec des mots simples pour un non-initié?

Merci à tous!

Leon.

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
PAAS : c'est quoi?
« Réponse #1 le: 21 mai 2017 à 09:19:10 »
D'abord on écrit PaaS ou IaaS, SaaS, bref "aaS" avec les "aa" en minuscules, c'est important de respecter la casse sinon on peut pas faire de Loto-Bingo :)

En règle générale le PaaS est une brique applicative mais pas une solution finale, exemple:
 - base MySQL dédiée (en taille ou CPU) -> c'est du PaaS
 - service Microsoft Exchange -> c'est du SaaS

L'exemple MySQL est valable aussi avec du Mongo, du Cassandra, etc. Ce qui est important c'est que ça soit dédié sous une certaine forme, car ça fait longtemps longtemps que les hébergeurs savent fournir du MySQL ou du Apache mutualisé.

Le PaaS est proche de l'infogérance dédiée sauf que le déploiement est automatisé et qu'il y a peu ou pas de custo.

My 2 cents

miky01

  • Expert. Réseau RESO-LIAin (01)
  • Abonné K-Net
  • *
  • Messages: 3 829
  • Farges (01)
PAAS : c'est quoi?
« Réponse #2 le: 21 mai 2017 à 12:32:52 »
Les articles sur le PAAS parlent aussi de "Runtime", et malgré quelques lectures, je n'arrive toujours pas à comprendre ce que signifie ce terme "Runtime".

En fait le Francais et l'informatique c'est pas compatible  :)

J'avais déja cité le cas d'une imprimante ou la notice Francaise indiquait "grasseur des carractères" pour dire "Font" que tous le monde comprend... sauf moi qui comprenait pas avant  de lire la notice Anglaise  :)

Pour le runtime tout dépend du contexte, pour un processeur c'est le temps d'éxecution, pour une procédure, ca défini le temps qu'il faut pour qu'elle soit fonctionnel, mais pour le PAAS je sais pas ce que ca peux définir, faut lire la phrase compète.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
PAAS : c'est quoi?
« Réponse #3 le: 21 mai 2017 à 12:45:00 »
Plateform As A Service

Plateform = les couches applicatives au dessus d'un OS utilisées pour faire une application = la stack

en stack LAMP (Linux Apache MySQL PhP), la plateforme c'est LAMP.

en gros (du bas en haut):

VM/containers -> IaaS
plateform  -> PaaS
Application -> SaaS

Azure (ms) definit ca comme ca:


Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 983
PAAS : c'est quoi?
« Réponse #4 le: 21 mai 2017 à 13:10:21 »
Merci pour vos réponses.

Mais je reste un peu sur ma faim, désolé, autant le dire franchement.  :-[

Est-ce que vous avez d'autres exemples que la "base de donnée PaaS" dont tout le monde parle?
Est-ce que du "cloud storage", c'est considéré comme du PaaS par exemple?

Et surtout est-il possible d'utiliser un vocabulaire compréhensible par tout le monde? Je suis assez ignorant dans tout ce qui est couches logicielles, virtualisation, etc...

L'exemple MySQL est valable aussi avec du Mongo, du Cassandra, etc. Ce qui est important c'est que ça soit dédié sous une certaine forme, car ça fait longtemps longtemps que les hébergeurs savent fournir du MySQL ou du Apache mutualisé.

Le PaaS est proche de l'infogérance dédiée sauf que le déploiement est automatisé et qu'il y a peu ou pas de custo.
Du coup, de l'hébergement mutualisé, ça n'est pas du PaaS, c'est bien ça?
Bizarre, car dans toutes les définitions que j'ai lues, ils ne parlaient pas de "ressources dédiées". Mais je te crois.

Plateform = les couches applicatives au dessus d'un OS utilisées pour faire une application = la stack
Est-il possible de traduire en un langage compréhensible, stp? Parce que je n'ai vraiment pas compris.
"Une application", c'est un logiciel, c'est ça? Si oui, ça tourne directement sur un OS, non? En tout cas, c'est comme ça que j'avais compris.

Il y aurait une "couche applicative" entre l'OS et le logiciel? Si oui, est-il possible d'en savoir un peu plus? C'est le fameux "runtime", dont aucune des définitions que je trouve ne me permet de comprendre de quoi ça parle?

Citer
VM/containers -> IaaS
plateform  -> PaaS
Application -> SaaS
OK, c'est bien ce qui est écrit partout, mais ça ne me donne pas plus de détail sur ce qu'est le PaaS.

Question subsidiaire : c'est quoi un Container? Encore une fois, malgré toutes les définitions et articles que l'on peut lire (et qui disent toutes à peu près la même chose, encore heureux), je n'arrive pas à comprendre ce que c'est.

Citer
Azure (ms) definit ca comme ca:
OK, mais "Runtime" et "Middleware", ça veut dire quoi?

Leon.

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
PAAS : c'est quoi?
« Réponse #5 le: 21 mai 2017 à 13:20:31 »
J'avais déja cité le cas d'une imprimante ou la notice Francaise indiquait "grasseur des carractères" pour dire "Font" que tous le monde comprend... sauf moi qui comprenait pas avant  de lire la notice Anglaise  :)
Un dictionnaire français t'aurait probablement aussi bien renseigné que la notice anglaise a pu le faire.  ;)


BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
PAAS : c'est quoi?
« Réponse #6 le: 21 mai 2017 à 13:31:33 »
Est-ce que vous avez d'autres exemples que la "base de donnée PaaS" dont tout le monde parle?
Est-ce que du "cloud storage", c'est considéré comme du PaaS par exemple?

Storage = IaaS

Qu'il soit en mode cloud ou pas.

Citer
Du coup, de l'hébergement mutualisé, ça n'est pas du PaaS, c'est bien ça?
Bizarre, car dans toutes les définitions que j'ai lues, ils ne parlaient pas de "ressources dédiées". Mais je te crois.

C'est surtout l'application qui t'es dédiée : tu as accès à des paramètres de tuning par exemple que tu ne peux pas avoir en mutu. En mutu, tu partages un "moteur applicatif" et des ressources.

Le PaaS représente surtout la capacité à déployer une couche applicative en mode automatique, de manière extensible (=scalable comme on dit) et avec un certain degré de contrôle des performances -> ça peut aller de serveurs dédiés à des VM ou des containers.

Citer
"Une application", c'est un logiciel, c'est ça? Si oui, ça tourne directement sur un OS, non? En tout cas, c'est comme ça que j'avais compris.

Il y aurait une "couche applicative" entre l'OS et le logiciel? Si oui, est-il possible d'en savoir un peu plus? C'est le fameux "runtime", dont aucune des définitions que je trouve ne me permet de comprendre de quoi ça parle?

Prenons ça autrement. Un développeur a besoin de couches applicatives pour obtenir le résultat final à ses utilisateurs/clients. Ces couches applicatives ça peut être du PaaS. C'est pour cela qu'on parle de "stack".

Si on découpe ça :
 - tu fais tout toi-même, infra, couches applicatives, etc : mode privé, on dit "On Premise", tu dois tout gérer, serveur, stockage, sauvegarde, réseau, OS, couches applicatives jusqu'au résultat final
 - tu remplaces l'infra par du IaaS : serveur, stockage, etc c'est plus ton problème, mais il te reste l'OS et les couches applicatives à gérer pour pouvoir obtenir ton résultat final
 - tu ne veux que des couches applicatives, pas envie de gérer l'OS, tu utilises du PaaS : en prenant les différentes briques tu parviens à ton résultat final.

IaaS, PaaS, SaaS, c'est une forme d'infogérance mais qui est automatisé, basée sur des métriques connus et qui est extensible... dans la limite de ton budget :)

Citer
Question subsidiaire : c'est quoi un Container? Encore une fois, malgré toutes les définitions et articles que l'on peut lire (et qui disent toutes à peu près la même chose, encore heureux), je n'arrive pas à comprendre ce que c'est.

Partons plutôt à l'envers, un container ce n'est pas:
 - une VM
 - un jail BSD/Solaris

Un container c'est un package permettant le fonctionnement autonome d'une application. Il en existe de 2 types:
 - stateless : aucun état à stocker, on peut l'arrêter/démarrer quand on veut, typiquement un Apache, un Tomcat ou un Nginx
 - statefull : informations locales à conserver, le container est plus délicat à gérer, exemple une base MySQL

A quoi ça sert ? Imagine que lafibre.info soit "conteneurisé" :
 - on aurait un conteneur pour la base MySQL
 - on aurait au moins un Apache et Vivien pourrait en ajouter à la volée, en fonction de la charge

C'est quoi la différence avec une VM ? une VM = un OS. Un conteneur ne contient que le nécessaire. Comment on upgrade ? On met à jour l'image du conteneur puis on remplace en live en arrêtant/démarrant les anciens et nouveaux.

Aujourd'hui le stateless est de loin le plus adapté et là où le conteneur prend tout son sens c'est quand tu l'associe à un ordonnanceur comme MEsos/Marathon ou Kubernetes.

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 983
PAAS : c'est quoi?
« Réponse #7 le: 21 mai 2017 à 13:45:44 »
Le PaaS représente surtout la capacité à déployer une couche applicative en mode automatique, de manière extensible (=scalable comme on dit) et avec un certain degré de contrôle des performances -> ça peut aller de serveurs dédiés à des VM ou des containers.

Prenons ça autrement. Un développeur a besoin de couches applicatives pour obtenir le résultat final à ses utilisateurs/clients. Ces couches applicatives ça peut être du PaaS. C'est pour cela qu'on parle de "stack".
Mais concrètement, c'est quoi une "couche applicative" dont tu parles? C'est le "runtime"? Si oui, tu peux m'expliquer? Avec des mots simples stp? 
Pour moi, sur un PC Windows, une application c'est un .Exe et quelques DLL. Et ça tourne directement sur l'OS, je ne vois pas de couche intermédiaire (couche applicative).

Tu parles de développeur, mais je ne vois pas ce que le développeur vient faire dans l'histoire. Là, on est sur un serveur (ou une ferme de serveurs), et j'ai l'impression que la "couche applicative" dont tu parles, c'est son environnement de développement, sur le PC du développeur.


Citer
Partons plutôt à l'envers, un container ce n'est pas:
 - une VM
 - un jail BSD/Solaris
"jail BSD"?? C'est quoi cte truc? Des mots simples, stp...

Citer
Un container c'est un package permettant le fonctionnement autonome d'une application. Il en existe de 2 types:
 - stateless : aucun état à stocker, on peut l'arrêter/démarrer quand on veut, typiquement un Apache, un Tomcat ou un Nginx
 - statefull : informations locales à conserver, le container est plus délicat à gérer, exemple une base MySQL

A quoi ça sert ? Imagine que lafibre.info soit "conteneurisé" :
 - on aurait un conteneur pour la base MySQL
 - on aurait au moins un Apache et Vivien pourrait en ajouter à la volée, en fonction de la charge

C'est quoi la différence avec une VM ? une VM = un OS. Un conteneur ne contient que le nécessaire. Comment on upgrade ? On met à jour l'image du conteneur puis on remplace en live en arrêtant/démarrant les anciens et nouveaux.
J'ai à peu près rien compris, désolé...
"fonctionnement autonome d'une application"? Ca veut dire quoi concrètement?

Leon.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
PAAS : c'est quoi?
« Réponse #8 le: 21 mai 2017 à 13:46:47 »
Il y aurait une "couche applicative" entre l'OS et le logiciel? Si oui, est-il possible d'en savoir un peu plus? C'est le fameux "runtime", dont aucune des définitions que je trouve ne me permet de comprendre de quoi ça parle?
OK, c'est bien ce qui est écrit partout, mais ça ne me donne pas plus de détail sur ce qu'est le PaaS.

runtime = moteur SQL par exemple, le serveur Apache, l’interpréteur PHP.

Par exemple, si tu veux faire un site comme lafibre.info il y a 4 composants:

l'OS puis au dessus tourne un serveur web (Apache) qui appelle un interpréteur Php (qui exécute des pages php donc ce qui produit des pages html envoyés par le serveur Apache aux clients). Le code Php fait des appels a une base SQL pour lire/stocker les données (messages du forums) de façon à  avoir une persistance (stockage). La base SQL n'est pas forcement sur le meme serveur physique et il peut même y avoir plusieurs serveurs Apache (pour les gros sites notamment). Le code php est fournit pas SMF (Simple Machines Forum).

En mode IaaS, c'est a toi de gérer tout sauf le matériel.

En mode PaaS, un prestataire peut s'occuper pour toi de l'OS, d'Apache+PhP et de la base SQL. TU n'a qu'a founir le code php et gérer la conf du serveur Apache et de la base SQL. le prestataire s'occupe des installations, mises jour, déplacement si matériel en panne, backup, etc

Tu peux vouloir que déléguer la base SQL et pas le serveur web par exemple.

En mode SaaS, le prestataire va tout gérer y compris l'installation de SMF, t'aura plus qu'a t'en servir.


Donc entre le code source du forum (SMF) et l'OS il y a bien une "plateforme", un runtime. il y en a 3 en fait: PHP sur Apache et
 a coté , en parallèle, SQL.
 

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
PAAS : c'est quoi?
« Réponse #9 le: 21 mai 2017 à 14:17:13 »
Mais concrètement, c'est quoi une "couche applicative" dont tu parles? C'est le "runtime"? Si oui, tu peux m'expliquer? Avec des mots simples stp? 
Pour moi, sur un PC Windows, une application c'est un .Exe et quelques DLL. Et ça tourne directement sur l'OS, je ne vois pas de couche intermédiaire (couche applicative).

Tu ne vois pas de couche intermédiaire et pourtant il y en a : ça va du noyau jusqu'à l'affichage. Chacun gère un bout.

En mode web c'est pareil, chacun a un rôle. Chaque brique communique avec une autre à travers une interface (API par exemple). La couche applicative c'est le socle au-dessus de l'OS mais qui n'est pas visible de l'extérieur.

Exemple typique : Tomcat. Ca exécute l'application finale/utilisateur écrite en Java. C'est là où on parle de Middleware = application "du milieu", entre le code du développeur et l'OS.

Citer
Tu parles de développeur, mais je ne vois pas ce que le développeur vient faire dans l'histoire. Là, on est sur un serveur (ou une ferme de serveurs), et j'ai l'impression que la "couche applicative" dont tu parles, c'est son environnement de développement, sur le PC du développeur.

Le développeur travaille sur son application dans un "framework" adapté à la cible d'exécution. si c'est du Tomcat, il lui faudra un IDE Java qu'il pourra exécuter en local. Si c'est du PHP, il foudra un environnement web iso de la cible (en local ou sur un serveur clone de la cible) : donc Apache + MySQL.

On en revient au mode PaaS : il faut une plateforme pour la PROD, une autre pour la RECETTE et une autre pour la DEV. En mode PaaS, tu instancie/démarre en fonction du besoin et à la demande. Je trash la DEV pour tout reprendre, ou je créé une DEV_BIS pour faire un test. Quand tu dois tout gérer toi-même, c'est fastidieux de tout re-créer et re-paramétrer.

Donc aujourd'hui, tout ce qui est développement web a fortement tendance à utiliser des environnements prêts à l'emploi qu'on peut cloner facilement. Le développeur est autonome, il n'a pas besoin d'un sysadmin, netadmin, etc.



Citer
"jail BSD"?? C'est quoi cte truc? Des mots simples, stp...

Jail = prison

Un jail BSD est un environnement d'exécution avec des droits et accès très limités. C'est géré au niveau du noyau, c'est un genre de chroot Unix avancé.

Citer
"fonctionnement autonome d'une application"? Ca veut dire quoi concrètement?

Tu prends tout ce dont tu as besoin pour faire tourner l'application sauf l'OS lui-même : l'application et les bibliothèques nécessaires éventuellement.

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 983
PAAS : c'est quoi?
« Réponse #10 le: 21 mai 2017 à 14:31:15 »
Merci à tous les 2 d'avoir pris le temps de me répondre.
C'est plus clair.

Je vais digérer tout ça, et relire des articles avec ce nouvel éclairage, ça devrait aller mieux maintenant.

Leon.

vivien

  • Administrateur
  • *
  • Messages: 47 170
    • Twitter LaFibre.info
Qu'est-ce que le cloud ?
« Réponse #11 le: 31 mars 2022 à 21:55:01 »
Scaleway présente "Il était une fois le cloud...", une vidéo imagée du cloud

(voir plus bas pour la présentation du cloud par l'autorité de la concurrence)

C'est réussi, même si c'est plus une vidéo pour les informaticiens, certains termes ne parleront pas au grand public comme PaaS (Platform-as-a-service)