There’s a lot of promise in the new SaaS (software as a service; what used to be called ASPs, or Application Service providers, till Microsoft crapped all over that acronym) and newer PaaS (platform as a service) spaces (and look for a steady stream of new “aaS”es to come). However, there are a lot of gotchas in signing on with a SaaS vendor. You’d like to be able to believe that they have decent performance, uptime, security, etc., especially after they tell you “Oh, all kinds of big companies use us; Dell, IBM…” This is exacerbated by SaaS often being an “end run” around IT in the enterprise, so naive users can get sold a bill of goods without proper technical oversight. SaaS is a big buzzword now, and there are a lot of startups springing up that do not necessarily have experience running large scale sites. Think about how many MMORPG games still get scuttled due to poor operational performance. SaaS is the same.
Here’s some things to keep in mind when selecting a SaaS vendor, laced with real life horror stories from our experiences.
1. Performance/Availability. Set a hard performance/availability SLA in the contract. Many vendors won’t even have an SLA clause, or they’ll have one that says “99.9% uptime!” without any remedy clause for what if they don’t hit that. You want a clear SLA with a clear measurement method and clear “money back” if they don’t hit it. We use a 2 second global performance SLA as measured by a Keynote Global 35 monitor. But the SLA isn’t the whole story – you are counting on these people to accomplish your goals.
Dave Artz has put together a simple Webcast tutorial on how to use webpagetest.org to measure and fix up your Web site. If all this talk about Web performance is a bit overwhelming, it’s a great novice tutorial. He walks through the entire process visually and explains each metric. Great job Dave!
We use Oracle Application Server as our Java app server at NI. Yeah, yeah, I’ll wait till you stop laughing.
Why not JBoss or WebLogic or WebSphere? Well, a couple reasons. We made the decision five years ago, and JBoss wasn’t solid then, and we needed J2EE support so plain Tomcat wasn’t enough. And we’re a huge Oracle shop and figured that if we were using the same app server on the Web and our ERP tiers there’d be leverage in terms of developer knowledge etc. Would we make that same decision today? I’m not sure about that (I can hear my team members shouting “hell no” over the cube walls). Although since we’ve also gone with Oracle’s SOA suite for ESB and BPEL it would be harder to switch. But still tempting – Oracle has done a horrible job in getting their app server supported by other vendors. Every time we buy something and look at the supported app server section of their support matrix, and we ask “What about Oracle’s OAS?” we get expressions of mixed horror and pity from the supplier. (I liked it when the Chinese technical guy from one eComm vendor we had in responded to this question with, “You know, the Tomcat is good, and free! Maybe you use that!”)
Anyway, Oracle bought BEA a while back, which got keen interest from us. Stay with Oracle *and* use a good app server that other people support? Tempting! But Oracle’s been farting around for six months without coming out with a statement on what this will mean for the products. Oracle’s finally done a Webcast describing their strategy. Well, it’s half marketing and a celebration of how many million dollars they have. But there’s also a lot of product strategy in there. I’ll sum it up for you because the damn webcast is nearly two hours long, and I don’t want other people to have to waste that much time on it. Unless you like to hear someone go on about “strategic clarity” and “customer profiles,” in which case this is two hours of bliss for you and you should watch it. Although I also had the stream break a bunch of times while watching. Who the heck uses RealPlayer any more? Anyway, here’s a list of the interesting product facts from the Webcast. Some are marked with their timestamp if you want to fast forward to them and see more.