While most features and enhancements we announce here are targeted toward end-users, today we're taking a break from this to share information about two new back-end features designed to help us manage Rollbase in anticipation of scaling to large numbers of customers.
Managed Applications
For typical multitenant SaaS vendors, upgrades are straightforward and usually involve schema and code changes that are not customer-specific. The ease, speed and relative transparency with which these upgrades can be accomplished is one of the primary benefits of the SaaS model, and is something we deal with every weekend when we upgrade the Rollbase platform.
A more significant challenge we have as a PaaS company is the distribution of upgrades for specific Rollbase applications to customers who have installed earlier versions of those applications, since this must be done without compromising any customer-specific customizations or configuration changes. Because all Rollbase applications are defined entirely at the metadata level, application upgrades involve manipulation of customer data itself, albeit metadata, which is entirely different from a typical SaaS platform upgrade (i.e. code and schema changes).
Recently we developed a feature that lets our support team push new versions of applications out to the entire customer base by adding any new metadata (objects, tabs, portals and their components) without updating existing components the customer may have modified. In this way Rollbase now has the capability to push application updates out in a non-intrusive manner to any customers who have previously installed those apps. Furthermore, application upgrades can be executed while Rollbase is running, requiring zero system downtime.
Today this new "Push Updates" feature was successfully put to the test when we updated the default "Rollbase" application every customer receives by default with their account. As a Rollbase administrator you will now see new fields added to your User object along with the following new Objects in your account: Location, Department, Function and Group. (We'll discuss the purpose of these new objects in an upcoming post regarding the new Organization Management application now available in the Application Directory).
On-Demand Rollbacks
Another challenge that affects pure multitenant SaaS environments such as Rollbase is customer-specific backup restorations. In a traditional software environment, or a SaaS environment where each customer has their own dedicated database, rolling a customer back to a previous point in time is a straight-forward database restoration process.
However, in a pure multi-tenant environment, a simple database restore is not an option. Doing so would also move all other customers sharing that database back to the same point in time. To address this we developed a mechanism for automatically storing rolling backups of individual customer data on a regular basis (a frequency which can be customized based on an individual customer's preference). These backups can be retrieved, unpacked and restored into the production environment in a purely automated fashion. Given this new feature, our support team can now restore customers to any available point in time using our back-end Rollbase user interface without requiring any IT intervention. As with managed updates, restores can be executed while Rollbase is running, requiring zero system downtime.
Whats next?
In addition to the new Organization Management application for larger-scale deployments, stay tuned for more information about the new Grid Component for dynamic spreadsheet-style creation and editing of multiple related records from a single detail page, as well as the addition of sequential and parallel email-based approval processes built into workflows.