Software-as-a-Service Business Model Specification

The Software-as-a-Service (SaaS) model allows clients to purchase subscriptions to pre-built sites (whether pre-packaged profiles such as Open Atrium, or custom-built profiles), which are then provisioned for them by an Aegir system.

I (Christopher Gervais a.k.a. ergonlogic) presented on the topic of Aegir-based Business Models at DrupalCon London, where I outlined a number of business models supported by Aegir, with a particular focus on SaaS.

My intention with putting together this roadmap is to plan and then deploy a reference implementation at openatria.com. Basically, this comes down to "one-click" sites that, in it's simplest form (from a customer stand-point) bypasses Aegir all together.

Order Workflow

  1. After perusing the service catalog, the client decides on an Open Atrium site and adds it to her cart;
  2. She then decides on some options, such as:
    1. Extended features (e.g., the experimental OA Reader, in-house or 3rd party custom features, &c.);
    2. Premium themes;
    3. A quota on the number of users (more users likely mean more resources and support requirements);
  3. She decides on a level of support (e.g., 8x5 vs. 24/7, phone vs. email vs. forum, &c.);
  4. She pays;
  5. She then receives her welcome email from her new Open Atrium site, where a user account has already been created for her and assigned the role of "manager".
  6. Finally, based on her level of support (from step 3), she might be granted access to additional resources outside her site, such as the ability to submit support requests to the service providers issue-tracking system.

Details

  • The client never sees Aegir.
  • She is not assigned UID 1.
  • No doubt other options will also need to be made available such as:
    • Level of security, possibly w/ bundled SSL certificates;
    • Use of a subdomain vs. new domain name registration.
  • Service levels may not need to use uc_hosting or Aegir, per se. They could perhaps be handled by building product kits (i.e. Community/Business/Enterprise levels);
  • As noted in step 6 above, access to additional resources (i.e., creating a user account and assigning a role on some other site) could be handled by some other mechanism. However, if this mechanism was implemented in or managed by uc_hosting/Aegir, it could allow for other interesting possibilities, such as a free/cheap/demo package that simply creates a group (in the context of OA) for the client, rather than a full site.

Modules

Several modules are already under development to support these features:

  • Hosting Profile Roles
  • User Limit
  • Registrar API
  • Hosting Queue Runner
  • Hosting Backup Queue
  • Hosting Backup Garbage Collection
  • Hosting Services

Additionally, some modules are currently in the planning phase:

  • Provision Profile Roles
  • Hosting User Limit
  • Provision User Limit
  • Hosting Expiry Date
  • Provision Expiry Date

Notes

This is based on an initial spec I wrote last year: http://groups.drupal.org/node/94959#comment-306609