Syndiquer le contenu
Mis à jour : il y a 16 heures 52 min

Présentation d’OpenStack

5 février, 2016 - 08:15

OpenStack, vous connaissez ? Virtualisation et nuage/cloud, ça vous dit quelque chose ? Si vous n’êtes pas un expert, vous voulez sans doute en savoir un peu plus. Cet article est fait pour vous.

Nous allons rappeler ce qu’est un cloud, les différents types de clouds, et où se situe OpenStack. Ensuite, nous ferons une présentation d’OpenStack et de ses différents services.

La version d’OpenStack baptisée Kilo est sortie le 30 avril 2015. Elle incluait à cette date un nouveau service : Ironic. Le 16 octobre 2015, ce fut le tour de la version Liberty. D’autres sont à venir, à commencer par Mitaka, annoncé pour le 7 avril 2016. Pour mémoire, la première lettre du nom de version suit l’alphabet latin.

Cet article a pour but de faire une présentation assez rapide d’OpenStack et de servir de référence aux prochains articles, en particulier lors de la sortie de Mitaka en avril.

NdM. : Cette dépêche est incomplète, elle a longtemps traîné en rédaction. Elle a cependant le mérite de proposer un rare tour d’horizon. Les modérateurs la publient en comptant sur l’excellence de vos commentaires pour nous raconter les évolutions depuis la version Kilo.

Sommaire Les différents clouds Qu’est‐ce que le Cloud computing ?

Le Cloud computing est un concept fourre‐tout. C’est le fait d’utiliser de la puissance de calcul ou de stockage de serveurs informatiques distants par l’intermédiaire d’un réseau, avec certaines caractéristiques comme la disponibilité, l’élasticité, la mutualisation et le paiement à l’usage.

Le plus souvent il s'agit d'un service informatique extérieur à l'entreprise. Cela est donc une façon d'économiser des moyens humains en informaticiens et de les remplacer par un service externe qui peut gérer au besoin une demande importante.

Prenons un exemple pour bien comprendre : le cas d'une suite bureautique. Pour l'entreprise, il y a 2 manières de gérer l'utilisation d'un traitement de texte :

  • Installer sur les postes clients un traitement de texte et payer éventuellement les licences qui vont avec (Microsoft Office 2013, LibreOffice).
  • Utiliser un traitement de texte via un navigateur web (exemple : Microsoft Office 365, Google Doc, Etherpad instancié sur le Framapad).

La première méthode est moins souple, car l'entreprise paie les licences même si le logiciel n'est pas utilisé ; alors qu'avec la seconde, le paiement est à la demande. Par ailleurs, il n'y a pas la phase d'installation du logiciel qui permet d'économiser du temps. Par contre les données sont externalisées, ce qui peut poser des problèmes de sécurité et de confidentialité.

L'exemple qui vient d'être évoqué est un SaaS : Software as a Service/logiciel en tant que service

Mais il y a différents degrés d'informatique en nuage.

On peut faire l'analogie pour manger une pizza :

  • La méthode "à la maison" : on achète les ingrédients, on les cuisine et on met la table. C'est la méthode traditionnelle. L'acheteur (entreprise ou particulier) contrôle tout et en a les compétences.
  • La méthode "à emporter puis cuisiner" : on te fournit les ingrédients. C'est à toi de les cuisiner à ta manière et de s'occuper du reste. L'entreprise en tant qu'utilisateur n'a pas à s'occuper des matières premières mais elle a le contrôle du reste. En cloud, c'est IaaS : Infrastructure as a Service/infrastructure en tant que service, avec les compétences afférentes
  • La méthode "pizza 30 minutes" : on appelle un vendeur de pizza. Il ne reste plus qu'à s'occuper de l'accompagnement et de la table. Dans le nuage, c'est PaaS : Platform as a Service/ plate-forme en tant que service
  • La méthode "pizzeria" : on entre dans une pizzeria et on n'a rien à prendre en charge (ou presque). En cloud, c'est SaaS : Software as a Service/logiciel en tant que service.

OpenStack est un ensemble de logiciels libres permettant de déployer un cloud orienté IaaS, mais il est de plus en plus possible de faire un PaaS.

