My thoughts on the IBM BlueMix workshop

The idea of BlueMix is that a developer can create an application very quickly and get it deployed without having to go through the usual rigmarole of enterprise app deployment which can take weeks or months. From that point of view BlueMix is very interesting; the developer can choose their preferred language (basically node.js, Java or Ruby), their preferred database (DB2, MongoDB, MySQL, Postrgresql) and various other add ons such as integration with the Internet of Things, big data analysis, even fitness trackers.

The day itself covered the basics of the infrastructure running on Cloud Foundry on Softlayer, and the various different ways to deploy apps. We looked at using the command line, the Bluemix website, Jazz.net (the IBM Devops tools for continuous integration) and also briefly integration with Git. So from the point of view of actually pushing code up to the service it’s very simple, or at least as simple as any of the other cloud services out there.

Unfortunately the day was rather plagued with technical issues thanks to the IBM Impact conference running in Las Vegas. The BlueMix team were busy pushing up new code for Impact during the night over there, but it was the middle of the day here and so the BlueMix services were like the proverbial nun’s drawers.

And due to the down time it gave plenty of time to think about the offering. We’re doing some Node.js / MongoDB development at the moment and deploying it to the cloud has been incredibly simple, we use Heroku for the application, MongoLab for the database and Search.ly for the full text searching. We could equally run all three elements on a single box and run that in the cloud ourselves. Or we could use Bluemix to host all three elements.

Using multiple services is probably dangerous, there’s multiple points of failure etc, but for dev at least I like it, I can understand exactly what is running where, I can see application logs and so on. If I run them locally, likewise I can see everything running. But BlueMix is very much a black box, I couldn’t see any simple way to watch my application console ticking over for example. The MongoDB has no interface to it, no facility to control sharding and there was no integration of ElasticSearch at all so we’d need to re-think how we handle those elements of our projects. The point being, by creating one big, black box, it makes deployment very simple, but it takes control away from me, and I like control over the applications that I write.

The mantra for the day seemed to be “as a developer you don’t need to know this stuff”. From my point of view, not knowing “this stuff” is very dangerous and it’s not a road I want to go too far down.

The problem for IBM is that the only differentiator they can offer for this type of project is on price or SLA. I find it very hard to believe that either will be better than the existing cloud service providers as this sort of thing is basically commodity at this point. So the target for IBM seems to be the add-ons. Data and analytics, and other services which are being written by third parties (i.e. Business Partners) that can then be added to other applications as required. A very similar proposition to the add-ons that Heroku offers but more targeted towards the enterprise than SaaS. It seems like BPs will be able to provide services into BlueMix but there were no details on how that would work in terms of certification or earning money from it.

Overall it was a good day in the sense that I realised that BlueMix is not something I need to spend any further time with at least until pricing has been announced. For the purposes of LDC and Elguji, we can achieve everything we need with existing services such as Heroku or EC2.