Réversibilité
3DS OUTSCALE ne manipule pas les données de ses clients mais fournit un socle technique capable d’héberger des applicatifs, gérés par l’utilisateur, qui traitent des données. Cependant, au-delà de cette définition classique, la réversibilité concerne aujourd’hui les infrastructures.
Combinaison avec l’IaaS
L’arrivée du Cloud computing s’est faite avec l’exploitation, entre autres, des interfaces de programmation applicatives (API), qui peuvent être définies comme une fonction métier, exposée sur Internet pour commander et orchestrer un ensemble de ressources dans le but de fournir un service informatique. Cette orchestration peut être programmatique, reproductible et standard. C’est pourquoi 3DS OUTSCALE exploite un socle technique générique limitant l’adhérence à un fournisseur, ce qui facilite grandement les migrations entre prestataires. 3DS OUTSCALE fournit également des fonctions d’API qui permettent d’exporter les disques virtuels sur lesquels les données sont stockées. Ces fonctions sont disponibles dans l’Infrastructure as a Service (IaaS) nommé Flexible Compute Unit (FCU).
La migration vers le Cloud est le moment idéal pour envisager une vision plus standardisée et automatisée de la livraison de ressources telles que les machines virtuelles ou le stockage. C’est ainsi que l’ensemble de l’industrie se repose sur des concepts qui font office de l’état de l’art. Penser sa migration dans l’IaaS est, par essence, penser sa réversibilité. Les outils et fonctions le permettant sont intégrés aux API des fournisseurs.
Conforme aux standards du métier
3DS OUTSCALE propose une méthode de commande et d’orchestration de son infrastructure via une API qui répond aux standards du marché, considérés comme l’état de l’art actuel des API IaaS : exploitables à travers de nombreux outils, libres, et disponibles sur différentes plateformes de collaboration telles que https://www.github.com.
Les recettes de déploiement d’infrastructure produites avec les outils suivants peuvent être utilisées chez différents fournisseurs d’infrastructure compatibles avec les API de type AWS-EC2.
Liste non exhaustive des outils majeurs compatibles avec l’API de 3DS OUTSCALE
Nom | Site web |
---|---|
Apache Libcloud |
|
AWS CLI |
|
AWS JS |
|
AWS Java |
|
Boto |
|
Eucalyptus |
|
s3cmd |
|
Terraform |
|
Packer |
Champs d’application de la réversibilité
Exploitation de l’API
3DS OUTSCALE expose son API publique, elle permet de manipuler des concepts élémentaires de l’informatique (voir la liste ci-dessous) afin que l’utilisateur puisse les assembler à sa convenance pour concevoir son architecture cible. 3DS OUTSCALE est responsable de la livraison des éléments commandés par API mais n’est pas l’opérateur de cet API.
-
Adresses IPv4
-
Porte d’accès pour réseau VPN, Internet et NAT
-
Option de configuration DHCP
-
Images machines
-
Clés SSH pour accéder aux machines virtuelles
-
Multiples interfaces réseau pour machines virtuelles
-
Interconnexion de réseaux privés virtuels
-
Table de routage au sein du réseau privé virtuel
-
Contrôle des flux d’accès réseau (groupe de sécurité)
-
Photo instantanée du stockage
-
Manipulation de réseaux privés virtuels (Net & Subnets)
-
Nommage dynamique des ressources virtuelles
-
Balance de charge
Exploitation des ressources associées
Puissance de calcul
3DS OUTSCALE se repose sur la technologie QEMU-KVM pour fournir la virtualisation des systèmes d’exploitation à ses utilisateurs. QEMU-KVM est une technologie libre (https://www.qemu.org/) et simple d’accès : aucun élément technologique n’étant privé, il est de fait pleinement possible de recréer une infrastructure virtuelle hébergée chez 3DS OUTSCALE sur des machines traditionnelles. Aussi, QEMU-KVM est exploité par la majeure partie des fournisseurs d’IaaS. De plus, des outils de conversion des images machines produites avec QEMU-KVM permettent de migrer vers des infrastructures virtualisées du type XEN ou VMWare. Voir A.3 QEMU compared to other emulators ainsi que la partie 2.7.4 qemu-img Invocation.
Ressource | Réversibilité | Description |
---|---|---|
Authentification |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les informations d’authentification dans la documentation API OUTSCALE : Authentication Schemes. |
Access key |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadAccessKeys. |
Politique d’accès API |
Oui (partielle) |
Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadApiAccessPolicy. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Règle d’accès API |
Oui (partielle) |
Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadApiAccessRules. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Compte |
Oui (partielle) |
Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadAccounts. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Flexible GPU |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadFlexibleGpus. |
Image |
Oui |
Une image peut être exportée au format QCOW2 ou RAW vers le service OOS. Elle peut ensuite être téléchargée. Pour en savoir plus, voir Exporter une OMI vers un bucket et Télécharger un objet depuis un bucket. |
VM |
Oui (partielle) |
Les metadata et user data de cette ressource peuvent être consultées depuis la VM elle-même. Pour en savoir plus, voir Accéder aux metadata et user data d’une VM. Vous pouvez consulter les attributs de cette ressource via :
Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Product type |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadProductTypes. |
Quota |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadQuotas. |
Région |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadRegions. |
Sous-région |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadSubregions. |
Tâche |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via les méthodes API OUTSCALE ReadSnapshotExportTasks et ReadImageExportTasks. |
Stockage bloc
Le stockage bloc accompagnant les machines virtuelles se comporte comme un disque dur classique (à plateau ou SSD). N’importe quel système de fichier standard (ext4, xfs, FAT32, NTFS) est compatible avec l’IaaS de 3DS OUTSCALE et permet d’exploiter la donnée stockée sur disques.
Ressource | Réversibilité | Description |
---|---|---|
Snapshot |
Oui |
Les attributs d’un snapshot peuvent être consultés via la méthode API ReadSnapshots. Un snapshot peut être exporté au format QCOW2 ou RAW vers le service OOS. |
Volume |
Oui |
Les attributs d’un volume peuvent être consultés via la méthode API ReadVolumes. Un volume peut être exporté en réalisant un snapshot de celui-ci et en l’exportant au format QCOW2 ou RAW vers le service OOS. |
Réseau
3DS OUTSCALE propose deux modes d’exploitation du réseau dans l’IaaS : Le premier, dit public, et le second, dit Virtual Private Cloud (VPC). Les composants réseaux fournis par 3DS OUTSCALE sont configurables par API et respectent le standard RFC 1918 (https://tools.ietf.org/html/rfc1918), ouvert et largement adopté. Le plan d’adressage est reproductible chez de nombreux fournisseurs ainsi que localement.
Ressource | Réversibilité | Description |
---|---|---|
Client gateway |
Oui |
Vous pouvez consulter la configuration de cette ressource via la méthode API OUTSCALE ReadClientGateways. |
Connexion VPN |
Oui (partielle) |
Vous pouvez consulter la configuration de cette ressource via la méthode API OUTSCALE ReadVpnConnections. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Internet service |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadInternetServices. |
IP publique |
Oui (partielle) |
Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadPublicIps. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Keypair |
Oui (partielle) |
Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadKeypairs. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Nat Service |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadNatServices. |
Net |
Oui (partielle) |
La topologie du réseau peut être consultée via la méthode API OUTSCALE ReadNets. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Net access point |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadNetAccessPoints. |
Net peering |
Oui (partielle) |
La liste des Net peerings établis entre des Nets ainsi que leurs statuts peut être consultée via la méthode API OUTSCALE ReadNetPeerings. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
NIC |
Oui (partielle) |
Vous pouvez consulter la configuration de cette ressource via la méthode API OUTSCALE ReadNics. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Options DHCP |
Oui |
Les options DHCP associées à un Net peuvent être consultées via la méthode API OUTSCALE ReadDhcpOptions. |
Règles d’un security group |
Oui |
Les informations et règles de filtrage d’une règle d’un security group sont disponibles via les attributs d’un security group. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadSecurityGroups. |
Security group |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadSecurityGroups. |
Stockage objet
3DS OUTSCALE exploite la technologie RING de Scality pour son service de stockage objet nommé OUTSCALE Object Storage (OOS), compatible avec le standard S3.
Ce service stocke des fichiers sans les modifier, tout en les mettant à disposition via le protocole HTTPS. Pour récupérer un fichier stocké sur le service OOS, il suffit de le télécharger avec un navigateur Internet ou avec un outil permettant d’accéder à des liens HTTPS (wget, curl…).
Balance de charge
3DS OUTSCALE propose un service de balance de charge nommé Load Balancer Unit (LBU) qui permet d’appliquer une répartition en round-robin des requêtes HTTP, HTTPS, TCP, SSL reçues. Ce service est basé sur le logiciel libre HaProxy : seule la configuration non-public de cet outil peut freiner la réversibilité et la reproductibilité du comportement exact de la balance de charge.
DirectLink
3DS OUTSCALE propose un service de connexion DirectLink entre votre réseau et l’infrastructure OUTSCALE pour accéder à vos ressources dans un Net sans passer par un fournisseur d’accès à Internet.
Ressource | Réversibilité | Description |
---|---|---|
DirectLink |
Oui (partielle) |
Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadDirectLinks. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
DirectLink interface |
Oui (partielle) |
Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE ReadDirectLinkInterfaces. Il est cependant possible que cette ressource ne puisse pas être intégrée ailleurs en l’état. |
Site DirectLink |
Non |
Cette ressource est détenue et gérée par OUTSCALE. Vous pouvez consulter les attributs de cette ressource via la méthode API OUTSCALE Locations. |
Déploiement agnostique
Automatisation, abstraction et modularité du déploiement d’infrastructure
3DS OUTSCALE expose ses API publiquement : elles permettent de commander un ensemble de ressources disponibles quasi instantanément.
La commande de ressources peut s’effectuer grâce aux outils listés plus haut dans ce document : il s’agit de l’Infrastructure As Code. C’est avec à cette approche que l’utilisateur crée une procédure codifiée, automatisée et évolutive. Les outils listés permettent, comme Terraform, d’écrire une recette de déploiement compatible avec plusieurs fournisseurs d’infrastructure. De fait, l’adhérence de l’utilisateur à un fournisseur est réduite à son maximum et le coût de redéploiement est plus faible que dans le cas d’une gestion d’infrastructure manuelle.
Les concepts piliers du IaaS sont basés sur la virtualisation qui est une couche d’abstraction réduisant l’adhérence à la pile technologique exploitée. 3DS OUTSCALE fournit des systèmes d’exploitation vanilla disponibles librement, appelés OUTSCALE Machine Images (OMI), et compatibles avec AWS et OpenStack, un orchestrateur d’IaaS ouvert. L’administration et les éléments contenus dans une machine virtuelle basée sur la distribution Linux GNU/Debian (disponible ici : https://cloud.debian.org/images/openstack/current-10/) est identique chez plusieurs fournisseurs et même exploitable "localement".
Migration des données
3DS OUTSCALE ne traite ni les données ni les applicatifs de ses clients. Cependant, en tant qu’hébergeur, il stocke les disques durs virtuels appelés Block Storage Unit (BSU), qui sont attachés aux machines virtuelles.
Une fonction d’API (ROOT::fcu.adoc#createsnapshotexporttask) nommée CreateSnapshotExportTask permet à l’utilisateur d’obtenir une copie parfaite de son disque dans le format ouvert qcow2 ou dans un format brut (RAW). Cette copie est ensuite récupérable par l’utilisateur avec un navigateur, qui peut en faire une exploitation locale avec le logiciel libre QEMU, ou en effectuant une copie chez un hébergeur traditionnel ou un service IaaS.
Page connexe
AWS™ et Amazon Web Services™ sont des marques de commerce d'Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.