Cloud privé vs public

Le cloud public est un cloud qui permet à l'entreprise d'externaliser ses moyens. Il y a donc moins d'informaticiens à embaucher. L'entreprise doit par contre payer une autre entreprise et perd le contrôle de l'infrastructure et les données.

Exemple IaaS public connu : Amazon EC2, Windows Azure, RackSpace et CloudWatt.

Le cloud privé est un cloud qui permet de ne pas perdre le contrôle de l'infrastructure et des données tout en améliorant la qualité de service. Ce type de cloud est de plus en plus utilisé dans les grandes entreprises. Cela demande des compétences en interne.

Exemple IaaS privé connu : OpenStack, OpenNebula.

Il y a aussi le cloud hybride qui permet d'utiliser les avantages du cloud privé et du cloud public.

Avec un cloud hybride, une possibilité est de mettre les données sensibles et importantes dans le cloud privé et le reste dans le cloud public. Une autre possibilité dans l'optique de réduire ses coûts d'exploitation est de dimensionner son cloud privé pour une charge moyenne et d'utiliser le cloud public afin d'absorber les surcharges ponctuelles.

OpenStack Présentation

GNU/Linux est né entre deux projets : le noyau Linux créé par Linus Torvalds et des outils systèmes du projet GNU. De la même manière, l'entreprise Rackspace a créé un service de stockage (Swift) et a besoin d'un système pour la gestion de la virtualisation automatique. Des employés de la NASA créent une solution toute trouvée : Nova. Ainsi, en 2010, OpenStack est né de 2 services : Nova et Swift.

OpenStack est sous licence Apache 2.0, licence de logiciel libre. Elle n'est pas Copyleft.

Historique des versions

Avec un rythme de quatre mois puis de six mois, les versions d'OpenStack sont sorties.

En 2011, le service Nova s'est séparé du service de gestion d'image de machine virtuelle pour créer un nouveau service : Glance.

En avril 2012, un nouveau service apparaît : Horizon. C'est l'interface web qui permet de visualiser les différents services d'OpenStack. Par ailleurs Nova se sépare du service d'identification pour créer un nouveau service : Keystone.

En septembre 2012, la gestion réseau de Nova (nova network) commence à prendre beaucoup trop de place. Un nouveau service apparaît : Quantum. Il sera appelé par la suite Neutron. Par ailleurs, la gestion du stockage bloc de Nova explose et un nouveau service naît : Cinder.

En 2013, deux nouveaux services apparaissent : Heat et Ceilometer. Heat est un service de gestion de l'orchestration. Ceilometer est un service de calcul de consommation de chaque client.

En avril 2014, le service Trove apparaît. C'est un service de gestion d'instance de base de données.

En octobre 2014, le service Sahara apparaît. C'est un service dédié au Big Data.

Technologies communes

Tous les services utilisent Python 2.7. Il y a un projet pour porter vers Python 3.

Chaque service utilise une base de données relationnelle. Par défaut, il utilise MySQL mais il est possible d'utiliser une autre base de données. OpenStack utilise comme ORM : SQLAlchemy.

Pour accéder, modifier une ressource, OpenStack utilise l'API REST qui est basée sur HTTP.

Pour la communication entre les services et à l'intérieur des services, OpenStack utilise AMQP. Par défaut, il utilise l'implémentation en Erlang : RabbitMQ.

Les différents composants Nova

Développé à l'origine par la NASA, c'est le cœur d'OpenStack. Il s'occupe principalement de la gestion des hyperviseurs (ordonnanceur et gestion des machines virtuelles) et du contrôle des ressources (CPU, RAM, réseaux et stockages).

Glance

Glance a été extrait rapidement de Nova pour en faire un composant à entière. Il permet la gestion des images de machine virtuelles (découverte, enregistrement, récupération et états des images).

Keystone

Keystone permet la gestion de l'identification. L'utilisation d'un autre composant dépend de Keystone (accréditation).

Neutron

À l'origine ce composant s'appelait Quantum, il permet la gestion du réseau dans OpenStack. Il a des fonctionnalités réseaux avancées (tunneling, QoS, Réseaux virtuels et équilibrage de charge, etc.).

