Cloud Foundry, la solution PaaS libre

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
29
22
avr.
2011
Ruby

VMWare a annoncé la sortie de Cloud Foundry, une solution libre de Platform-as-a-Service (PaaS). La PaaS permet de déployer des applications Web et gérer leur montée en charge, en abstrayant la gestion des serveurs, bases de données, runtimes des langages de programmation, serveurs applicatifs, etc.. VMWare va lancer une offre commerciale s’appuyant sur Cloud Foundry, mais vous pouvez aussi l’utiliser sur vos serveurs.

Cloud Foundry, sous licence Apache 2, est un ensemble de briques développées en Ruby : NATS, Cloud Controller, DEA, Router, Health Manager, etc., dont le fonctionnement est expliqué en seconde partie de cette dépêche.

En pratique, chaque serveur sera installé avec vcap, puis les applications sont déployées avec l’outil en ligne de commande « vmc » et peuvent utiliser les services mis à leur disposition. Actuellement, Cloud Foundry supporte Ruby on Rails, Sinatra, Node.js, Spring et Grails pour les applications, et MySQL, MongoDB, Redis et RabbitMQ pour les services.

Par exemple, déployer une application Rails se fait très simplement avec les commandes suivantes :

$ vmc target api.example.net   # Choisir que quel cloud on va déployer
$ vmc login                    # S'identifier auprès du Cloud Controller
$ vmc push                     # On demande à déployer l'application

Il faut ensuite répondre à quelques questions : quel est le nom de l’application ? Quelle est son URL ? Sur combien d’instances va-t-elle être déployée ? Quels services utilise-t-elle ? Puis, Clound Foundry va réserver les ressources, installer les gems nécessaires avec Bundler, lancer les services applicatifs puis mettre à jour sa table de routage. « vmc instances » permet également de modifier le nombre d’instances d’une application pour s’adapter à la charge qu’elle va avoir à traiter.

Au final, Cloud Foundry est une solution jeune (peu de frameworks et services disponibles pour le moment), mais VMWare semble prêt à respecter les règles du Logiciel Libre et prendre en compte les propositions d’améliorations des premiers utilisateurs.

Cloud foundry est organisé en plusieurs composants qui communiquent entre eux grâce à Nats, un bus Pub/Sub. Il est possible de faire monter en charge chaque composant en lançant de nouvelles copies de ce composant (extensibilité horizontale).

Cloud Controller

Le premier composant est Cloud Controller, le cerveau de Cloud Foundry. Il connaît les services et applications présents, ainsi que leurs instances et configurations et expose une API Rest pour ces informations, qui est notamment utilisée par vmc et le greffon STS pour Eclipse.

Droplet Execution Agent

Un Droplet Execution Agent (DEA) est présent sur chaque serveur qui fait tourner une application ou un service. Quand le Cloud Controller reçoit une demande pour déployer une application, il demande aux DEA s’ils ont la capacité pour ces instances et, si la réponse est positive, va désigner un ou plusieurs DEA. Ceux-ci vont alors lancer les instances de l’application, puis vérifier qu’ils ont bien démarré.

Router

Les routeurs reçoivent les requêtes HTTP et les transmettent aux instances de l’application chargée de les traiter. Leur table de routage est mise à jour quand les DEA annoncent sur Nats les modifications sur les instances.

Health Manager

Le Health Manager va régulièrement vérifier que les instances tournent bien et que les DEA sont toujours en vie. Dans le cas contraire, il prévient le Cloud Controller pour y remédier.

Services

Enfin, Cloud Foundry possède des services comme MySQL ou Redis. On peut faire du « provisioning » sur ces services (par exemple, créer une base de données), puis assigner cette ressource à une ou plusieurs applications.

