Bluemix Well Crap XPages

The XPages and IBM Bluemix showstopper, for me at least

Ok I’ll admit it..  I’ve not really been paying much attention to IBM’s Platform as a Service offering called “Bluemix”.  For the longest time there was no XPages component.  Of course I’d love to play with all the other technologies that it offers, and there are a lot, but as primarily an XPages Developer at the moment I just don’t have good time or practical ideas for anything else.

Then they finally put XPages and the “XPages NoSQL” database into Bluemix.  Experimental for now, but it’s in there.  Now it has my attention.  I could run XPages in Bluemix and maybe hook into all the Watson goodness and all the other bells and whistles that they offer.

As soon as the XPages Experimental went live I saw several posts by Marky Roden and others and I’m thinking cool,  now I can get started.

Then I went to MWLug and learned something really REALLY unexpected.

Because the Domino server is NOT “Multi-Tenant” it means that the “XPages NoSQL” database is really just a semi-isolated slice of I guess an actual Domino server.  I’m not sure of the plumbing.  But it specifically means that this “XPages NoSQL” database should NEVER EVER be used for PRODUCTION data. If one customer caused a crash it would take down multiple customers. The “XPages NoSQL” database on Bluemix has only ever been intended to be a “developers playground”.

My current understanding is that if you actually do want to use XPages on Bluemix for a production app then you must host the data either on IBM’s Softlayer service or “On premises” with your own copy of Domino.

So I guess that you need to subscribe to Bluemix for the “app” but then also pay for the data either in a Softlayer subscription or via Domino licensing.

This really REALLY disappoints me and assuming I’m understanding this correctly, I’m not sure I see the point in anyone doing much with XPages and Bluemix unless maybe you just HAD to access some Bluemix specific resource from an XPages application. Maybe there are use cases for this but none that really jump out at me.

If I’m wrong on any of this please let me know.