|
Mar 26
2009
|
Deploying your SaaS application with PaaS versus Infrastructure as a ServicePosted by: Eric Novikoff Tagged in: Untagged
|
PaaS, or Platform-as-a-Service, is increasingly being proposed as a way for startups to get to market quickly. But is it economical and practical? I read an excellent blog post today about that, which raised questions about cost of deploying with PaaS, though it didn't answer the hard question, which is what it costs to run a SaaS service without PaaS. (Which is actually really hard to answer!) But in keeping with the topic of discussion, I think the article missed some significant downsides of PaaS that have kept successfull SaaS providers from using it so far.
I think the article's analysis is based on a false premise: that hosting/infrastructure/"the messy stuff" should somehow be free or close to it. It's a misconception that is catered to by a lot of vendors whose marketing revolves around getting people to spend money on their PaaS or hosting offering, and the ubiquitous free open-source software that makes the road to SaaS success seem like it's paved with gold. I've seen quite a different story with my customer base, who had to dot their i's and cross their t's to realize the profits that SaaS can provide.
If you look around at the successful SaaS companies out there, they aren't using PaaS. And, they're paying a lot more than the 13% the article mentioned for a worst-case cost of operations. (Recent studies on successful highly-respected - by analysts - SaaS providers show they pay between 14-34% on operations, which includes staff expenses) Why is that?
Of course, one of the standard answers could be "well, they were founded before PaaS was popular or usable." This may be true, but there are other structural reasons that I think drive their spending more than 13% on their operations:
1) Flexibility: each PaaS vendor has limitations and things they can't do. Combining one or more PaaS services is a very powerful way to get started with your SaaS offering. But, when you combine them, you find that your business ends up missing the mark because you don't have control over all the functional pieces you need in order to move with your market. Most of my customers chose to use open-source software to handle the PaaS features (billing, execution environment, provisioning, metering, etc.) and if they don't want to do the administration that goes with it, ENKI handles that.
2) Scalability: Many (but not all) programmers can write software that will scale. However, when you tie your system to someone else's hosted software, you no longer have control over scalability. This can be a problem with any deployment, but if you stick with Infrastructure-as-a-Service, at least you have more control since you can hack everything you're running.
3) Transparency: I was recently at a conference where 5 startups talked about their experiences with EC2: each had hired employees to figure out what Amazon was doing and adapt their code to work with it (and keep working with it despite performance issues and hidden changes to the infrastructure). If you are on a PaaS platform, this gets more complex.
This brings me to wonder if the 13% in the article includes staff time, since the industry figures do. Similarly, as I mentioned above, the cost of deploying to EC2 is typically much higher than just the cost of a minimum sized instance as the article assumed, because n-tier applications need multiple instances, you will need staff to manage the Amazon interface, and let's face it, the minimum-sized instance has minimum performance: for the type of 15-seat deployments the article mentioned, my customers typically use a lot more resources.
Like the posting, I sing the praises of multi-tenancy, both because I used to work at NetSuite where we made it work well, and now at ENKI I find myself going through these kinds of cost analyses with my customers over and over, and am only able to really make the costs work out nicely with multi-tenancy OR with a pseudeo-virtualization scheme like OpenVZ/Virtuozzo - unless each end-customer deployment is very resource-heavy. Pseudo-virtualization on top of virtualization? Yes: there can be real cost benefits. (I have written more about this here.) However, one has to remember that by hiding the provisioning inside a multi-tenant system, it is almost impossible to outsource it to a PaaS, SaaS or infrastructure provider.






