Software-as-a-Service is so common it's actually boring at this point, but there are still only a few very large SaaS companies. As SaaS companies grow, both in market and technical scale, the need to refine and mature processes becomes more important.
We really have no idea how the Operations are done in the Cloud, with the exception that we have a bit of visibility into the uptime/downtime. We still lack even the most basic release management visibility and we have no idea how Cloud providers deal with service interruptions, or how they do upgrades.
For example, there were recent issues with VMware ESX 3.5 Update 2, in enterprise configurations where the hypervisor wouldn't power on after being turned off. What would have happened if an entire Cloud system was shut down at that moment? Would customers even have been aware?
One of the big issues that I wonder about is just how well versed the operations teams are as the systems need to scale up with a very high SLA level.
If you too have wondered what your typical SaaS company looks like (YTSC), check out this new post from Dani Shonrom.
Age: 3-4 years in the making.
Staff: between 20-40 people, possibly a small dev team offshore in Southeast Asia or one of the former Soviet Union republics.
Technology: Being relatively fresh, YTCS technology is multi-tenant, customer-centric, with (hopefully) an automatic customer on-boarding mechanism, and they surely have an integration with Salesforce.com (or perhaps NetSuite, SugarCRM, MSDynamics, etc.). Some fancy configuration capabilities should be built into the product and Web Services integration options are available.
Platform: most probably a LAMP shop. Let's start with all the free stuff and hope to reach profitability before loading the heavy guns. And, hey, we're big advocates of open-source.
Joking aside, Dani's outlined what most SaaS companies currently look like. The point being that they are likely missing some of the enterprise maturity until they reach a scale that requires more professional processes.
So how is YTSC prepared for this rapid growth? Do they have the People, Practices and Programs (P-cube) in place? Are they ready to scale from dozens of customers to hundreds and, hopefully, thousands?
Are the following crucial practices defined and followed?-
- Change management
- Incident Management
- Configuration Management
- Availability Management
- Release Management
- SLA Management
Dani's blog is worth a read to get the details. I suppose the big question is if a more enterprise-esque maturity model is applicable and how do SaaS companies get there? Is it just a matter of maturity or does it require a shift in how these applications are built, with Operations playing a larger role in the business.
Thanks to Ray at OpSource for the pointer.