The cloud makes some big promises about the future of enterprise IT. Cheaper, better, easier and above all, simpler.
When it comes to applications, the software-as-a-service (SaaS) model is seen as an opportunity to ditch the baggage of the past - lengthy, complex integrations and vendor lock-in - and make a fresh start.
But has the cloud lived up to that promise yet? The answer, sadly, is no.
I found that out the hard way, when iTnews editor Brett Winterford asked me to write a report on integrating SaaS solutions.
“Just the top 20 providers," he said. "Shouldn’t be too hard, right?”
“Yeah, that’s fine,” I answered.
That was six months ago. In the intervening time I’ve produced graphs, summaries, scorecards, written nearly ten thousand words and made spreadsheets big enough to cover a moderately sized meeting room wall - all of which we're releasing as a lengthy report next week.
Brett, it wasn’t fine. Not at all.
So what was so difficult?
The rules are different now
My first mistake was to assume that my experience as a software developer would carry over well. But I soon learned the work I’d done in offline integration was all but useless in the SaaS world.
Ask me how to make the MoinMoin wiki engine work with LDAP for authentication, or integrate it with Trac to do issue tracking. Not so difficult once you get the hang of it: find the parts that need to integrate, figure out how to access that data and write some code to make it work.
Unfortunately, none of that makes sense in the cloud.
Firstly, where do you put your code? There are plenty of bad integration solutions -- even from companies that should know better -- that involve running a plugin on your computer that downloads data from one cloud service and uploads it to another.
Great. So now I shut down my computer for the night and everything stops.
Or you run it on your own servers, but then, what’s the point of the cloud? Aren’t you meant to be paying someone else to run all that for you?
Writing code to integrate various cloud services is antithetical to the very idea of the cloud. We’re meant to be in the age of “it works out of the box, just sign up and we’ll take care of the hard stuff”.
If it works out of the box except when you want to actually use it in the real world, it may as well not work at all.
Accessing data is also different now. In the old days, when we stored things in “files” and “databases” like the cavemen that we were, you could just open that file or connect to that database. The data’s right there, naked as the day it was born!
For security and technical reasons, that’s never going to happen in the cloud. Ask Sony about what happens when people get raw access to your database.
No, there’s only one way of accessing data in a cloud service: the web API.
Before I go too much further, I should say that I actually like web APIs. A well-designed one can be a pleasure to use and they actually paint a tempting future for online integration.
Offline, the best integrations don’t access data through files or a database. They connect with code directly, which can yield some really fantastic deep integration possibilities like live synchronisation, notifications, and custom widgets displayed inside the application.
The problem with offline APIs is that they’re usually a pain to work with. Some only work for services using the same programming language, or use some great new custom communication protocol that you have to bash your head against for weeks to figure out.
The redeeming feature of SaaS is that we get to do it over. Do it better. We can learn from these mistakes and build something nicer and easier.
Only we aren’t. We’re making the same mistakes again.
Standards. Anyone?
You know what made the nineties awful, other than Pauly Shore? Too many file formats.
Everyone who wrote software would immediately go and design their own format, and before too long we had hundreds.
The problem was that there were almost no standards, and the few that existed were basically ignored. We’re still suffering today. Look at music files. MP3? Windows Media? iTunes AAC? Linux’s OGG? What a mess.
Read on to page two for more about standards and 'marketplaces' or register now to attend iTnews' launch of 'Which Clouds Play Nice' at vForum, Sydney Exhibition and Convention Centre on October 19, 1pm.