Cloud privé Partie 2/4

le 07/01/2010 par Marc Bojoly
Tags: Software Engineering

Dans un premier article j'ai cherché à introduire la notion cloud privé. Pour cela, nous avons commencé par identifier certaines contraintes liées aux offres de cloud : des architectures peu variées par rapport à l'existant, la nécessité de gérer différemment la sécurité et les problématiques juridiques de localisation des données. La non réversibilité de la migration représente également un risque pour les investissements. Face à ces problématiques, de nouvelles offres sont apparues, promettant de reprendre en interne dans l'entreprise ou au moins sous son contrôle étroit des solutions de cloud computing. Nous allons dans ce nouvel article étudier les différentes solutions proposées sur le marché.

Quelles solutions de cloud privé existent ?

Plusieurs offres sont en train d'émerger. Malgré leur regroupement sous le terme "cloud privé", elles sont relativement différentes les unes des autres. Je vais tâcher de classifier ces différentes offres en deux domaines :

  • Une offre de cloud présentant des garanties ou des services supplémentaires par rapport au modèle grand public
  • Une infrastructure interne (machines hébergées par l'entreprise)

Un environnement personnalisé chez un fournisseur de Cloud computing

Je place dans cette catégorie :

Amazon Virtual Private Cloud

Amazon Virtual Private Cloud offre la possibilité d'isoler au niveau réseau un sous ensemble de machines d'instances (EC2, S3, etc.).

Architecture de l'offre Virtual Private Cloud

Une isolation au niveau réseau

Les instances dédiées ne sont pas visibles d'internet ni des autres machines présentes sur le cloud. L'entreprise conserve la main sur l'adressage IP de ces instances et peut créer des sous-réseaux à l'intérieur de ce Virtual Private Cloud au besoin. L'accès à cette zone est sécurisé via un VPN IPSec (technologie couramment utilisée pour la sécurisation d'accès via Internet). L'objectif de cette offre est de faire du Virtual Private Cloud une extension du SI de l'entreprise. Ce type d'offre est une bonne réponse à la problématique de sécurisation des accès des instances déployées sur le nuage.

Un scénario de migration partiel sur le cloud

