Blog Zenika

#CodeTheWorld

Cloud

À la découverte de Outscale – Cloud Public SecNumCloud

Le Cloud est aujourd’hui incontournable. En revanche, même si nous connaissons souvent les offres proposées par les acteurs majeurs du secteur que sont Amazon, Azure et Google Cloud, il en existe beaucoup d’autres. Dans cette série d’articles, nous vous proposons un aperçu sans prétention de quelques Cloud Providers moins connus et des services qu’ils proposent.

Après un article sur Alibaba Cloud, puis Scaleway Public Cloud, nous voici partis à la découverte du cloud porté par Outscale de Dassault Systèmes. 

Présentation

Depuis 2010, 3DS Outscale est une offre de cloud computing du type Infrastructure As A Service (IaaS). Elle est présente en Asie, en Europe et aux Etats-Unis.

Si en 2010, Outscale a préféré se retirer du programme public français des offres de cloud souverain – échappant ainsi au tragique destin de Cloudwatt ou encore Numergy – l’entreprise se positionne très en amont de la qualification SecNumCloud. Ainsi dès 2017, elle participe avec d’autres concurrents à la rédaction du référentiel de règles de sécurité érigé par l’ANSSI. 

Cette qualification française permet aux organisations (comme les Organisations d’Importance Vitale aka OIV) de ne pas être soumises à des lois extraterritoriales comme le célèbre Cloud Act ou encore la FISA et complète, sur notre territoire, les lois de protection des données. Elle apporte des compléments techniques et juridiques à la certification ISO/CEI 27001 plus largement répandue chez les fournisseurs de Cloud mondiaux, y compris les hyperscalers.

3DS Outscale obtient le visa de qualification SecNumCloud en 2019 et devient ainsi le 2e acteur de cloud français détenteur de ce sésame mais surtout le premier acteur sur un cloud public. C’est ce positionnement qui fait l’atout principal de cette offre qui n’a, à la date de cet article, aucun équivalent chez la concurrence.

Néanmoins, si plusieurs d’entre nous associent la notion de cloud public à la simplicité de pouvoir s’inscrire sur une plateforme, sachez que, dans le cas d’Outscale, il faudra au préalable passer par une phase commerciale avec l’établissement d’un contrat. Ici, il n’y a pas de formulaire d’enregistrement et de possibilité de saisir un numéro de carte bancaire. C’est d’ailleurs une des caractéristiques fondamentales dans la définition du Cloud Computing par le National Institute of Standards and Technology (NIST) : un libre accès à la demande par les utilisateurs.

Du point de vue stratégie d’accès et d’interaction avec la plateforme, Outscale adopte une approche API-first qui est le socle du développement des interactions graphiques, par CLI ou encore de développements d’extension comme celle pour Terraform.

Enfin avant de commencer cette découverte du Cloud d’Outscale, rappelons que l’ensemble de nos tests ont été réalisés sur une région différente des régions SecNumCloud. Certaines remarques ou constats ne s’appliquent donc pas aux régions SecNumCloud comme nous le préciserons par la suite.

Détails des différents services proposés

L’offre SecNumCloud d’Outscale, comme celles des autres acteurs sur ces services certifiés, propose essentiellement de l’infrastructure-as-a-service (IaaS). On va trouver : de la machine virtuelle à la demande, du réseau privé (VPC), des load balancers et du stockage bloc (disques réseau). 

L’accès à ces ressources se fera par le biais de deux interfaces web (cockpit et cockpit v2) ainsi que par les API fournies par Outscale qui seront ensuite pilotables par une CLI et des modules Terraform. Une partie du client AWS-CLI pourra aussi être utilisée avec des configurations particulières. On est en terrain connu, le vocabulaire est familier pour celles et ceux qui font déjà du cloud ailleurs. 

Cockpit dans sa première version fournit une interface graphique qui récapitule les différentes ressources instanciées, on voit rapidement la notion de quota ce qui est assez logique pour des ressources à la demande. 

La création d’une machine virtuelle peut se faire par le biais d’un formulaire, qui n’est pas forcément très ergonomique, mais qui a le mérite de permettre la découverte des fonctionnalités. Il est clair que l’usage principal de cette fonctionnalité se fera par de l’infrastructure-as-code avec terraform par exemple. 

On trouve la gestion d’images comme c’est courant sur un cloud public, avec une distinction entre les images officielles fournies par Outscale (avec l’icône “Marketplace”) et celles publiées par d’autres utilisateurs de la plateforme. Comme nous le verrons plus loin, Packer de Hashicorp permet de faire des images personnalisées. Nous aurions préféré ici avoir une distinction plus franche entre les images officielles, garantissant une confiance plus élevée dans leur provenance et les processus de validation sous-jacents, et celle des autres utilisateurs.

