The cloud computing concept has gained a lot of momentum in the last few years. Classification of the solution space has somewhat focused on infrastructure-as-a-service (IaaS), which is typically associated with Amazon’s platform, and platform-as-a-service (PaaS), often associated with Salesforce Force.com and the aforementioned Google App Engine. In a previous post, I pointed to a short article that summarizes these terms.
A lot of debate has taken place around the economics of cloud computing, and around the advantages and disadvantages of the PaaS model. However, little discussion has taken place around additional (higher level; or: business) components that are needed to successfully run a SaaS business, in addition to the core infrastructure and the basic platform.
The diagram that follows is an outline of components that are part of the architecture of (almost) every SaaS business.
Below, I elaborate a bit on each one of the business components. At a high level, though, each of the business components represents an area of a SaaS solution that needs to be addressed by the SaaS vendor. Many of the components are required by traditional (non-SaaS) businesses, but SaaS (and in some cases, web applications in general) does pose new requirements. Most notably, these business components are oftentimes integrated with and become a core part of the SaaS application. From an implementation standpoint, each business component can be implemented using a third-party solution provider, using in-house development, or through a combination.
Here are some thoughts around each business component:
- CRM. SaaS vendors need a central repository of customers. In some cases (especially as the solution is more consumer oriented), the CRM system is a built-in part of the application. Core CRM functionality includes sales activities (associating accounts with sales people, forecasting), though in most cases CRM systems span into adjacent areas (customer support being a notable one). By far, the solution provider with the most mind share in this category is Salesforce.com.
- Marketing Automation. A lesser known solution space, marketing automation, addresses the need to manage the communication with prospects and customers, typically over e-mail. The goal of these activities is to “nurture” leads and rank prospects for more efficient use of sales people’s time. Some of the mind share leaders in this space are Eloqua, Marketo, and Silverpop. If you never came across this solution space, you’re in good company; take a look at the VentureBeat article titled What the !@#$ is marketing automation? for a somewhat amusing treatment of this subject.
- Billing. Also lesser known is the space of billing, and more specifically recurring billing. All SaaS companies have at least some need to bill customers; or at least, so I would hope. The recurring billing space addresses needs such as associating customers with plans (for billing purposes), usage-based billing (e.g., storage space, minutes), as well as the actual collection and communication (e.g., a “reminder” process called dunning). Some of the solution providers in this space include Aria, CheddarGetter, Chargify, Recurly, Spreedly, Vindicia, Zuora, and—more recently—Plimus.
- Customer Anaytics. Popularized by Google Analytics, customer analytics attempts to help SaaS providers analyze the behavior of their customers within the application (and potentially elsewhere). Interestingly enough, the Customer Analytics space is still in flux in terms of the core needs and capabilities. For example, the well-known Google Analytics solution (as well as many competitors such as Mint or Clicky) focus on site-wide (or application-wide) analysis. Other solutions (such as ClickTale or MouseFlow) focus on deep analysis of specific page with the goal of optimizing the user experience and the associated action rates. A newcomer by the name of Totango aims at providing views integrating users’ actions with their business profile.
- Community. Finally, the space that’s most open ended is the one I’ve named community. An area that may have been referred to as helpdesk or customer support in the past now includes core customer support tools (e.g., ZenDesk, TenderApp), collaborative product ideas (e.g., UserVoice, GetSatisfaction), feedback forms (Kampyle), live chat (ClickDesk, Kayako, LivePerson), as well as traditional knowledge-base tools and self-learning ones (e.g., NanoRep). To build a strong community of users and provide them with superb support, more than one tool may be required.
Interestingly, a well-architected SaaS offering usually includes all components, in some integrated fashion. For example, a marketing automation solution may be used to trigger a campaign and track the lead; once the lead has registered to a free offer, the lead may be included in the CRM; the user’s activity is tracked using the customer analytics tools; once the user has elected to subscribe to a paid program, the billing system may kick in; and, throughout the process, various forms of support and community provide the user with the help they need to be successful.
As interestingly, there is significant overlap between the various requirements in each area; for example, customer analytics may be required both for both marketing automation and customer behavior analysis. And, there’s as much overlap between the offerings of the different solution providers. So, when assembling a SaaS solution, the boundaries each solution need to be clearly identified.
While less publicized than the core IaaS and PaaS solution spaces, I find the business-components-as-a-service area intriguing. It’s constantly evolving, and it’d be interesting to see how it shapes up in the next few years.
[Oct-14-2011] An interested, loosely related, post is here http://gevaperry.typepad.com/main/2011/10/the-fifth-horsemen-of-cloud-ecosystem-pre-integration.html