Aller plus loin

  • # Proprio ?

    Posté par  . Évalué à 10.

    Une solution PaaS libre, c'est une solution ProopriétaairE ? ;)

    Ok je -> []

    • [^] # Re: Proprio ?

      Posté par  (site web personnel) . Évalué à 2.

      Moi aussi j'ai cru lire pas libre

      • [^] # Re: Proprio ?

        Posté par  . Évalué à 1.

        (moi je te plusse, vu que j'y ai cru aussi)

        « En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll

        • [^] # Re: Proprio ?

          Posté par  . Évalué à 5.

          Moi j'ai cru a un jeu de mot

          "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

  • # ton avis ?

    Posté par  . Évalué à 4.

    tu as pu tester en interne avec le linux fr ?

    si oui, tu penses quoi de la solution ?

    • [^] # Re: ton avis ?

      Posté par  (site web personnel) . Évalué à 9.

      tu as pu tester en interne avec le linux fr ?

      J'ai testé mais avec une petite application Rails qui n'est pas LinuxFr.org.

      si oui, tu penses quoi de la solution ?

      Beaucoup de bien. C'est encore jeune, donc le nombre de services et frameworks est limité et ça manque sérieusement de documentation. Mais on sent que les développeurs savent ce qu'ils font : le code est propre, tous les composants sont scalables horizontalement et possèdent des mécanismes pour essayer de se réparer automatiquement. Et pour ne rien gâcher, VMWare semble vraiment jouer la carte de l'Open-Source : ils travaillent activement sur github pour intégrer les remontées et les patchs des utilisateurs.

      • [^] # Re: ton avis ?

        Posté par  . Évalué à 3.

        je ne suis pas rubyiste mais j'avoue que l'annonce est pour le moins alléchante
        notamment dans un cadre de simplification de gestion et de déploiement ...

        après effectivement vmware jouera-t-il toujours la carte de l'open-source ou
        fera-t-il un démarrage open pour passer closed ensuite ... c'est une question
        à réellement se poser car quand tu es pris dans l'infrastructure ...
        difficile d'en sortir après ... et autant les outils vmware peuvent être sympa
        autant les tarifs le sont beaucoup moins !

      • [^] # Re: ton avis ?

        Posté par  . Évalué à 1.

        Tu as fait l'installation de CloudFoundry à la main, ou y a-t-il une image prête à déployer?

      • [^] # business loto

        Posté par  (site web personnel) . Évalué à 10.

        tous les composants sont scalables horizontalement

        foutaises!

        • [^] # Re: business loto

          Posté par  (site web personnel) . Évalué à -4.

          Pas du tout, ils se sont basé sur les solutions éprouvées d'un géant de la scalabilité: Twitter.

          L'ensemble du développement repose sur un composant fondamental: ror2scala

  • # le PaaS est-il GNU compatible?

    Posté par  . Évalué à 3.

    Comme le dit R.Stallman :
    > "In order for this [ndm: SaaS] to be as good as using your own computer,
    you need to be able to replace any and all of the software it is running."

    Or je lis ici que ...
    "La PaaS permet de déployer des applications Web et gérer leur montée en charge, en abstrayant la gestion des serveurs, bases de données, runtimes des langages de programmation, serveurs applicatifs, etc.. "

    Quel sont au juste les données que j'utilise mais qui ne sont pas sous mon contrôle avec le PaaS ?

    • [^] # Re: le PaaS est-il GNU compatible?

      Posté par  . Évalué à 3.

      l'intérêt de l'annonce justement c'est que tu peux toi même installer sur ton infrastructure
      tu n'es pas obligé d'aller sur un nuage où tes données se baladent à perpet les bains ...

      personnellement je ne suis pas fan non plus des systèmes à base de cloud partagé
      où tu ne maîtrises rien et je pense qu'il faut continuer à garder la maîtrise
      de tes services ... maintenant si on offre un outil capable de déployer rapidement
      un service en interne (chose que tu sais faire mais qui prends toujours du temps)
      je trouve que c'est un bon système ...

      du coup pour répondre à ta question, je dirais oui puisque tu peux toujours l'installer
      chez toi et en garder la maîtrise totale (de ton infra, de tes services et de tes données).

      enfin c'est mon point de vue :D

      • [^] # Re: le PaaS est-il GNU compatible?

        Posté par  . Évalué à 1.

        Je suis d'avis qu'il s'agit d'un sujet bien difficile.
        Si tu possèdes toute l'infrastructure du Cloud, alors cela devient un Cluster classique, non? L'intérêt du Nuage est de permettre le partage de ressources avec des réseaux qui ne t'appartiennent pas, et qui sont du coup potentiellement beaucoup plus nombreux. Mais je me trompe sûrement dans l'approche des concepts; Et j'avoue humblement que je ne maîtrise pas le sujet.
        Ceci dit.
        Tiraillé entre les grandes phrases "marketeuses" et mon (vieillissant) intérêt pour l'informatique répartie, je ne sais pas trop quoi penser de cette monté en puissance des Cloud, SaaS, PasS et autres nouvelles infra structures. La difficulté pour en trouver une définition GNU compatible est, de mon point de vue l'illustration du fait que ce sont des 'joujou' capricieux. Je ne parle pas de sécurité de données, ni de compléxité technique, mais plutôt de philosophie inhérente à l'approche de l'informatique répartie.
        Je proposais à RMS la garantie pour l'utilisateur d'un accès TOTAL en lecture et PARTIEL en écriture sur un serveur distant critère d'éligibilité GNU d'un systeme que du coup je qualifiai de Server as a Service. Cela ne semblait pas suffisant.

        Comment concilier l’accessibilité totale au 'Cloud' tout en assurant sa "Qualité de service"? Faudrait-il faire une espèce de "wiki de cluster"?

  • # CloudFoundry se rapprocherait il du système de DotCloud ?

    Posté par  . Évalué à 1.

    Dotcloud

    Bonjour à tous,

    Le système CloudFoundry se rapprocherait il du système mis au point par dotcloud ?

    N'étant pas un informaticien je peux dire des bêtises mais peut on comparer ces deux offres ?

    • [^] # Re: CloudFoundry se rapprocherait il du système de DotCloud ?

      Posté par  (site web personnel) . Évalué à 5.

      Oui, dotcloud est très similaire à l'offre commerciale de VMWare, CloudFoundry.com.

      Mais ce que je trouve vraiment intéressant dans Cloud Foundry, ce n'est pas la partie commerciale mais le code Open-Source. Cela permet d'utiliser Cloud Foundry sur les serveurs de son choix sans dépendre de VMWare ou d'une autre société.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.