La version 1 du cockpit revêt un look et une ergonomie un peu vieillissants, mais on peut aller manipuler tous les éléments dans sa version v2 proposée en bêta. 

En v2, l’interface est plus jolie, on sent qu’on doit faire moins de clics pour arriver aux menus et aux informations. Néanmoins certains choix ergonomiques nous laissent perplexes, comme la disposition à plusieurs niveaux d’onglets, la navigation entre “services” uniquement à partir du lien “Open New Dashboard” à droite.

C’est encourageant de voir qu’un effort est en cours sur ces questions d’expérience utilisateur.

Enfin, un petit point de déception à noter sur les interfaces web; les ressources tierces utilisées sont en grande partie sur des services américains, comme le montre Adblock Origin. C’est dommage pour une plateforme qui se positionne sur les questions de souveraineté et de sécurité.

Sécurité

Authentification forte

Lors de l’usage de l’interface web sur cockpit v1, une authentification renforcée est fournie par la solution web inWebo. Habitués des authentifications multi-facteurs avec yubikey, solo keys et applications mobiles nous avons découvert cette solution. Cela durcit en effet l’authentification, mais a pour limite le fait que si un poste est compromis, les deux mots de passe utilisés, même s’ils sont sur deux sites distincts seront compromis. 

Malheureusement, il n’est pas possible de remplacer ce mécanisme par un autre type, tel qu’un MFA. En introduction, nous parlions de différences entre la région de nos tests et celle d’Outscale et c’est sur la partie sécurité que c’est le plus notable car l’utilisation de inWebo n’est pas estampillée avec la norme SecNumCloud, donc absente en sur la région labellisée. 

Sur cockpit v2, le premier constat est que par défaut, le MFA n’est pas activé et dans nos tests un simple login/mot de passe est utilisé.

Cette méthode d’authentification n’est pas valide avec la qualification SecNumCloud et il faudra passer par la configuration d’un MFA décrit dans ce tutoriel pour authentifier les accès via cockpit-v2 ou encore la CLI.

Gestion des comptes utilisateurs

Il est possible de créer des comptes à partir d’un compte principal et de leur déléguer des droits particuliers. Cela nous a permis de tester la plateforme à plusieurs personnes chez Zenika, mais nous n’avons pas poussé les tests sur des cas de figure avec des droits restreints. L’accès à cette fonctionnalité a été freiné par le manque de documentation.

Developer Experience

Outscale développe un outil en ligne de commande pour manipuler les ressources dans son cloud. Cette CLI est développée ouvertement sur github en python. Il s’agit d’os-cli : https://github.com/outscale/osc-cli

L’installation se fait très rapidement sur MacOS grâce au logiciel brew. Sur Linux, il faudra télécharger et exécuter une AppImage ou installer via pip, hélas pas de présence de la CLI sur un dépôt utilisable par le gestionnaire de package. Pour Windows, il faudra passer par pip,  le gestionnaire de package python.

Pour configurer la CLI et notamment donner les paramètres nécessaires à l’authentification, il faut passer par un fichier de configuration JSON. Lors de la découverte de la CLI, nous constatons à nouveau que la documentation peut être améliorée, et parfois le camelCase dans les commandes n’est pas forcément intuitif. 

Au niveau de l’authentification, il sera possible d’utiliser un mécanisme de session de confiance, décrit ici, qui permet d’éviter un échange de certificat à chaque requête à l’API.

AWS CLI

Bonne nouvelle pour les développeurs en provenance de la planète AWS: en plus d’adopter un langage commun avec le cloud provider d’Amazon, un certain nombre de services proposés sont compatibles avec la CLI d’AWS. Ainsi vous pourrez par exemple utiliser le service ec2 et ses paramètres pour gérer des instances FCU proposées par Outscale.

https://docs.outscale.com/fr/userguide/Utiliser-et-configurer-AWS-CLI.html

Object store S3

“La filiale cloud de Dassault Systèmes propose un service de stockage en mode objet. […] Outscale met en avant la souveraineté de sa solution disponible sur l’ensemble de ses régions y compris les deux certifiées SecNumCloud.” 

Source : https://www.lemondeinformatique.fr/actualites/lire-outscale-lance-une-offre-de-stockage-objet-avec-scality-81067.html 

Techniquement, l’offre de stockage objet d’Outscale OOS est construite en association avec  Scality. Cette dernière est déployée sur une infrastructure qualifiée SecNumCloud et est elle-même validée.

Après une configuration de l’incontournable awscli-plugin-endpoint, on peut aisément manipuler s3 comme habituellement sur d’autres cloud providers, à coup de aws s3 ls ou de aws s3api create-bucket –bucket test-zenika etc. 

Nous avons fait un rapide test avec d’autres logiciels utilisant s3 comme duplicati pour les backups ou jupyter-lab-s3-browser et les tests fonctionnent bien. 

