Back From OW2Con 2011

I was in Paris last week for the OW2 annual conference and I gave a talk called “Petals BPM and the Cloud” during the Open Cloud Summit Session (wow what a name!). This talk was about showing that we have things running and ready to be published in the Cloud. As I said during my talk, difficulty is not to provide the SaaS layer, pushing a Web app to the Cloud is not so hard (and not so interesting). The interesting part is about building the PaaS layer. In the current case, the PaaS will provide “Integration as a Service”, or how we can use Petals Service Bus, to provide ways to integrate, orchestrate, manage and monitoring business services.

My son is an open source fan

My son is an open source fan

So let’s go back on my talk, where I planned to show things working… Unfortunately, I was not able to show anything due to some low resolution problems and this was really a shame; next time I will prepare a video in case of something like that happens. I am going to record these videos this week to show that we have interesting things under development : We can create business processes with Petals BPM and deploy them on the service bus in order to execute and monitor the process itself in a distributed way.

While waiting these videos, here are the slides of my talk. There are sort of ‘zen’ slides so the talk I gave was really important to understand all… So come and see me next time, or just send me comments.

For the other parts of the conference, as usual, there were really interesting presentations and discussions around OW2, open source and Cloud. One fun thing which I learnt was that OW2-Jonas is used in MS Azure Cloud solution as support of J2EE apps (can I also inform that Microsoft was a big sponsor of OW2Con? Yes, really, they gave money for an open source conference, that’s fun). Well, there were so many interesting things and I can not list all here. But open source is really something companies should have a look if they do not did it already, they will be surprised to see how active and professional is the community behind it.

Pushing your Web services in the Cloud in 5 minutes…

… or less! Heroku is defined as a “Cloud application platform”. I just want to redefine it to “Awesome Cloud application Platform”. So, this awesome platform provides a way to host and scale your application in the Cloud really easily with 3 or 4 commands…

Since I am currently working on my talk at #OW2Con 2011 (coming later this week) dealing with BPM, Services and the Cloud, I wanted to host some Web services on several places. I never had time to test Heroku but I just took this precious time today. After looking some examples, I created a Maven project template (no I do not have time to create an archetype, maybe there is one somewhere) which uses Jetty and Apache CXF to expose JAXWS annotated classes as Web services. So now, using heroku to freely expose your services is easy as:

  1.  Sign up to heroku
  2. Download the heroku client for your platform
  3. Clone/Fork the repository at https://github.com/chamerling/heroku-cxf-jaxws
  4. Add your own services
  5. Login to heroku ‘heroku auth:login
  6. Create the app on heroku ‘heroku create -s cedar
  7. Push your services to heroku ‘git push heroku master‘. There is a git hook somewhere which just automatically compile and start your application after you pushed it.
  8. Open your CXF services summary page ‘heroku open’
The default application name is some random one, you can rename it by using the ‘heroku rename yournewname‘ but in the current case I had an issue on the generated Web service endpoint name. So I suggest restarting your app after renaming (have a look to the ‘heroku ps‘ command).
That’s all, that’s quick!

Let’s talk at OW2Con 2011

This year again, I submitted a talk proposal to the OW2 annual conference and it has just been approved by the OW2 management office.

While last year I spoke about some conceptual things around the Distributed Service Bus and the Cloud, this year I will go one step further with some live demonstrations not only dealing with service bus stuff, but also with some BPM tools and the Cloud stack we actively develop in the research team at PetalsLink. Here is my talk proposal:

All the services are moving to the Cloud, so are business processes. In this talk, we will show how to create collaborative business processes using an open source SaaS BPMN Editor. But designing business processes is not enough, why not running them in the Cloud? We will see that we can rely on a completely Cloud-aware SOA software infrastructure combining several open sources solutions such as a Service Bus and IaaS framework. The resulting ‘Cloud Service Bus’ allows the integration of in-house services in order to benefit from Cloud-based features such as elasticity, load balancing, service clustering and migration. This Cloud Service Bus will serve as the runtime basis of the business processes producing a Petals Cloud Stack solution. All in the Cloud, all open source!

I really hope to have time to work on some cool things to add more foggy-cloudy stuff and have things running on a real cloud infrastructure. I have many ideas in my mind these days and it is really really really cool.

