18 novembre 2010

Government Cloud – Quelles sont les contraintes?

Le 19 novembre 2010 à 16 heures (CET), je vais présenter mes premiers résultats de recherche sur le g-Cloud (Government Cloud Computing) lors du congrès UP 2010™.

Ce congrès, de renommée mondiale, présente les dernières tendances et innovations en matière de Cloud Computing. Il s’agit du premier évènement totalement hybride : les conférenciers et les participants interagiront simultanément aux conférences et débats, soit depuis les deux centres de conférences situés aux États-Unis (San Francisco et Islandia NY), soit en ligne.

Durant mon intervention au congrès UP 2010™, je vais présenter des solutions qui permettent d’éviter les trois principaux freins actuels à l'adoption du Cloud Computing et ce plus particulièrement pour les gouvernements. Je développerai aussi les résultats de ma recherche préliminaire en matière d’aspects juridiques, de sécurité et de standardisation des concepts de base du Cloud Computing.

11 septembre 2010

Courbe de hype 2010 pour les technologies émergentes

Il y a un plus d’un mois le Gartner a publié sa courbe de hype 2010 pour les technologies émergentes [1]. Comme chaque année le Gartner liste toutes les technologies émergentes et il essaie de définir quand ces dernières atteindront leur maturité. Suite à cette présentation, je me suis penché sur les points liés aux deux thématiques principales de ce blog : le "Cloud Computing" et le "Web 2.0".

Courbe de hype 2009 pour les technologies émergentes
Courbe de hype 2009 pour les technologies émergentes (source Gartner)


Courbe de hype 2010 pour les technologies émergentes
Courbe de hype 2010 pour les technologies émergentes (source Gartner)