Avec Nova, Neutron est l'élément où le développement est le plus important (voir les statistiques de stackalystics grâce notamment à l'arrivé de Cisco dans le projet.

Swift

Ce composant permet la gestion du stockage objet. Il a été développé avant OpenStack par Rackspace. Il est ainsi indépendant d'OpenStack et est considéré comme le composant le plus stable. Il peut s'utiliser comme frontend avec le composant Glance.

Le stockage objet est une notion bien différente d'un stockage classique qu'on connaît sur les ordinateurs de bureau. Il n'y a pas de notion de montage de partition par exemple. Mais l'avantage principale de ce type de stockage est la disponibilité, la tolérance aux pannes et un agrandissement du stockage à l'infini. En contre-partie, il est considéré moins performant et beaucoup plus compliqué à paramétrer qu'un stockage classique. Un concurrent à Swift que vous connaissez certainement est Ceph.

Cinder

Ce composant permet la gestion du stockage de type bloc.

Ironic

Ironic est un nouveau composant du projet OpenStack. Il permet la gestion du Bare Metal c'est à dire des véritables ordinateurs et non des machines virtuelles. Il s'occupe ainsi le démarrage et l'extinction des ordinateurs. Il va utiliser des technologies comme PXE, TFTP ou IPMI par exemple.

Horizon

Horizon est une interface web pour la gestion d'OpenStack. Il utilise comme framework Django. Il permet ainsi de visualiser les différents composants d'OpenStack et d'agir dessus.

Heat

Heat est le composant d'orchestration d'OpenStack. Il permet par exemple de demander à Nova de démarrer une machine virtuelle supplémentaire en cas de charge importante de façon automatique.

Ceilometer

Ceilometer est le composant de facturation d'OpenStack. Il permet de calculer la consommation (CPU, RAM, données, etc) de chaque client (utile pour créer un cloud public)

Trove

Trove est le composant de provisionnement de bases de données d'OpenStack. Il prend en charge MySQL, PostgreSQL, MongoDB. Depuis kilo, il prend par ailleurs en charge Vertica et Vertica Cluster, DB2 et CouchDB.

Sahara

Sahara est le composant pour le Big Data d'OpenStack. Il permet d'utiliser Hadoop avec OpenStack.

Télécharger ce contenu au format Epub

Lire les commentaires

Loi de finances 2016 en France : des nouvelles du front

4 février, 2016 - 20:43

La loi de finances 2016 en France dispose d’un article 88 qui vise à réglementer le secteur des logiciels d’encaissement.

Citons‐en la partie essentielle :

Lorsqu’elle enregistre les règlements de ses clients au moyen d’un logiciel de comptabilité ou de gestion ou d’un système de caisse, utiliser un logiciel ou un système satisfaisant à des conditions d’inaltérabilité, de sécurisation, de conservation et d’archivage des données en vue du contrôle de l’administration fiscale, attestées par un certificat délivré par un organisme accrédité dans les conditions prévues à l’article L115-28 du code de la consommation ou par une attestation individuelle de l’éditeur, conforme à un modèle fixé par l’administration.

Alerté au début de l’été 2015, votre humble serviteur a entamé depuis octobre 2015 une action vis‐à‐vis de cet article potentiellement nuisible au logiciel libre et qui entrerait en vigueur le 1er janvier 2018.

La coordination principale a lieu sur la liste comptabilite@ de l’April, liste ouverte à tous sans besoin d’adhésion à l’association.

TL;DR

Nous avons été reçus par Infocert, société de certification, et le Gouvernement. Nous avons reçu une écoute attentive. Les problèmes que nous soulevons ont été reconnus comme vrais. Le front est situé autour de la liberté de modification et de la notion d’éditeur d’un logiciel communautaire.

Aucun engagement concret n’a cependant été pris.

Où en étions‐nous ?

La dernière fois que je me suis exprimé en ce lieu, la loi n’était pas votée. Je n’avais rencontré personne, l’action se cantonnant à des contacts téléphoniques avec le cabinet du secrétaire d’État au budget.
Beaucoup des conclusions présentes dans les commentaires, renforcées par des échanges sur la liste comptabilité se sont avérées.