Oh and I will also talk a bit about what we are currently building in the Play FP7 project. We have to show things in two weeks at the European Commission and these things are really interesting to share with OW2 attendees and staff.

BTW, I think that there is some free beer social event this year at OW2Con, see you there of course!

OSCON Talk rejeté

Comme le reste des talks proposés par la communauté OW2 à OSCON 2011, le mien a aussi été rejeté. Pourtant le titre sonnait bien “Cloud Service Bus – a public, private and hybrid cloud integration approach for SOA” .Bizarre… Serait ce parce que nous ne sommes pas sponsor de la conf, parce que nous sommes mauvais, ou pire bon mais Français? Ah non c’est le Cloud, c’est has-been. Dommage, j’avais des choses presque intéressantes à raconter, vous en pensez quoi?

Oh!?

Gartner predicts that by 2012 20% of businesses will own no IT assets. A key aspect of this trend is the move towards cloud-enabled services. Open source solutions are key enablers of this trend. This talk will explore how a fully open sourceSOA-based solution can use the Cloud to open and extend enterprise software infrastructure.

The attendee will first learn how a Cloud-aware SOA software infrastructure can be built combining an Enterprise Service Bus [http://petals.ow2.org] and a Cloud infrastructure framework [http://opennebula.org]. This creates a ‘Cloud Service Bus’ which will allow the integration of in-house services in order to benefit from Cloud-based features such as elasticity, load balancing, service clustering and migration. Then, the talk will go one step further: by using the Cloud framework capabilities, the Cloud Service Bus can be extended to a hybrid approach combining both public and private Clouds. This shows the attendee how to bring the advantages of modern cloud based solutions to legacy enterprise applications while keeping sensitive data and services inside the enterprise. A Cloud-based SOA solution needs to be governed, monitored and managed in a totally transparent way akin to a traditional SOA solution; throughout the presentation the talk will show how the Cloud Service Bus approach does not break the SOA paradigm.

This work is part of the Open Source Cloudware Initiative launched by the OW2 Consortium [http://www.ow2.org/view/Cloud/] and uses research work from the SOA4All [http://soa4all.eu] and Play [http://play-project.eu] European Commission Cordis FP7 research projects.

A suivre, en vrai, autre part…

In The Cloud – Jour 3 et bilan

A crêperie stand.

Image via Wikipedia - Un stand sympa!

Dernier jour de la conférence In The Cloud 2eme édition à Paris. Journée que je souhaite dédier à la visite des stands et à l’écoute de quelques conférences.

Quand je disais plusieurs fois que l’on pouvait tout mettre dans le Cloud, ce salon en est la preuve. Tout le monde fait du Cloud (ou prétend en faire) aujourd’hui. J’ai quand même pas mal rigoler en voyant des stands où des vendeurs de câbles pour datacenter avaient revêtu le plus beau des costards. Il y avait bien évidement les IBM, SFR, EMC et autres acteurs de solutions d’hébergement d’entreprise mais aussi quelques fournisseurs de datacenters. Au final, rien de bien transcendant…

Coté talks, je commence la journée par le talk sur ‘Business Process as a Service‘. Je m’attendais a quelque chose de très technique. Au final la conférence dévie vers les réseaux sociaux, la messagerie instantanée et autres sujets déconnectés du thème (en tout cas par rapport à ma vision des processus métiers). Ah oui, tiens j’ai appris que je faisais partie de la ‘génération Y‘ (ignare que je suis), j’ai du entendre ce terme une bonne trentaine de fois.
OK bon, passons à la suite, le sujet à l’air sympa ‘Comment sécuriser le cloud computing, cette mine d’or des hackers?‘. On parle 30 secondes de la dernière attaque en date sur le ministère de l’économie puis à chaque intervenant de donner son avis sur la sécurité dans le Cloud, ou plutôt sur la sécurité en général. Il est vrai que la sécurité reste de la sécurité, qu’elle soit pour le Cloud ou pas. Je m’attendais à des choses bien plus spécifiques encore une fois même si le Cloud est vague.
Allez dernière conférence de la journée ‘Quel modèle de déploiement pour le Cloud (public, privé, hybride) ? A quelle fin? Comment les orchestrer?‘. Comment dire… On tourne un peu en rond, je suis sur qu’un article sur wikipedia sur le public, privé et hybride existe déjà et résume à lui seul cette dernière conférence. Rien sur l’orchestration (administration?).

Au final, une conférence bien orientée business de part l’armé de commerciaux déployée sur les stands. Très peu de stand très technique comme je les aime (mis à part celui d’OW2), des conférences d’assez bas niveau bien que les intervenants soient de qualité (la faute aux animateurs/modérateurs). Pour faire simple, techos passez votre chemin.

In The Cloud – Jour 2

Après une première journée bien calme (ouvrir un salon à 14h00 n’y est surement pas étrangère), place à la journée OW2 qui se déroule aujourd’hui en parallèle du salon. Au menu, Buffet Vin et Fromage sur le stand OW2, meeting OSCi, et pour finir meeting du TC OW2.

Je passe le buffet, non intéressant technologiquement parlant, mais qui finalement attire du monde… L’après-midi est donc consacré à la réunion de l’initiative Cloud Open Source menée chez OW2. Découpée en 4 domaines:

  1. Domain 1: Self-sizing et Green PaaS
  2. Domain 2: Distributed interoperability architecture/Massively Distributed Services
  3. Domain 3: BI4 CLoud, Business Intelligence For Cloud
  4. Domain 4: Massively Distributed Cloud

Une description détaillée est disponible sur le wiki de l’initiative

Nous, chez PetalsLink, leadons le domaine 2. Le but est de permettre à des domaines et des Clouds de services dinteropérer et d’utiliser les caractéristiques offerte par la couche IaaS pour construire une offre PaaS SOA. En quelque sorte, on peut imaginer avoir dans quelques mois un bus de service déployé dans le Cloud et offrant les possibilités d’intégration et d’architecture faiblement couplée que l’on à aujourd’hui avec un bus de service tel que Petals ESB. Avoir cette offre au niveau PaaS signifie que l’utilisateur/développeur n’aura pas à manipuler et à manager le bus tel qu’il doit le faire aujourd’hui mais simplement utiliser les APIs et les clients fournis pour importer ses services, déployer ses business process, etc… Tout cela dans une approche élastique, scalable, multitenante, … bref Cloud (J’y reviendrais bientôt dans un article dédié, j’attend juste le résultat pour le talk a OSCON…).

La journée se finit par le meeting du TC (Technology Council), responsable de la définition de l’architecture technique d’OW2, de créer des synergies entre projets, de définir les règles et démarches à suivre. Les discussions du jour tournent sur la maturité des projets (et la mise en maturité des projets en incubation), la qualité logicielle que doivent respecter les projets OW2. Bref des changements à venir dans les prochaines semaines afin d’encore augmenter la crédibilité du consortium et de ses projets.

Demain, dernier jour à Paris: Tour des stands et conférences.

In The Cloud – Jour 1

Cette semaine c’est In The Cloud à Paris, seconde édition et première pour moi. Première impression à froid : C’est très orienté business et tout le monde affiche faire du Cloud; les deux sont bien liés… Je recherche donc autre chose que des commerciaux ventant les mérites de leur solution de stockage en ligne et autre Clouderie… Je retrouve bien sur les partenaires d’OW2 qui sont ici pour présenter l’initiative Cloud – OSCi et les projets de recherche auxquels le consortium est associé. Comme d’habitude, @esdaniel est d’attaque et je passe l’après-midi à discuter avec lui. Ce gars est toujours aussi étonnant, intéressant, amusant et j’en passe; a des idées et des avis sur tout, bref impressionnant. Sinon, c’est le calme plat, très peu de monde dans les allées… Demain est un autre jour à InThe-Cloud, demain il y a meetings OSCi et OW2 TC.

InThe Cloud – Paris

Ca commence à pas mal bouger en France et en Europe au sujet du Cloud Computing. Des initiatives sont lancées, des projets de recherche financés par la France et par l’Europe fleurissent, les gens sont intéressés et intéressants. On trouve même des rencontres dédiées entièrement au Cloud, et la semaine prochaine se tiendra à Paris la conférence InThe Cloud dans sa seconde édition avec un programme technique mais aussi business.

Pour ma part j’y serais les trois jours, probablement sur le stand OW2 ou sera présenté les travaux sur l’initiative Cloud lancée l’an dernier (OSCi Open Source Cloud initiative):

La communauté démontrera pendant le salon les solutions et travaux menés dans le cadre de son Initiative Cloudware et de sa participation au projet R&D CompatibleOne. L’Initiative OSCi anime un effort collaboratif visant à définir le futur d’un cloud computing ouvert et interoperable. Le projet CompatibleOne a pour vocation le développement d’un socle standard pour répondre au manque d’interopérabilité des plateformes Cloud existantes, en leur apportant notamment les outils technologiques nécessaires de portabilité.La communauté sera représentée sur le salon par l’équipe OW2 ainsi que par ses partenaires UShareSoft, ActiveEon et les membres du projet CompatibleOne (source http://www.inthe-cloud.com/info_societe/36/ow2.html).

 

Pensées sur le Cloud Hybride

Dans la galaxie de termes et de technologies que contient le Cloud Computing aujourd’hui, attardons nous un peu sur le Cloud Hybride. Un Cloud Hybride est grosso-modo un mix entre un Cloud public (du type EC2) et un Cloud privé (managé par un Framework à la OpenNebula).

Je pense vraiment que ce genre d’approche est la plus intéressante à mettre en oeuvre. Il est clair que les entreprises ne sont pas prêtes (et ne le seront sûrement jamais) à basculer tout leur système dans le Cloud public. On pense principalement au problème qu’il peut y avoir au niveau de la sécurité des données. Par contre, on peut imaginer qu’une partie des ressources (au sens large) peut potentiellement être déportée dans un Cloud public. Dès lors que l’on fait cohabiter du Cloud public et du Cloud privée, on passe donc dans le Cloud hybride. Simple? Pas tout a fait. Bien que le concept soit à mon avis le plus intéressant, il est aussi le plus dur à mettre en oeuvre.
Heureusement, des frameworks Cloud, tels que OpenNebula (brièvement présenté dans un précédent article) permettent de créer et de gérer des Clouds hybrides de façon transparente. Dans un de leur récent article, l’équipe qui est dérriere OpenNebula présente quelques cas d’usages qui répondent au besoin du Cloud hybride. Dans ‘Scaling out Web Servers to Amazon EC2‘, ils présentent comment on peut load-balancer une application Web en utilisant des ressources privées et publiques sur Amazon EC2. L’intérêt est ici de pouvoir fournir une qualité de service ‘constante’ en utilisant des ressources privées et d’avoir la possibilité de répondre à des pics de charge momentanés en utilisant des ressources publiques louées ponctuellement.

Cette approche est un bon compromis. Je ne crois vraiment pas au ‘tout public’. En me plaçant au niveau purement technique, je n’y vois aucun intérêt et si c’était le cas, Petals* serait déjà dans le Cloud depuis un bon moment. Par contre au niveau business, on pourrait alors dire que l’on fait du Cloud comme certains de nos concurrents…

Une approche SOA dans le Cloud hybride est donc plus dans la mouvance de ce que je veux pousser et développer cette année. Construire un bus de services pouvant s’adresser et utiliser les fonctionnalités du Cloud hybride me parait vraiment un bon challenge, et qui plus est, qui peut le plus peut le moins…

Ca a l'air compliqué, mais je vais quand même y aller

Ca a l'air compliqué, mais je vais quand même y aller

OpenNebula, Acte 1: Les présentations

Je m’intéresse en ce moment à OpenNebula qui se définit comme “un gestionnaire de virtualisation de ressources pour le Cloud“. Cet intérêt est porté par mes travaux sur le Cloud et la SOA, ou comment fournir une solution SOA utilisant le Cloud. Pour le moment je laisse le sujet SOA de coté, je l’ai déjà évoqué et je reviendrais dessus en 2011…

Fully open source (not open core), thoroughly tested, customizable, extensible and with unique features and excellent performance and scalability to manage hundreds of thousands of VMs:

  • Private cloud with Xen, KVM and VMware,
  • Hybrid cloud (cloudbursting) with Amazon EC2, and other providers through Deltacloud (from ecosystem),
  • Public cloud supporting EC2 Query, OGF OCCI and vCloud (from ecosystem) APIs,…
  • and much more.

Dit comme ça, on ne voit pas forcement la différence avec le concurrent direct qu’est OpenStack. Deux frameworks pour le Cloud qui se positionnent de la même façon… D’ailleurs, un représentant de chaque produit était présent à la conférence OW2 le mois dernier et les présentations était assez identiques. Bon OK, OpenStack se la joue plus à l’américaine : “Eh les gars, nous on est issue de la NASA OK?!”……
OpenNebula lui est un projet qui est en partie financé par des projets de recherche Européens depuis 2005, quand on connaît le niveau de ce genre de projets financés, on a peu de doutes sur les capacités d’un produit issu de là. On a beau pas être américains, on sait aussi faire décoller des fusées… Bref, fermons la parenthèse anti-amerlocs.

2005? On parlait déjà Cloud à cette époque? Non, on parlait grille et calcul haute performance. C’est pour adresser ces domaines que OpenNebula a été créé. Elle a évoluée au cours des années car finalement c’est toujours un peu la même chose… On change le nom et on rajoute deux/trois trucs par ci par là… Ce n’est donc pas étonnant de voir une infrastructure de type cluster du type Frontale + Noeuds:

(Par la suite, ONE = OpenNebula; VM = Machine Virtuelle)

  • Le binaire de ONE est installé et lancé en tant que daemon sur la machine frontale (ONED). C’est lui qui fournit les APIs Cloud propriétaire et celles qui peuvent être pluggées par dessus (du type Amazon EC2, OGF, etc…).
  • Dans le comportement par défaut, les images permettant de lancer les machines virtuelles sont partagées entre les noeuds via un bon vieux système de fichiers réseau de type NFS.
  • La frontale doit pouvoir se connecter à tout les noeuds en SSH ie partage de clés.
  • Les Hypervisors sont les plateformes de virtualisation qui permettent de lancer des machines virtuelles sur les noeuds. Les plus connus (et supportés par défaut par ONE) sont, par exemple, Xen, KVM et VMWare.
  • Les Drivers permettent de créer la communication entre le daemon tournant sur la frontale et les hyperviseurs.

D’après cette liste, on comprend mieux la philosophie d’OpenNebula. Il s’agit d’utiliser des hyperviseurs existants, de les envelopper, de leur rajouter des fonctionnalités et de les gérer intelligemment. Cette gestion intelligente doit bien sur se caler par rapport aux attentes de niveau infrastructure Cloud (IaaS) en offrant de l’élasticité, de la migration de VMs entre noeuds, etc…

Une fois les hyperviseurs installés et en état de marche (c’est vraiment la chose la plus dure à faire et celle sur laquelle j’ai perdu un temps fou à cause d’une machine trop vieille…), l’utilisation de base depuis la frontale est assez simple:

  1. Déclarer les noeuds physiques ie ceux qui hébergent les hyperviseurs et qui feront tourner les VMs
  2. Déclarer un ou plusieurs réseaux virtuels. On définit ici principalement les addresses IPs qui seront assignées et utilisées par les VMs.
  3. Soumettre une image système et son descripteur au scheduler. Le scheduler a pour but de faire migrer l’image vers le bon noeud physique afin de pouvoir démarrer une VM sur ce noeud.
  4. Pas de 4… Enfin si mais pour des utilisations poussées, je passe pour le moment…

Dans une utilisation simple en mode Cloud privé, c’est à peu pres tout. On peut démarrer, arrêter et migrer des VMs assez facilement. ONE se charge d’assigner les bonnes addresses IPs pour peu que l’image système soit configurée pour le faire (via quelques scripts système). On peut donc créer son Cloud privé de type IaaS avec ONE pour pas un euro (modulo le temps à appréhender le monstre) et avoir un total controle dessus.

Ca à l’air très simple… Oui l’utilisation est simple, c’est la mise en place qui l’est moins. Tout du moins pour préparer les noeuds et les hyperviseurs. Je suis tombé sur des soucis avec la mise en place de KVM sur une machine trop vieille et qui ne fournit pas la virtualisation niveau processeur. Je passe car je n’ai pas le courage mais j’ai perdu pas mal de temps. Les développeurs qui sont très réactifs ont passé du temps avec moi pour essayer de voir ce qui collait pas. Résultat, je laisse tomber KVM que je commençais à maîtriser pour passer à Xen qui est moins simple mais qui est censé marcher mieux. Encore quelques dizaines de cafés en vue…

Dédicace à mon sysadmin préféré ;)

Mises à jour Twitter