Documentation & Support

Une attention particulière a été portée à la documentation pour faciliter l’accès à la plateforme; on trouve sur la page d’accueil de celle-ci un changelog qui permet de suivre les nouveaux contenus. Elle est facilement accessible depuis la console via des liens contextualisés directs ou via l’URL d’accueil : https://docs.outscale.com/fr/userguide/Accueil.html. On regrette cependant l’absence de tutoriels (Exemple: Getting started) ou d’exemple sur certaines parties.

Côté support on peut interagir par https://support.outscale.com/ (on trouve du Zendesk, dommage à nouveau d’avoir un acteur américain pour de l’outillage sur un cloud se positionnant sur la souveraineté). 

Infrastructure-as-code

Côté IaC, Outscale met à disposition un provider Terraform disponible sur le registry.

On peut ainsi créer ou modifier les types de ressources suivantes : VMs, security groups, volumes, réseau, etc. Nous avons validé l’application d’une configuration Terraform exploitant le provider avec succès comme le prouve la capture d’écran ci-dessous: 

Avec ces machines virtuelles créées avec terraform, nous avons déployé un cluster kubernetes de test déployé avec rke2-ansible et rke2

La suite de ce que nous avons mis dans ce cluster sera au prochain épisode … 

Packer 

Faute de temps nous n’avons pas pu tester le plugin Outscale pour packer, qui permet de packager des images (OMI) grâce à Packer de Hashicorp, ce qui montre une certaine maturité en terme de gestion des images chez ce cloud. 

Le plugin en question est publié chez hashicorp : https://developer.hashicorp.com/packer/plugins/builders/outscale/bsu

Politique Open Source

Sur ce volet, commençons d’abord par une mention spéciale à l’implémentation d’un driver dans libcloud : 

https://libcloud.readthedocs.io/en/latest/compute/drivers/outscale_sas.html. Libcloud est un projet Apache qui permet de fournir une abstraction commune sur des ressources de base en Python chez un certain nombre de fournisseurs de cloud.

Outscale est clairement positionné sur la promotion et l’utilisation de briques open source, comme on peut le voir sur la page “Nous aimons l’Open Source” https://fr.outscale.com/open-source/. On y trouve des contributions à des projets propres à outscale, mais aussi ce qui est hypothétiquement utilisé au sein de leur infrastructure comme l’excellent projet qemu pour la virtualisation. 

Certifications

Celle qui démarque le plus ce fournisseur est sa qualification SecNumCloud sur un cloud public. C’est par ce biais là que nous avons décidé de rencontrer Outscale et de tester leur plateforme. Elle est présentée sur cette page de leur site. 

3DS Outscale dispose aussi, comme beaucoup d’autres acteurs du secteur, de la certification HDS, de l’ISO 27001, de l’ISO 27018, de l’ISO 27017

De plus, Outscale travaille désormais sur de futures certifications à destination d’architectes, développeurs ou managers qui permettront de valider les compétences requises pour certains clients vis-à-vis des intégrateurs. En attendant, il y a déjà une offre de formations professionnelles que l’on peut suivre.

Bilan

L’expérience développeur proposée par Outscale est satisfaisante sur leur positionnement API-first, sur les différentes CLI ou encore la compatibilité avec des outils open source qui rendent le code agnostique du fournisseur de cloud tels que libcloud. La partie IaC n’est pas en reste avec un provider Terraform pleinement fonctionnel et la possibilité de créer des images de machines avec Packer.

Les premiers pas et la prise en main de cette plateforme même si accompagnés par une documentation accessible nous semblent à améliorer sur deux volets : les exemples et les tutoriels avancés qui peuvent être également créés par leur communauté ainsi que l’UX de leur console Web. Un complément humain à cette prise en main est fourni par un onboarding technique fait par des contacts privilégiés chez Outscale.

Quelques détails nous semblent encore contradictoires avec le positionnement comme l’adhérence à des solutions tierces (Zendesk) ou des fournisseurs de ressources américains, voire rédhibitoire comme la faible sécurité du système d’authentification pour  l’accès à la console Web.

Enfin, l’offre commerciale unique d’Outscale proposant un cloud public qualifié SecNumCloud en fait une option de premier choix pour un organisme contraint tel qu’une OIV qui souhaite profiter des avantages du cloud ou pour une entreprise qui souhaite bénéficier des protections techniques et juridiques qui en découlent. Nous surveillerons de près les prochains partenariats et intégration de PaaS et SaaS qualifiés SecNumCloud proposés chez ce fournisseur. Il y a d’ores et déjà, sur les régions non SecNumCloud des PaaS tels que Scalingo que certains de nos clients utilisent déjà qui auraient éventuellement pour vocation à être validé comme l’a été l’offre de stockage objet. La dernière version 3.2 du référentiel SecNumCloud de l’ANSSI facilite la qualification des services d’éditeur déployés sur des infrastructures déjà qualifiées. Seul le service est alors audité.