Accélération et préparation

Alerté par du remous sur Internet, le Gouvernement a pris contact. Un échange rapide a conclu à un engagement de rencontre en janvier, engagement qui s’est réalisé.
Je suis également rentré en contact avec Infocert, seul organisme proposant une certification en rapport à cette loi. Il y a eu deux rencontres fin janvier.

Une intervention dans l’Écho des gnous, émission FM sur radio Campus Lille, avait mobilisé la communauté.
Les échanges sur comptabilite@ mais, aussi surprenant que ce soit, également sur LinuxFr.org, ont été productifs.
Un article sur Numerama a donné de la visibilité au sujet, produisant des retours.

Je me suis mis en rapport avec l’April qui, mixé aux analyses juridiques de l’avocate de Scil (éditeur du logiciel Pastèque), a été indispensable sur le plan juridique et politique.

Rencontre avec Infocert

Infocert confirme : la norme Logiciel de gestion et d’encaissement a précédé la loi.

Infocert reconnaît qu’en l’état, les sujets du logiciel libre, du cloud et des tablettes (dans cet ordre) sont à creuser. Infocert a indiqué que la certification serait revue aux lumières des précisions apportées par le Gouvernement autour de la loi.

Infocert invite les acteurs du monde libre à rejoindre son Club Access (ce n’est pas gratuit) afin de débattre du sujet.

Rencontre avec le Gouvernement

L’équipe de l’April et moi‐même avons été reçus au ministère des finances. Les participants du côté de l’État soulignent a minima une considération sérieuse pour le sujet.

Nous venions avec trois points principaux et des sujets connexes.

Les trois points principaux :

  1. Protection des éditeurs de logiciels libres en cas de dévoiement du logiciel par un utilisateur. A priori, ce point est déjà assuré par plusieurs principes juridiques. Pour résumer, un constructeur de vélos ne sera jamais mis en cause pour un problème lié aux bricolages d’une personne sur son vélo.
  2. Protection du droit à modifier un logiciel : la loi ne doit pas empêcher un utilisateur d’apporter des modifications à un logiciel, y compris aux sections concernant les données. Nous avons émis des propositions, elles ont été prises en note.
  3. Proposition de télétransmission des données en temps réel (déclarations TVA, signatures comptables) : cela a été repoussé à après la mise en œuvre de la loi actuelle. Ce point est une manœuvre pour réduire la complexité de la vérification de l’intégrité des données locales dans un environnement logiciel totalement ouvert.

Les sujet connexes :

  • Définition de la notion d’éditeur de logiciel. Rien n’existe dans la loi à ce propos, cela a été reconnu. Ce point est pourtant plein de conséquences pour les projets libres communautaires et, mais on s’en fout, pour les systèmes d’information propriétaires complexes avec plusieurs intervenants.
  • Question du commerce électronique : est‐il concerné ? Si oui, la masse de personnes concernées serait énorme.
  • Retour sur la loi de 2013 de lutte contre la fraude, qui contient des dispositions récusées par l’April.
  • Retour sur le rejet de la priorité au logiciel libre.

Nous n’avons pas abordé la question de la conservation de données privées. Nous passerons le sujet à la Quadrature du Net quand cette dernière aura un peu plus d’air ; l’état d’urgence est toujours l’actualité.

Le Gouvernement lancera prochainement une consultation dans le but de clarifier tous les points flous de la loi d’ici au mois de juin 2016. Nous l’avons invité à le faire en ligne.

Piste bonus

Nous en sommes restés coi : un de nos interlocuteurs, inspecteur général des impôts, nous a dit avoir lu les commentaires de la dépêche LinuxFr.org précédente.

Télécharger ce contenu au format Epub

Lire les commentaires

saloon : débuter simplement une application web avec erlang et angular

4 février, 2016 - 10:41
Le problème des piles pour applications web

Si vous avez déjà cherché à développer une appli web moderne, vous avez déjà dû vous heurter à la question de choisir les bons composants parmi la foultitude de ceux existants… et surtout les faire fonctionner.