En comparant les deux courbes de hype (2009, 2010) ci-dessus, nous pouvons constater que le "Cloud Computing" a peu bougé en 12 mois, mais il commence à amorcer sa descente vers le "fossé des désillusions". Personnellement, je n’ai pas eu besoin du Gartner pour me rendre compte de cette amorce de descente. En réalisant mes premiers tests début 2010 (http://maslintchoonthecloud.blogspot.com/2010/01/premiere-conclusion.html), sur différentes plates-formes (par exemple : Microsoft Azure ou Appistry), j’ai vite constaté que l’élasticité promise par le "Cloud Computing" n’est pas encore une réalité. J’ai aussi souffert de l’effet du "n’importe où dans le monde" et de la latence réseau qui en découle, en utilisant les services de Google App Engine par exemple.
Ce qui a attiré mon attention dans la présentation du Gartner [1], c’est principalement l’introduction de la notion de "Cloud Privé" sur cette courbe de hype 2010. Selon Jackie Fenn, le concept de "Cloud Privé" s’est fortement développé ces 12 derniers mois. Par exemple, pour des raisons légales et de protection des données, les gouvernements ne peuvent pas héberger leurs applications et leurs données sur des "Clouds" physiquement basés à l’étranger. Cette même contrainte peut s’appliquer à toute entreprise comme l’écrit Forrester [2]. Ce problème de domiciliation des serveurs posait déjà problème pour l’hébergement de sites web. Il devient encore plus important quand une entreprise externalise toute son informatique, sans se soucier dans quel pays se trouve ses données. Une solution pour éviter ce problème de domiciliation serveur, tout en bénéficiant des avancées technologiques liées au "Cloud", est de monter son propre "Cloud". En vivant et travaillant en Suisse, où aucun gros acteurs du marché du "Cloud" n’a encore commercialisé une solution de "Cloud Computing", cette thématique me semble importante. Je vais donc chercher, ces prochains mois, plus d’information dans ce domaine.

La seconde thématique que j’étudie sur ce blog est le "Web 2.0". Ce concept a été sorti de la courbe de hype du Gartner en 2010. Pour moi, ce n’est pas parce que le "Web 2.0" est mort, mais parce que ce concept est maintenant répandu partout et utilisé par tous ! La preuve en est que de plus en plus de membres de ma famille utilisent des applications type "Web 2.0" sans même savoir ce qu’est le "Web 2.0".


[1] Jackie Fenn, Gartner, Emerging Technology Hype Cycle 2010: What's Hot and What's Not, http://my.gartner.com/portal/server.pt?open=512&objID=202&mode=2&PageID=5553&resId=1395613, publié le 04/08/2010, consulté le 09/09/2010
[2] James Staten et Onica King, Forrester, Infrastructure-As-A-Service (IaaS) Clouds Are Local And So Are Their Implications, publié le 09/02/2010, consulté le 07/09/2010

25 juin 2010

Mise en place d’un site type Web 2.0 sur un Cloud





Jeudi 24 juin 2010, j’ai soutenu avec succès mon mémoire d’ingénieur CNAM à Lyon. Dans ce travail, je développe certains des articles de ce blog et je valide mes propos par une mise en pratique.
Ce projet est composé de quatre chapitres :
  1. Définition du "Cloud Computing"
  2. Présentation des solutions du marché
  3. Mise en pratique du concept de "Cloud Computing"
  4. Réalisation technique (développement d’une application Web 2.0 de folksonomie)


Ce mémoire m’a permis de découvrir un domaine prometteur du monde informatique, de le comprendre, de l’analyser et ainsi de pouvoir dire modestement que je suis devenu une personne de référence, un spécialiste de cette technologie de "rupture" qu’est le "Cloud Computing". Dans un avenir proche, de nombreux projets bénéficieront des opportunités nouvelles offertes par cette technologie.

Pour ceux qui ne veulent pas tout lire, voici le résumé :
Le "Cloud Computing" devrait d’ici deux à cinq ans devenir une des briques de base des plates-formes informatiques de prochaine génération. Le Laboratoire des Technologies de l’Information (LTI) de la Haute École de Gestion (HEG) de Genève, dont les missions sont de faire de la recherche et de valoriser cette dernière au travers de mandats, a voulu comprendre le concept de "Cloud Computing".
La première partie de ce mémoire est consacrée à la définition du "Cloud Computing" et présente les cinq concepts fondamentaux de cette nouvelle technologie. Le deuxième chapitre présente les différents types d’applications "Cloud" en les classant en trois catégories ("infrastructure", "platform" et "software"). Les troisième et quatrième parties sont consacrées à la mise en pratique du concept. Le troisième chapitre est consacré à la définition des besoins, des objectifs à atteindre tout en respectant certaines contraintes. Dans cette troisième partie est choisie la plate-forme de "Cloud Computing" pour héberger un projet de "folksonomie". Ce dernier, qui s’appuie sur les concepts du Web 2.0, consiste à demander à l’internaute de classifier les pages d’un site Web en utilisant ses propres mots-clés. Ce projet facilite la recherche d’information pour les autres internautes. Il leurs permet aussi de donner plus d’importance à certains mots-clés en les évaluant. La mise en œuvre de ce projet est décrite dans le quatrième chapitre.
Cette application Web 2.0 permet de constater les avantages, les inconvénients et les contraintes liées au développement sur un "Cloud" et de vérifier certains des concepts fondamentaux.

Mots-clés : Cloud Computing, pyramide du Cloud, folksonomie, définition, concept, implémentation

17 juin 2010

Office Live, Google docs ou garder sa solution de bureautique?

Depuis plusieurs jours, je teste office.live.com. J'attendais ce produit depuis son annonce mi-juillet 2009. J’espérais beaucoup de la solution de Microsoft. Depuis je ne suis toujours pas convaincu que les solutions de suites de bureautique en ligne comme Office Live, Google Docs ou Zoho pour ne citer qu’elles, soient utilisables dans un milieu professionnel. Malgré tout, je trouve ces solutions très utiles pour écrire une petite note, pour corriger un document ou même pour collaborer à la rédaction d'un document ou discuter sur des chiffres dans un tableur. Dans toutes ces solutions, le module que je trouve le plus abouti, est celui qui permet de faire des présentations type "PowerPoint". J’utilise ce module de temps à autre pour présenter un des aspects du "Cloud Computing" le SaaS (Software as a Service).

Lors d'Inforum 2010 (www.opi.ch), Roman Bourquin, CEO d'Easygiga SA, comparait Google Apps à Microsoft Office et justifiait le manque de fonctionnalités offertes dans Google Apps par la jeunesse du produit. En conclusion, il nous demandait de recomparer les solutions d'ici 5 ans. J'ose espérer que office.live.com va accélérer le processus de développement de ce type de solutions et que bientôt nous pourrons réellement utiliser ces solutions de type SaaS.

Si je devais choisir une solution de bureautique en ligne aujourd'hui, je prendrai la solution de Google car elle offre plus de fonctionnalités que la solution de Microsoft. Par compte, je trouve les fonctionnalités de rendu de document Office sur la plate-forme de la firme de Redmond plus abouties. Je n'ai pas pu créer un graphique dans Excel Web App, ce qui est très facile à faire chez Google. Par compte j'ai pu facilement changer les valeurs d'une feuille Excel en ligne et ainsi faire changer la courbe du graphique. Pour rester dans la course, pour moi, Google devra développer ou débuguer son mode offline.

14 avril 2010

Le Cloud privé la solution à nos attentes ?

En préparant ma présentation du 15 avril 2010 à la HEG de Genève, j’ai lu un article, sur le Monde Informatique, intitulé "Le cloud privé : priorité des DSI selon une étude PAC" [1]. Dans cet article, Serge Lebal nous informe, que selon les responsables informatiques interviewés dans l’étude du cabinet PAC, les deux inconvénients majeurs du "Cloud Computing" sont la sécurité (50%) et la dépendance réseau (35%). En conclusion de cet article il est dit que la priorité des DSI (71%) en matière de "Cloud Computing" est portée sur des solutions d’infrastructure privée.

Cette conclusion m’a rappelé la présentation du 4 mars 2010 [2], à l’Université de Washington, de Steve Ballmer, PDG de Microsoft. Lors des questions – réponses, un auditeur a posé la question suivante "…nous ne devrions pas nous soucier où les informations sont, …, mais il semble que les lois et les règlements se soucient vraiment où les informations sont.". Ce point concernant la domiciliation des serveurs, me semble même plus primordiale que la sécurité, la dépendance au réseau ou la notion de public et privé. Pour moi, nous devons pouvoir choisir où (dans quelle région du monde ou dans quel pays) nos données sont hébergées. De plus comme le précise Steve Ballmer durant son intervention à l’Université de Washington, les pays ne vont pas prochainement réussir à harmoniser leurs lois en matière de protections et confidentialité des données. Les prestataires de service "Cloud", quant à eux, pour respecter les différentes législations, ne peuvent pas monter un data center dans chaque pays. Toutefois, certains acteurs du "Cloud" ont quand même pensé à ce point ! Microsoft et Amazon vendent déjà ce service de choix de régions (US – Europe – Asie), sur leur service de "Cloud public".

Pour répondre à la question ci-dessus, Steve Ballmer propose donc une version "public" du "Cloud Computing" (Microsoft Azure pour lui), mais aussi une version "privée" (installée au sein d’une entreprise). Ces deux versions de "Cloud" doivent être basées sur les mêmes concepts technologiques et ainsi permettre une interopérabilité on peut parler de "Cloud hybrid".


Pour conclure, je pense qu’effectivement le "Cloud privé" est la solution actuelle. Ça nous permet de garantir un bon niveau de sécurité des données, ça diminue la dépendance au réseau, mais surtout ça nous permet de respecter notre législation locale en matière de protection et confidentialité des données. Nous n’habitons pas tous aux US ou dans l’UE et malheureusement, je ne connais pas encore de sociétés qui commercialisent des solutions de type IaaS ou PaaS en Suisse ! Combien de temps faudra-t-il attendre pour avoir des concurrents à VMware vSphere 4 ? Et donc une réelle offre pour monter son propre "Cloud" !!

[1] Le Monde Informatique, Serge Leblal, Le cloud privé : priorité des DSI selon une étude PAC, http://www.lemondeinformatique.fr/actualites/lire-le-cloud-prive-priorite-des-dsi-selon-une-etude-pac-30385.html, consulté le 13/04/2010
[2] Microsoft, Steve Ballmer, The Cloud : Exciting New Possibilities, http://www.microsoft.com/showcase/en/US/details/120eb97f-e7f8-4485-91dc-f6ada8e759e3, consulté le 10 mars 2010

17 mars 2010

Choisir une solution de "Cloud Computing"

Aujourd’hui, je viens de faire une présentation du concept de "Cloud Computing" au eb-Qual Technology Day à Genève. Durant cette présentation, j’ai résumé ce que j’écris sur ce blog depuis plusieurs mois et j’ai fini mon exposé avec la présentation de mes dernières recherches. Depuis fin janvier 2010, j’ai travaillé sur la définition de critères de choix et sur une analyse budgétaire de plusieurs solutions.

Pour choisir une solution de "Cloud Computing", j’ai défini quatre grandes catégories de critères : qualité de service (QS), sécurité (SEC), technique (TEC) et domiciliation (DOM) de la solution regroupant 13 critères.

  1. "Cloud privé" (SEC) signifie que les applications et les données sont hébergées soit au sein de l’entreprise, soit dans une structure dédiée et sécurisée chez un prestataire de service. En cas d’hébergement externe les données sont accédées au travers d’un VPN.
  2. "Cloud public" (SEC) signifie que les applications et les données sont entièrement hébergées sur des infrastructures mutualisées.
  3. "Communauté / documentation / support" (TEC) englobent toutes solutions d’aide mises à disposition des utilisateurs de solution de "Cloud Computing" pour développer, déployer et exploiter leur solution.
  4. "Data centre en Europe" (DOM) signifie que les applications et les données sont hébergées dans un des pays membre de l’Union Européenne ou de l’Association européenne de libre-échange (AELE).
  5. "Data centre en Suisse" (DOM) signifie que les applications et les données sont hébergées qu’en Suisse.
  6. "Data centre n'importe où" (DOM) signifie que les applications et les données sont hébergées n’importe où dans le monde.
  7. "Elasticité" (QS) signifie que la solution de "Cloud Computing" est capable de grandir et de rétrécir entièrement automatiquement.
  8. "Facilité de déploiement" (TEC) signifie que l’utilisateur de la solution de "Cloud Computing" peut déployer son application de manière simple soit à l’aide d’un programme type FTP, soit au travers d’une interface web.
  9. "Langages de programmation" (TEC) signifie que les langages autorisés pour le développement sont des langages de programmation couramment utilisés sur le marché comme : Java, .Net, Python ou Ruby.
  10. "Scalabilté" (QS) signifie que la solution est capable d’absorber la montée en charge.
  11. "Sécurité des données" (SEC) signifie que la solution garantit que les données ne peuvent être accédées par des tiers non autorisés. Cela signifie aussi que les données sont régulièrement backupées et qu’elles peuvent facilement être récupérées lors de migration.
  12. "SLA" (QS) signifie que la solution offre un certain niveau de service garanti.
  13. "Standards ouverts" (TEC) signifie que la solution peut facilement être transférée d’une solution à une autre.


L’importance de chacun de ces critères peut varier d’un projet à l’autre et il est nécessaire de les pondérer à chaque projet.

Mon second axe de travail était le budget, j’ai essayé d’estimer le coût de l’hébergement d’une solution soit chez Amazon, Google ou Microsoft où sur un "Cloud Privé" avec VMware. Ma conclusion, pour cette étude est qu’il est très difficile d’estimer ce coût, car tout (processeur, disque de stockage, trafic réseau, les accès à la base de données, l’envoie d’email, …) est facturé ! Il faut aussi choisir le lieu de domiciliation (Europe, États-Unis, Asie, …) de son projet. Ce choix peut entrainer des surcoûts, mais il est quasiment obligatoire pour garantir la qualité du service. Finalement, j’ai constaté que monter son propre "Cloud" avec une solution VMware peut rester bon marché pour autant qu’on aie déjà un grand nombre de serveurs à gérer, car le coût des ressources humaines est alors divisé entre tous les projets.
A titre d’exemple l’hébergement d’un site d’information sur 2 serveurs chez Amazon, Google ou Microsoft coute environ 16'000.- CHF par an et une solution VMware (2 virtual machines, avec 1 core de processeur chacune) sans le coût des ressources humaines coutera moins de 8'000.- CHF par an. Cette dernière solution a ses avantages (par exemple : l’entreprise garde la main sur ses données) et ses inconvénients (par exemple : nécessite beaucoup de ressources techniques pour assurer les pics de charge).

En conclusion, je peux dire qu’il n’y a encore aucune solution qui se détache et que les acteurs du marché ne font rien pour nous faciliter la tâche. Choisir sa solution de "Cloud Computing", c’est un peu comme choisir son abonnement de téléphone portable!!

23 février 2010

Folksonomie

Après plusieurs semaines de réflexion, j’ai enfin trouvé un projet me permettant de faire une mise en pratique des concepts que j’étudie depuis plusieurs années et plus particulièrement les sujets que j’approfondis pour mon mémoire d’ingénieur au CNAM. Mon objectif étant de développer un projet qui allie le "Cloud Computing" et le Web 2.0.
Trouver quelque chose de novateur et que je pourrai ensuite industrialiser n’a pas été facile, mais je pense que le projet que je décris ci-dessous répond à mes objectifs.

Afin d’améliorer et faciliter la recherche d’information dans les sites, je veux développer un projet mettant en œuvre le concept d’étiquetage collaboratif ou "folksonomie".
La "folksonomie" est un néologisme désignant un système de classification collaborative décentralisée spontanée, basé sur une indexation effectuée par des non-spécialistes [1].
Dans le cadre de ce projet, je vais développer un premier prototype permettant aux internautes de qualifier, à l’aide de mots-clés qui leur sont propres, les informations publiées sur les pages des sites Web utilisant mon widget. Cette fonctionnalité améliorera le classement des pages Web et facilitera la recherche d’information.

Ce projet de "folksonomie" consiste à mettre en place un widget pour étiqueter chaque page Web avec un ou plusieurs mots clés. Un second module permet à l’internaute de retrouver l’information qu’il recherche à l’aide des mots clés qui lui sont propres, au travers de ce nouveau plan de classement.

Les deux objectifs à atteindre avec cette application sont :

  1. L’étiquetage des pages web : ce développement doit permettre d’ajouter des mots clés dans les pages Web. Il doit aussi permettre à l’internaute de confirmer ou d’infirmer l’importance d’un mot clé dans une page.
  2. La recherche par mots clés : ce second développement doit permettre aux internautes de lister les liens associés à un mot-clé. La liste des liens présentée au citoyen doit pouvoir être affinée en permettant de choisir plusieurs mots clés.

Contraintes :

  1. Ce développement ne doit pas impacter le code déjà mis en œuvre dans les sites voulant utiliser ce module.
  2. Il doit facilement s’intégrer dans des sites développés dans n’importe quel langage.


[1] Wikipedia, Folksonomie, http://fr.wikipedia.org/wiki/Folksonomie, consulté le 01/02/2010

21 janvier 2010

AppScale

Voici une des dernières solutions (si vous pensez à une solution intéressante pour mon mémoire et/ou pour déployer un site type web 2.0, postez-moi un commentaire) que je vais évaluer dans le cadre de mon mémoire.
Pyramide du Cloud Computing : platform

1. Présentation de la solution

AppScale est une implémentation open source de Google App Engine, développée par RACELab de l’université de Santa Barbara aux États-Unis. Cette plate-forme permet d’exécuter, sur son propre cluster, des applications développées pour Google App Engine.
Les buts d’AppScale sont de développer une plate-forme de type "PaaS" qui permette de déployer et tester une application, avant son déploiement sur la solution propriétaire de Google. Le second but d’AppScale est d’étudier les interactions entre un "PaaS" et les couches inferieures d’une solution de "Cloud Computing"

2. SLA

Non applicable.

3. Technique

Cette plate-forme tourne sur des solutions de type "IaaS" mettant en œuvre les solutions de virtualisation comme Xen, KVM, Eucalyptus ou Amazon EC2. AppScale est une solution de type "PaaS" permettant d’héberger des applications développées en Java ou en Python. Pour stocker les données, AppScale supporte un grand nombre de bases de données : Hbase, Hypertable, MySQL Cluster, Cassandra, Voldemort, MongoDB, MemcacheDB.

4. Prix

Non applicable.

5. Avantage / inconvénient

Avantage :
+ Open source.
+ Plus souple que Google App Engine

Inconvénient :

6. En résumé

Cette plate-forme est pour le moment développée à des fins de recherche scientifique et pour tester des applications destinées à fonctionner sur Google App Engine. En ouvrant son code et en permettant déjà l’utilisation de systèmes ouverts et connus pour la gestion de la persistance, AppScale promet de devenir une solution d’avenir.

http://appscale.cs.ucsb.edu/

Xen Cloud Platform

Je ne pouvais citer dans ce blog et dans mon mémoire d’ingénieur la solution de VMware sans parler de son concurrent open source. Xen ne fait que démarrer son projet spécifique au "Cloud Computing" et la communauté ne fourni que peu d’information à son sujet.

Pyramide du Cloud Computing : platform

1. Présentation de la solution

Xen Cloud Platform (XPC) est une future plate-forme de "Cloud Computing", développée par la communauté Xen et distribuée sous licence GPL. En novembre 2009 la version 0.1 a été lancée et elle devrait servir comme base de développement pour la première version officielle de la plate-forme XPC 1.0.

2. SLA

Non applicable.

3. Technique

Cette plate-forme se base sur la nouvelle version de l’hypervisor de Xen.

4. Prix

Non applicable.

5. Avantage / inconvénient

Avantage :
+ Open source.
+ Supporté par Citrix.

Inconvénient :

6. En résumé

Cette plate-forme est encore entrain d’être développée, le fait qu’elle soit open source est un atout indéniable.

http://www.xen.org/products/cloudxen.html

19 janvier 2010

Première conclusion!

Il y a quelques heures, j’ai fait une présentation (au sein de mon entreprise) qui avait pour titre "Cloud Computing – La prochaine plate-forme!".

Afin de préparer cette dernière, j’ai développé et déployé quelques micro-applications sur le "Cloud".
La première, est juste une animation en SilverLight développée et fournie par Microsoft pour tester la plate-forme "Windows Azure" http://maslintchoazurexmas.cloudapp.net/ . Cette application m’a permis de prendre en main la plate-forme de Microsoft, je n’ai malheureusement pas encore pris le temps de plus exploiter cette dernière.
La deuxième application (un livre d’or http://maslintchoonthecloud-demo.appspot.com/) que j’ai développé, tourne sur les serveurs de Google. Cette application en Python m’a permis de comprendre comment fonctionne réellement Google App Engine et de tester cette plate-forme.
Afin de tester les capacités des solutions de type "Cloud Platform", j’ai finalement développé et déployé une application très simple http://maslintchoonthecloud-load.appspot.com/ . Ce programme commence par insérer, dans un conteneur de données, un message qui contient la date et l’heure d’insertion, puis cette application affiche les mille derniers messages. J’ai déployé cette application sur 3 plate-formes (http://www.leclere.ch/maslintchoonthecloud-load/load_frame.html) : 1 hébergeur PHP traditionnel (http://www.infomaniak.ch), sur Google App Engine http://appengine.google.com/ (en Python) et sur un cluster VMware vSphere 4 http://www.vmware.com/products/vsphere/ (en PHP). Après déploiement, j’ai constaté que mon hébergeur offrait la solution la plus rapide et que Google offrait une solution gratuite (freemium) mais totalement bridée (2,8% des requêtes HTTP sont rejetées car trop gourmandes en ressource).

Mesure de performance avec 3 solutions


Google App Engine dashboard



Ce test m’a confirmé que nous étions au bord du "fossé des désillusions" de la courbe de hype (popularité) du Gartner. En effet, comme le Gartner le prévoit dans son modèle, en 2009 (http://www.gartner.com/it/page.jsp?id=1124212) tous les acteurs du "Cloud Computing" ont empilé les promesses pour faire grandir le "pic des attentes exagérées". En 2010, nous allons valider ce qui fonctionne, rêver à ce qui pourra être développé et pleurer pour ce que nous attendions. Le Gartner prévoit que dès mi 2011 les solutions de "Cloud Computing" remontreront la courbe de hype pour atteindre en 2013 le "plateau de productivité".

Afin de rester un pionner dans le domaine du "Cloud Computing", afin d’être prêt quand je trouverai la technologie mature et capable d’offrir de vrais services scalables et élastiques, je vais continuer mes recherches sur le sujet et me lancer ces prochaines semaines dans le développement d’un POC (proof of concept). Je vais aussi essayer d’organiser une campagne de métrologie pour avoir des benchmarks utilisables dans le futur.

Avez-vous d'autres expériences?

17 janvier 2010

Microsoft Windows Azure Platform

Azure est la future plate-forme de "Cloud Computing" de Microsoft. Après un 15 mois de phase de tests grandeur nature, Microsoft va lancer commercialement le 1er février Azure.
Pyramide du Cloud Computing : platform



1. Présentation de la solution

La plate-forme "Windows Azure Platform" est la solution de "Cloud Computing" de Microsoft. Cette plate-forme offre trois types de services :

  • "Windows Azure" qui permet de faire fonctionner sur cette plate-forme aussi bien des solutions de traitement de données, que des applications web. Cette plate-forme permet aussi de faire du stockage de données. Ce service offre la possibilité aux développeurs d’utiliser les langages du framework .NET, mais aussi d’autres langages comme PHP et Java. Afin de garantir un service optimum pour ce service "Windows Azure" met en œuvre des mécanismes pour faciliter la scalabilité des infrastructures techniques.
  • "SQL Azure" est le moteur de base de données relationnel de Microsoft porté sur le "Cloud".
  • "Windows Azure platform AppFabric" permet d’interconnecter des services hébergés sur le "Cloud" avec des applications existantes.

Tous ces services de "Cloud Computing" sont hébergés dans les data centres de Microsoft.

2. SLA

Microsoft garantit une disponibilité de 99.9% pour ses services  : "Windows Azure", "SQL Azure" et "Windows Azure platform AppFabric". Ce taux passe à 99.95% si l’utilisateur déploie son service dans au moins 2 zones distinctes.
http://www.microsoft.com/windowsazure/sla/

3. Technique

Dans cette section, nous focaliserons cette étude succincte sur le service "Windows Azure".
"Windows Azure" permet de facilement déployer des applications packagée dans un fichier "cspkg" sur le "Cloud" de Microsoft. Ce package est accompagnée d’un fichier de configuration "cscfg". Ce dernier permet de définir le type de VM utilisé (de small processeur 1 CPU 1,6 GHz 1,7 Gb de mémoire et 250 Gb de disque dur à extra-large avec 8 CPU, 15 Gb de mémoire et 2 Tb de disque dur) et le nombre d’instances (VM) à déployer pour le projet. Ce nombre d’instance peut ensuite être modifié en cours de production afin de répondre aux besoins. Microsoft recommande l’utilisation d’au moins 2 instances dans 2 zones distinctes afin de garantir un meilleur niveau de service.

4. Prix

Gratuit jusqu’à fin janvier 2010.
Microsoft facture  tout le CPU coute 0.12 US$ par heure, le disque dur 0.15 US$ par Go par mois et les 10'000 accès disque coute 0.01 US$. L’outil d’estimation des prix, prévoit un budget 1'959.49 US$ par mois pour un site web d’information qui fonctionnera sur 5 instances. Ce coût baisse à 1'696.69 US$ si nous nous limitons à 2 instances serveurs. Le calculateur prévoit aussi un budget de près de 55'000 US$ pour le développement et le déploiement de l’application la première année.
http://www.microsoft.com/windowsazure/tco/

5. Avantage / inconvénient

Avantages :
+ Supporte de nombreux langages.
+ Offre plusieurs zones d’hébergement.
+ Offre une base de données relationnelle.
+ Permet d’interconnecter des services de type "Cloud" avec des applications existantes.

Inconvénients :
- Scalabilité manuelle ou nécessite un programme tiers.
- Pas de session.

6. En résumé

Microsoft Windows Azure Platform est une plate-forme qui est en constante amélioration depuis son lancement fin 2008 en version "Community Technology Preview". Microsoft doit encore travailler sur l’automatisation du mécanisme de scalabilté.

http://www.microsoft.com/windowsazure/

Google App Engine

Google App Engine est pour moi la seul plate-forme de "Cloud Computing" publique qui répond à la définition que j'ai donnée.
Pyramide du Cloud Computing : platform



1. Présentation de la solution

App Engine est la plate-forme de "Cloud Computing" de Google. Cette plate-forme offre la possibilité d’héberger des applications web, développées soit en Java ou en Python, directement sur les infrastructures de Google. Google App Engine bénéficie de la grande expérience de Google en matière d’hébergement web. Google avec sa solution de "Cloud Computing" App Engine garantit que les environnements d'exécution sont construits pour s’assurer que l’application s'exécute rapidement, de manière sécurisée, et sans ingérence liée à l'exécution des autres applications sur le système, même en cas de fort trafic.

2. SLA

Aucun "Service Level Agrement" n’est offert par Google, selon le point 11.2 des conditions d’utilisations de Google App Engine .
http://code.google.com/appengine/terms.html

3. Technique

Architecture serveur et système de Google App Engine.

Pour sa plate-forme App Engine, Google a mis en place une architecture serveur et système qui lui permet de garantir un haut niveau de qualité. Google a clairement séparé la partie statique, de la partie dynamique des applications hébergées chez lui. La partie applicative accède facilement a deux solutions de persistance "Memcache" pour les données qui ont durée de vie courte et "Datastore" qui est le moteur de base de données de la solution App Engine. La plate-forme de Google offre d’autres services qui permettent entre autre d’accéder d’autres ressources sur l’inter ou d’envoyer des mails par exemple.
Pour répondre à la montée en charge ; Google multiplie les instances de serveurs applicatifs.
Sur sa plate-forme App Engine, Google a défini quelques contraintes techniques (par exemple : en Java impossibilité d’ouvrir un socket pour écrire dans un fichier, en Python les extensions en C ne sont pas autorisées) et opérationnelles (par exemple : le temps d’exécution d’une application est de 30 secondes maximum, une requête peut retourner que 1'000 enregistrement au maximum).

4. Prix

Gratuit pour les applications nécessitant moins de 500Mo de stockage et ayant moins de 5 millions de pages vues par mois.
Google facture  ensuite 0.10 US$ l’heure de CPU entamée, 0.10 US$ le giga de données entrantes et 0.12 US$ le giga de données sortantes. Le stockage de données est facturé 0.15 US$ le giga par mois. L’envoie d’email est facturé 0.0001 US$ par destinataire.
http://code.google.com/appengine/docs/billing.html#Billable_Quota_Unit_Cost

5. Avantage / inconvénient

Avantages :
+ Plate-forme simple à prendre en main.
+ Peut servir 400 à 500 requêtes par secondes.
+ Mécanismes de scalabilité et d’élasticité transparent pour le développeur

Inconvénients :
- Choix des langages.
- Base de données propriétaire.
- SLA

6. En résumé

Google App Engine est solution qui a été éprouvée depuis son lancement en 2008. Cette plate-forme est simple à prendre en main et offre malgré certaines contraintes techniques de grandes possibilités de développement.
Je suis entrain de la tester et j’apprécie travailler avec cette solution.

http://appengine.google.com/

08 janvier 2010

VMware vSphere4

Voici l’étude d’une solution commercialisée par un des leaders du marché de la virtualisation. Cette solution est une de celle que je pense pouvoir utiliser lors d’un de mes futurs projets.
Pyramide du Cloud Computing : platform

1. Présentation de la solution

VMware est un des leaders mondiaux en matière de virtualisation et il a lancé en avril 2009 vSphere4 la technologie à la base de sa solution "vCloud".
En résumant et en simplifiant très fortement le fonctionnement de vSphere4, ce produit permet de virtualiser un data centre en entier. Cette solution permet de rendre l’exécution d’une machine virtuelle totalement indépendante du hardware et par conséquent réduire le risque de pannes.
Dans son package VMware offre plusieurs services :

  • "VMware VMotion" et "VMware Storage VMotion" permettent de déplacer une machine virtuelle d’une machine physique à une autre sans interruption de service.
  • "VMware High Availability" permet de redémarrer une machine virtuelle dans la minute en cas de panne de hardware ou de problème avec le système d’exploitation.
  • "VMware Fault Tolerance" est le service qui permet de garantir une disponibilité continue de la machine virtuelle même en cas de panne de la machine physique.
  • "VMware DRS" est le service qui gère la scalabilté de la machine virtuelle et qui permet d’ajouter des ressources à une machine virtuelle sans interruption de service.
  • VMware offre aussi des services pour garantir la sécurité de tout le système et assurer les backups.


2. SLA

Non applicable, car VMware vSphere4 est une solution de type middleware et non un service.

3. Technique

Installer VMware vSphere4 est assez simple, tout comme déployer des machines virtuelles. Mettre en place une solution, tolérante aux pannes et offrant un maximum des services décrits ci-dessus, nécessite toutefois une infrastructure technique adaptée.

4. Prix

Le coût de licence annuelle pour mettre en place la solution de "vCloud" est de 4'369 US$ par processeur de 12 cores maximum. Étant donné que pour garantir un service continu, il faut au minimum deux serveurs, le coût minimum des licences est de 8'738 US$ par an.

5. Avantage / inconvénient

Avantages :
+ Solution robuste.
+ Solution scalable.
+ Solution fiable.

Inconvénients :
- ? Le prix ?.

6. En résumé

Personnellement, j’ai pu tester l’hébergement de plusieurs serveurs virtuels sur une telle solution et je n’ai rencontré aucune difficulté. Le seul petit inconvénient est peut-être le temps nécessaire pour migrer un serveur existant sur ce cluster et le rendre tolérant aux pannes.

http://www.vmware.com/products/vsphere/

2010!

Hier, j’aurai du commencer par ça ! Bonne année 2010 ! Je vous souhaite une année remplie de découvertes et de succès dans vos projets !



Tout le monde essaie de prédire l'avenir et surtout ces jours-ci avec le changement d'année. Personnellement, je n'ai pas vraiment d'idée de quoi sera fait 2010 dans le monde informatique! Et je ne peux pas valider avec vous ce que j’avais prévu pour 2009, n’ayant jamais réellement essayé de faire l'exercice les années précédentes. Tous ce que je peux dire c’est qu’il faut souvent beaucoup de temps pour qu’un nouveau concept, une nouvelle technologie émergent ou il faut un facteur déclencheur.


Je me rappelle que début 2004, j'ai commencé à évangéliser le concept de flux RSS. Il m'a fallut presque 2 ans pour obtenir un budget et lancer un premier projet. Fin 2008, j'ai commencé à travailler sur le sujet du "Cloud Computing". D'ici le mois de mai, j'espère réaliser un premier proof of concept (POC) en développant un site web hébergé sur le "Cloud". Avant la fin de l’année j’espère pouvoir lancer le projet d'industrialisation de ce POC.

Pour moi 2010 sera une année décisive pour savoir si le "Cloud Computing" est un concept d'avenir pour l'informatique. Ça sera aussi l'année du boom de l'internet mobile avec l'iPhone, le Nexus One et surtout le système Android. La réalité augmentée (AR en anglais) sera aussi un des sujets importants de l'année 2010, mais nécessitera le développement de standards ouverts pour structurer l'information. Les travaux sur les ontologies web et le web sémantique vont peut-être enfin trouver un créneau.

Personnellement, comme je l'ai écrit ci-dessus, je vais travailler principalement sur le sujet du "Cloud Computing". J’aimerai bien travailler sur un projet de réalité augmentée. Finalement, je vais garder un oeil sur l'HTML 5.

On en reparle dans 1 an ?

07 janvier 2010

Appistry CloudIQ

Appistry CloudIQ est un middleware que j'ai pu tester dans sa version beta en avril 2009. Cette solution ne répond pas encore à mes besoins, car il faut ajouter une solution de répartition de charge en frontal, mais j'ai trouvé cette solution très facile à prendre en main et bien conçue.

Pyramide du Cloud Computing : platform

1. Présentation de la solution


Appistry CloudIQ est une plate-forme (middleware) qui permet de facilement déployer une application sur un "Cloud". La solution proposée par Appistry se décompose en deux packages : "Appistry CloudIQ Manager" qui est la console qui permet de gérer tous les nœuds du cluster ainsi que de déployer les applications. "Appistry CloudIQ Engine" est le middleware capable de faire fonctionner aussi presque toutes les applications. C’est aussi cette couche qui permet de gérer la scalabilté et qui garantit la fiabilité de la plate-forme.
Appistry CloudIQ peut aussi bien être déployé en interne sur des machines Linux ou Windows, que sur des solutions de "Cloud Computing" externe comme Amazon EC2 ou GoGrid.


2. SLA

Non applicable, car Appistry CloudIQ est une solution de type middleware et non un service.


3. Technique

"Appistry CloudIQ Engine" est un programme à installer sur chaque machine du cluster.
"Appistry CloudIQ Manager" est un service web à déployer sur une des machines du cluster ou sur une machine tierce. Au travers de ce service web l’utilisateur peut déployer ses packages spécialement préparés pour la plate-forme.
"Appistry CloudIQ Engine" supporte le Java, le .Net, le C, le C++. Ce middleware implémente certaines fonctionnalités pour faciliter la gestion des queues et pour permettre l’élasticité des applications. "Appistry CloudIQ Engine" offre aussi la possibilité de déployer des serveurs web (Apache, Tomcat et IIS), des solutions de base de données (par exemple : MySql) ou des applications existantes, sans offrir de solution de répartition de charge.


4. Prix

Appistry offre une licence d’évaluation de sa solution pour 5 machines et 10 cores, mais communique peu sur le prix de ses licences. Selon Darryl K. Taft d’eWeek Europe [1], Appistry commercialise sa solution Manager + Engine pour 1'599 US$ / an.


5. Avantage / inconvénient

Avantages :

+ Facile à mettre en œuvre sur des machines en interne.
+ Multi plate-forme.
+ Supporte les grands langages de programmation du moment.

Inconvénients :

- N’offre pas une solution de répartition de charge lors de déploiement de server web ou d’application existante.


6. En résumé

Appistry CloudIQ est une solution de middleware très simple à prendre en main et qui offre un grand potentiel. Cette solution est principalement dédiée pour les applications spécialisées dans le traitement de données et pour la mise en place de solution de type SOA. Elle offre toutefois une solution pour le déploiement de serveurs web, mais n’offre pas de solution de répartition de charge.

[1] http://www.eweekeurope.co.uk/news/appistry-tackles-multiple-cloud-apps-364, publié le 13/03/2009, consulté le 07/01/2010

ElasticHosts

Une deuxième solution de "IaaS", la première 100% Européenne!

Pyramide du Cloud Computing : Infrastructure

1. Présentation de la solution

ElasticHosts est une solution Européenne qui offre à ses clients une solution de location d’instances de serveurs virtuels Linux ou Windows payable à l’heure ou au mois. Le client peut accéder et gérer ses serveurs au travers d’un client VNC.
ElasticHosts offre plusieurs images pré-installées (par exemple : Debian, Ubuntu et Windows Server 2008), ainsi que des CD d’installation pour CentOs, Debian, Knoppix, Red Hat Fedora, Ubuntu, FreeBSD, OpenSolaris et des versions d'évaluation de Windows. ElasticHosts offre aussi la possibilité de télécharger d’autres systèmes d’exploitation.
En fonction de leurs besoins, les clients d’ElasticHosts peuvent allouer dynamiquement plus ou moins de puissance CPU (2 à 20 GHz) et de RAM (1'024 Mb à 8'192 Mb). Ils peuvent faire de même pour la gestion de leur espace disque.

2. SLA

Le "Service Level Agreement"  offert par ElasticHosts est de 100% et ils offrent cent fois le crédit du client en cas de problème.
http://www.elastichosts.com/blog/2009/08/04/elastichosts-launches-ultra-flexible-scalable-cloud-hosting/

3. Technique

ElasticHosts a basé sa solution de "Cloud Computing" sur la solution de virtualisation Linux KVM (Kernel Based Virtual Machine) une solution open-source qui permet de faire fonctionner plusieurs machines virtuelles sur un serveur physique en se servant de fonctionnalités de base de Linux pour la gestion du scheduler et de la gestion de la mémoire.

4. Prix

ElasticHosts permet de payer soit à l’heure, soit au mois l’utilisation de ses ressources. Les prix commencent à 0.04 GBP / heure pour une machine de 2GHz avec 1Gb de RAM et 1Gb de stockage et le prix monte jusqu’à 0.523 GBP / heure pour une machine de 20GHz avec 8Gb de RAM et 1.8Tb de stockage. ElasticHosts recommande le prépaiement mensualisé pour garantir les meilleurs prix .
http://www.elastichosts.com/products/pricing

5. Avantage / inconvénient

Avantages :
+ Possibilité de créer son image, répondants à ses besoins et selon ses standards ou utilisation d’images existantes.
+ Basé en Europe.

Inconvénients :
- Puissance limitée.
- Les 2 data centres sont basés autour de Londres.
- Petite startup.

6. En résumé

ElasticHosts est une solution encore jeune qui met en oeuvre certains concept du "Cloud Computing". L’offre d’ElasticHosts doit encore être améliorée afin d’offrir de réelles fonctionnalités d’élasticité et de scalabilté (sans redémarrage lors de changement de settings).
Personnellement, je ne peux pas croire que leur SLA soit de 100% !

http://www.elastichosts.com/

Amazon Elastic Compute Cloud (Amazon EC2)

Voici ma première analyse d'une solution de "Cloud Computing". J'ai commencé par la solution EC2 d'Amazon car pour moi c'est une des solutions commerciales les plus abouties et une des plus connues du marché. Ces prochains jours je vais principalement me consacrer à ce type d’étude et je vais en publier plusieurs selon le même canevas d’analyse.

Pyramide du Cloud Computing : Infrastructure

1. Présentation de la solution

EC2 est une des solutions pionnières en matière de "Cloud Computing". Amazon, avec sa solution EC2, permet à ses clients de louer à l’heure des instances de serveurs virtuels Linux ou Windows. Ces instances permettent d’exécuter des applications comme MySQL Enterprise, Oracle Database 11g, Hadoop, Apache HTTP ou IBM WebSphere Portal Server. Sur ces serveurs virtuels les clients d’Amazon peuvent aussi exécuter des centaines d’autres applications ou leurs propres applications.

Amazon commercialise des instances déjà préconfigurées appelées "Amazon Machine Images" (AMIs) et Amazon permet aussi de créer ses propres images de machine virtuelle.

En fonction de leurs besoins, les clients instancient autant de machines virtuelles que nécessaire. Amazon propose différents types d’instances en fonction des besoins. Elles peuvent offrir à l’utilisateur plus ou moins de mémoire, de puissance de calcul et d’espace disque.

Avec EC2 Amazon offre un certain nombre d’autres services à ses clients pour construire une solution capable de monter en charge et d’éviter les pannes.

  • "Amazon Elastic Block Store" permet de conserver un espace de stockage indépendant des instances serveurs. Cet espace disque est partagé entre toutes les instances actives.
  • "Multiple Locations" permet de choisir parmi trois zones (États-Unis côte Est et Ouest ou Europe) le lieu d’hébergement de ses instances. Ce service permet d’éviter les pannes liées à un data centre particulier et de réduire le temps de latence réseau.
  • "Amazon Virtual Private Cloud" (VPC) permet d’accéder à ses instances au travers d’un VPN et offre par conséquent une solution de "Private Cloud".
  • "Elastic Load Balancing" permet de répartir la charge entre les instances d’un même client.

2. SLA

Le "Service Level Agreement"  offert par Amazon est de 99.95% sur l’ensemble de ses zones. Le client peut demander des dédommagements pour autant que l’ensemble de ses instances aient été indisponibles pour plus de 5 minutes et qu’il n’ait pas pu créer de nouvelles instances. Amazon recommande de travailler au moins sur deux zones.
http://aws.amazon.com/ec2-sla/


3. Technique

Amazon EC2 permet d’installer et configurer sa propre instance de machine virtuelle en choisissant son système d’exploitation et ses applications et de créer son AMI. De plus Amazon offre des outils pour faciliter la création d’AMIs.


4. Prix

Le prix est difficile à calculer, car chaque service est facturé séparément et son prix varie en fonction de la région géographique. Par exemple, l’hébergement d’une instance Linux de base coute 0.085 US$ / heure sur la côte Est des États-Unis et 0.095 US$ / heure sur l’autre côte et en Europe. Le choix de la région géographique, du système d’exploitation et du type d’instance font varier les prix de 0.085 US$ / heure à 3.16 US$ / heure. Dans les coûts il faut ajouter les coûts de transferts de données, de stockage des données et tous les services supplémentaires.

La location d’une machine pendant 24 heures coute le même prix que la location de 24 machines pendant une heure.

Amazon estime  le coût de l’hébergement d’un site web "marketing" sur deux zones à 1'400 US$ par mois.

http://calculator.s3.amazonaws.com/calc5.html


5. Avantage / inconvénient

Avantages :
+ Possibilité de créer ses propres AMIs, répondants à ses besoins et selon ses standards.
+ Multizone qui réduit les risques de pannes et diminue la latence réseau.
+ Nombreux AMIs disponibles.
+ Services supplémentaires déjà développés comme le VPC.

Inconvénients :
- Prix flous, prix cachés (par exemple : licences).
- Fortes contraintes architecturales pour le développement d’application web scalable (par exemple : gestion de la session inter AMIs).


6. En résumé

Selon moi EC2 est une solution robuste, idéale pour le calcul de type batch, pour l’hébergement de web services ou pour l’hébergement de sites web statiques. Pour les sites plus interactifs, Amazon EC2 n’offre pas une réelle solution comparée aux solutions des hébergeurs traditionnels et à ses concurents. Amazon a un atout majeur son implantation aux États-Unis et en Europe.

http://aws.amazon.com/ec2/