Ce type d'offre permet plus facilement de ne déployer qu'une partie du SI dans le nuage. Les frontaux web (serveurs web et serveurs d'application) sont d'un point de vue technique facilement portables sur ce genre de plateforme virtualisée et sont à mon sens le meilleur candidat à la migration. Dans cette hypothèse les données restent physiquement stockées dans une base de données au sein de l'entreprise ce qui limite la problématique de sécurisation à leur traitement. Par ailleurs, seuls une partie des développements sont portés sur le cloud ce qui limite les investissements exposés. Cependant, les connexions entre le nuage et les data centers internes restent de type WAN (VPN sur Internet), avec des temps de latence relativement élevés, de possibles pertes de paquets. Il sera nécessaire d'évaluer la faisabilité technique d'une communication frontal web / base de données entre le fournisseur de cloud et les Data Centers internes. Dans le cas contraire il reste la possibilité matérielle de réaliser une liaison dédiée ou avec un SLA entre les datacenters internes et ceux des fournisseurs. Ce type de solution traditionnelle avec les hébergeurs reste à valider concrètement avec les fournisseurs de cloud computing.

L'élasticité ne signifie pas forcément une scalabilité comparable à la boutique Amazon.com

Si l'on souhaite supprimer tout investissement interne, il sera nécessaire de stocker les données dans le cloud. Dans ce cas les offres IaaS comme Amazon permettent de déployer des bases de données - par exemple un serveur MySQL sur une instance EC2 en utilisant des disques EBS, ou directement une instance RDS. La problématique de localisation et de confidentialité des données devra dans ce cas être gérée de façon juridique (contrat avec le fournisseur) ou applicative (cryptage). Par ailleurs ces offres ne sont pas immédiatement équivalentes à toutes les bases de données utilisées en interne. Oracle par exemple ne garantit pas en production sa base de données sur des instances virtualisées. Aujourd'hui, il n'existe pas de retour d'expérience ni même de tests (à l'image du TPC-C ou du TPC-E) qui permettent d'évaluer ces architectures sur des bases de données très volumineuses ou très sollicitées (1 To de données, plusieurs millions de transactions par minute). Ce type de solution est élastique car il est possible de remplacer à la demande une instance par une instance plus puissante (plus de mémoire, plus de processeur). La scalabilité des sites internet Amazon et Google repose sur des mécanismes plus proches du service Amazon SimpleDB ou Google BigTable que sur des moteurs de base de données déployés sur des plateformes IaaS. En contrepartie, positionner les données dans un de ces services est plus complexe et surtout beaucoup moins réversible, que le déploiement d'un moteur de base de données dans une instance de machine virtuelle EC2. Par rapport à une offre de cloud publique une telle offre présente les caractéristiques suivantes :

| | Avantages du cloud computing | | Inconvénients du cloud computing | | | | --- | --- | | --- | | | --- | --- | --- | | | Le paiement à la demande | L'optimisation de certains coûts de gestion | La nécessité de gérer différemment la sécurité | L'absence de localisation pour les données sensibles | Le risque sur les investissements | | L'abstraction sur la localisation | | Pas de changement : la haute disponibilité est prise en charge par le fournisseur à travers ses différents datacenters | | Pas de changement sur les contraintes juridiques : certaines données (bancaires, personnelles) ne peuvent pas quitter le territoire national | | | Le paiement à la demande | Inchangé | | | | | | Le self-service (accès via internet) | | Pas de changement : le processus de provisionning des machines est simplifié | Meilleure protection par une isolation réseau | | | | L'utilisation de ressources partagées et d'architectures "multi-tenant" | | Dégradée : l'administration réseau revient en interne | Meilleure protection par une isolation réseau | | | | L'élasticité qui est la capacité à pouvoir ajouter à la demande des ressources dans le système et la scalabilité qui est la capacité à consommer autant de ressources pour la première requête et la 101ème | Limité : L'offre EC2 couverte par VPC est élastique mais moins scalable que d'autres offres (SimpleDB) | | | | Amélioré : L'offre EC2 couverte par VPC se limite à des architectures classiques |

Pour une entreprise, le meilleur compromis me semble être de déployer sur ce Virtual Private Cloud une partie des applications front-office pour lesquelles la confidentialité des données est gérable à court terme. Les transactions sur des données stratégiques resteraient stockées voire traitées en interne. Un tel dispositif est élastique pour une partie des ressources sans pour atteindre la scalabilité d'un site comme Google. Cette démarche aura un intérêt si les ressources positionnées dans le nuage sont soumis à des variations de charge importantes tandis que les ressources en interne restent protégées de ces variations. Prenons un exemple : les prospects pourraient consulter un catalogue, un simulateur, constituer un panier hébergé dans le nuage avant d'être redirigés sur un serveur interne pour fournir leurs coordonnées personnelles, réaliser une transaction d'achat ou accéder à leurs données personnelles. La charge des serveurs internes reste dans ce cas proportionnelle au chiffre d'affaires de l'entreprise.

GoGrid

GoGrid est, tout comme ColoServe, une filiale de la société californienne d'hébergement ServePath. GoGrid offre un service de cloud et ColoServe un service d'hébergement traditionnel. La coexistence de ces deux types d'offres chez le même fournisseur constitue une solution de cloud privé intéressante.

Cloud Hybrid avec GoGrid

GoGrid offre un service appelé cloud hosting basé sur le déploiement d'instances virtuelles de serveur. Il s'agit donc d'une offre IaaS comparable à celle d'Amazon EC2 (exécution de machine virtuelle et stockage). Pour comparer ces deux offres, Amazon comme GoGrid offrent tous deux une solution de cache distribuées dans le monde entier (CloudFront versus Content Delivery Network) pour router les requêtes vers le cache avec la plus faible latence réseau). L'offre de GoGrid ne propose pas de multiples datacenters comme les zones de disponibilité d'Amazon ce qui nécessite de gérer ce risque séparément. Les serveurs de GoGrid sont physiquement hébergés dans le datacenter de la société ServePath, au même titre que les ressources de la société ColoServe. ColoServe propose de louer des emplacements de salle machine dans lesquelles une société peut déployer ces propres serveurs. Les machines ainsi hébergées ont accès au même réseau local 100 Mbps ou 1 Gbps que les instances virtuelles de GoGrid. L'intérêt d'une telle solution est que d'une part on connaît la localisation physique des machines et d'autre part il est possible de faire cohabiter sur un même réseau local, des ressources payables à l'utilisation et des ressources internes (des ordinateurs propres à l'entreprise simplement hébergés dans le datacenter du fournisseur).