Premièrement, quand je parle d'applis web modernes, il faut savoir qu'elles partagent en général cette architecture :

  • un serveur HTTP,
  • un cadriciel pour exposer des API REST,
  • un cadriciel JavaScript pour la partie frontend: il consomme les API REST et met en forme les données en HTML,
  • un système de construction (build), ou plutôt des, la partie serveur et la partie frontend utilisant en général un système différent.

Bref, il fait fonctionner tout cela ensemble, vérifier les incompatibilités, etc.

Les générateurs d'applications yeoman

Le projet yeoman vise à fournir des générateurs d'applications qui intègrent des piles complètes et prêtes à l'emploi dans le domaine des applis web. Même si le projet est issu de la communauté node.js, on peut aisément écrire des générateurs pour n'importe quelle techno.

saloon, faites entrer le cowboy

Le générateur saloon (licence Apache v2) est un générateur yeoman pour débuter simplement une application web avec erlang et angular.

Il intègre les composants suivants:

  • partie serveur:
  • partie frontend:
    • bootstrap pour des composants graphiques pas trop moches,
    • angular.js, le cadriciel bien connu pour faire des applis web dynamiques,
    • Sass pour faciliter l'écriture de CSS,
  • intégration / construction: un projet généré avec saloon est construit avec make et intègre:
    • pour la partie serveur: erlang.mk, l'excellent Makefile pour erlang,
    • pour la partie javascript:
    • Bower pour les dépendances javascript,
    • Grunt pour la partie javascript qui a besoin d'être construite.
Comment se lancer ?

Il vous suffit de lancer yo saloon dans un répertoire vide, puis de lancer make. Vous avez alors une appli prête à l'emploi que vous pouvez modifier / étendre comme bon vous semble. Mais toutes les bases sont là et fonctionnelles.

Télécharger ce contenu au format Epub

Lire les commentaires

Wikipédia a soufflé ses 15 bougies

3 février, 2016 - 00:03

L’encyclopédie collaborative libre Wikipédia a fêté ses 15 ans mi‐janvier. Forte de cinq millions d’articles en anglais, de dix autres langues avec plus d’un million d’articles chacune (dont l’allemand avec 1,8 millions et le français avec 1,7 millions) et globalement plus de 35 millions de pages en 291 langues, ce recueil d’informations et de connaissances, tour à tour adulé et décrié, devenu L’encyclopédie, poursuit son chemin. 28 % des Terriens n’ont jamais connu un monde sans ce commun informationnel (source Fondation Wikimédia).

Quelques informations en vrac :

  • la Fondation Wikimédia a mis en ligne un site dédié aux 15 ans, comportant de nombreux témoignages ;
  • pour soutenir l’encyclopédie en cas de problème, elle a aussi annoncé la création d’un fonds de 100 millions de dollars sur dix ans ;
  • le budget annuel est d’environ 76 millions de dollars, à 95 % financé par les dons privés ;
  • courant janvier, une polémique a eu lieu autour d’Arnnon Geshuri, un membre du conseil d’administration de Wikimedia qui a démissionné, suite à des ennuis judiciaires liés à sa carrière dans les ressources humaines chez Google et après un vote de défiance de la communauté ;
  • courant janvier, une autre information largement relayée par la presse : une adresse IP du ministère français de l’Intérieur a été suspendue par Wikipédia pour « attitude non collaborative (…) passage en force et foutage de gueule. » ;
  • Wikimédia France comporte environ 400 membres et emploie une quinzaine de salariés ;
  • Wikimédia France a milité auprès des parlementaires pour la liberté de panorama dans le cadre de la loi sur le numérique d’Axelle Lemaire ;
  • le projet Wikidata de données sémantiques poursuit sa route et devrait bientôt comporter 16 millions d’éléments réutilisables ;
  • le Québec serait un « parent pauvre de Wikipédia » (et un sujet local de polémique) ;
  • Wikipédia manquerait de femmes (près de 90 % des contributeurs seraient des hommes) ;
  • Wikipédia sert de rubrique nécrologique.
Télécharger ce contenu au format Epub

Lire les commentaires