La marketplace d’Outscale est déjà un bon indicateur de solutions potentiellement éligibles à une future qualification.

En attendant, nous vous proposerons dans un prochain article l’installation d’un PaaS orienté Data sur Outscale.

Auteurs/autrices

7 réflexions sur “À la découverte de Outscale – Cloud Public SecNumCloud

  • Bonjour,
    Je me permets une correction sur votre compréhension du fonctionnement de notre solution de MFA inWebo.
    inWebo fournit bien une solution de MFA très sécurisée basée sur 2 facteurs : un facteur de possession et un facteur de connaissance (au format password dans votre exemple).
    La saisie du facteur de connaissance ne peut se faire que sur le facteur de possession.
    Le facteur de possession dans votre exemple est directement le navigateur. Vous ne pouvez pas saisir le facteur de connaissance (password) sur un navigateur non reconnu.
    Nous générons un mot de passe à usage unique (OTP) avec la combinaison de ces deux facteurs.
    Notre technologie unique brevetée nous permet d’améliorer l’expérience utilisateur tout en garantissant une très forte sécurité.
    Je suis à votre disposition si vous voulez échanger sur le sujet et faire un article sur notre technologie unique de MFA française !
    Bonne journée

    Répondre
  • Bonjour, merci pour cet article,
    On teste pas mal cette partie Outscale, coté Infra As A code rien à dire, nous “terraformons” nos machines et les déployons. La partie security group bien implanté aussi. La documentation coté API est bien fourni

    Par contre des gros points à améliorer:
    – IAM et gestion des identités, un des points faibles surtout sur la partie S3 et la gestion des clés/ACL. Pour la partie S3, créé un utilisateur généré ses clefs et ses accès est un parcours du combattant (Ouverture de ticket support, création des buckets en ligne de commande, interface graphique pauvre …). clairement un gros point à améliorer
    – Sauvegarde, bien que disposant de fonctionnalités de snapshot, il faut tout scripter ! Pas d’interface de planificaiton, de gestions des policies, pas post/pre backup, et toujours une interface pauvre.
    – VPN as a service avec des protocoles “forcés” par Outscale pour les étapes 1 & 2 de la connexion ISPEC. Il faut s’adapter aux chiffrements Outscale, et la aussi compliqué à débugger car interface pauvre
    – Verrouillage de l’accès console, impossible de se connecter à nos systèmes d’authentification, et l’option inWebo est sympa, mais il faudrait aussi pouvoir choisir son MFA.

    En résumé, la plateforme est pas mal, surtout qu’en SECNUMCLOUD se sont les seules à faire du “On Demand” et aussi de l’objet.
    Par contre il faut vraiment faire évoluer les points ci dessus pour pouvoir l’utiliser en production de manière sereine de mon point de vue.

    Répondre
    • Guillaume Renaudin

      Bonjour Jérémy 👋

      Merci également à toi d’avoir pris le temps de nous lire et encore mieux de faire tes retours !
      Nous n’avions qu’effleuré la surface avec cet article de découverte, tu y ajoutes de beaux compléments sur des parties OPS, sécurité et couverture fonctionnelle des APIs S3.
      Ces commentaires seront certainement profitables pour Outscale pour améliorer l’adéquation de leur solution à nos besoins et ceux de nos clients ! Alors n’hésitez pas 🙌

      Répondre
    • Bonjour Jérémy,
      Merci pour ton feedback, je suppose d’ailleurs que tu as du également le communiquer avec ton technical manager chez nous.
      Sache que l’ensemble des points que tu soulèves sont pris en compte de notre côté, et nous travaillons activement à la consolidation des services existants tout en les enrichissant. Par exemple de nombreuses nouveautés côté IAM sont en gestation (je n’en dis pas plus pour l’instant 🙂).

      Christophe, Cloud Evangelist chez OUTSCALE.

      Répondre
  • Je me permets de préciser que Scalingo propose 2 régions, elles-mêmes basées sur 2 régions Outscale : 1 région non-SNC et 1 région SNC. Scalingo est donc le premier PaaS à proposer des services on demand sur un socle SecNumCloud 🙂

    Répondre
  • albundy83

    Bonjour, très bel article sur ce fournisseur, une petite question sur rke2, quel CNI avez-vous choisi, calico ou canal ?
    Et allez-vous publier vos retours sur votre installation de rke2 dans un article comme vous le mentionnez ?

    Répondre
  • Bonjour, pour rke2 nous sommes restés sur calico si mes souvenirs sont bons. L’article sur la partie data sur SecNumCloud comme mentionné dans l’article est dans les cartons. À suivre…

    Répondre

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.