En reprenant le raisonnement fait pour Amazon, un compromis intéressant dans ce cas pourrait consister à héberger les serveurs que l'on ne souhaite pas migrer (legacy, bases de données) et à déployer sur l'offre cloud GoGrid des applications (web) adaptées à ce type de plateforme. Cette solution ne diminue pas les problèmes juridiques de localisation des données pour les entreprises françaises car les serveurs sont situés aux Etats-Unis. Il sera donc intéressant de surveiller l'émergence possible d'offres comparables en France ou en Europe.

Par rapport à une offre de cloud publique une telle offre présente les caractéristiques suivantes :

| | Avantages du cloud computing | | Inconvénients du cloud computing | | | | --- | --- | | --- | | | --- | --- | --- | | | Le paiement à la demande | L'optimisation de certains coûts de gestion | La nécessité de gérer différemment la sécurité | L'absence de localisation pour les données sensibles | Le risque sur les investissements | | L'abstraction sur la localisation | | Dégradé : les instances dédiées doivent être entièrement gérées | | Amélioré : La localisation est parfaitement connue | | | Le paiement à la demande | Dégradé : non applicable pour les instances dédiées | | | | | | Le self-service (accès via internet) | | Dégradé uniquement pour la partie cloud | Amélioré : contrôle total sur les ressources dédiées | | | | L'utilisation de ressources partagées et d'architectures "multi-tenant" | | Dégradé : les instances dédiées doivent être entièrement gérées | Amélioré : pas d'architecture multi-tenant pour les instances dédiées - gestion classique de la sécurité | | | | L'élasticité qui est la capacité à pouvoir ajouter à la demande des ressources dans le système et la scalabilité qui est la capacité à consommer autant de ressources pour la première requête et la 101ème | Dégradé : non applicable pour les instances dédiées | | | | Amélioré : pas de risque sur les instances dédiées |

Notons pour conclure qu'il existe des offres similaires chez d'autres société comme ILand également aux Etats-Unis. Je n'ai pour l'instant pas connaissance d'offre similaire en Europe.

Conclusion

Le cloud computing constitue une innovation dans le monde de l'informatique. Afin de tirer partie du paiement à la demande il sera nécessaire de remettre certains choix : maîtrise de l'infrastructure, de certains middleware, de la localisation des informations. Ces changements amènent bien entendu leur lot d'inconvénients : de verrouillage à un partenaire, de sécurité, de confidentialité et de protection des investissements passés (changement de technologies) et futurs (pérennité du partenaire). Pour répondre au besoin de mitiger ces risques : des ressources informatiques activables à la demande dont on garderait une certaine maîtrise sont apparues. Elles sont regroupées sous le terme de cloud privé. Dans ce premier article, nous avons vu que deux acteurs Amazon et GoGrid offrent des solutions qui répondent partiellement au besoin. En effet, les ressources restent localisées chez le partenaire, et les bénéfices du cloud en sont limités (perte d'élasticité lorsque les machines sont dédiées, investissement plus important dans des compétences chargées de l'administration bas niveau comme les réseaux d'Amazon VPC). Conserver la maîtrise limite donc la capacité à payer à la demande. Dans un prochain article, nous aborderons un autre type d'offre dédié au besoin du cloud privé.