Salesforce.com has two unequal brothers in the platform-as-a-service (PaaS) space. While force.com is the basis and natural extensibility platform for the core CRM system, the Heroku platform acquired at the end of 2010 addresses developers with open source stacks. The two of them could not be more different. Force.com is an application-centric PaaS that attracted a huge ecosystem building add-ons around Salesforce.com’s Sales, Service, and Marketing application. They all work together somehow because of the very limited freedom for developers. All apps usually start with the same canonical CRM data model, use the same data object store, use the same proprietary programing language (APEX), and use the same user interface techniques. That’s why force.com apps or add-ons fit nicely into the business buyer's perspective.

Heroku, on the other hand, focuses more directly on developers. It is a foundational PaaS and offers wide freedom to pick different open source programming environments and tools. The elastic resource management is especially attractive when building apps like Facebook add-ons with unpredictable performance demands. Although many apps on Heroku leverage the Heroku Postgres service as an SQL store, all apps differ in terms of data model and architecture. As a result, there is much less interoperability among them compared with force.com. In this report, Forrester provides clients with an overview of different PaaS capabilities, while our recent Forrester Wave™ evaluation of public cloud platforms compares the Heroku/force.com duo with the major alternatives.

Until now, Salesforce.com has basically sold these two different platforms independently. This wasn't really an obstacle, as the “social and Facebook” app developer in most companies had little in common with the enterprise application developer extending the CRM system. But we have now entered the age of the customer, connecting the customer engagement done in many cases through apps on Heroku with the internal customer relationship management offered by Salesforce.com’s CRM and its add-ons on force.com. Forrester’s age of the customer terminology maps nicely to Salesforce.com’s “Connected Customer” — the Salesforce1 platform story. The marketing buzz that's been around since the Dreamforce event has now been followed by a major announcement and direct general availability, bringing the Heroku and the force.com platforms closer than ever.

Salesforce.com has announced a bundle consisting of Heroku (including new capabilities) and the force.com platform; it mainly targets existing CRM customers under the name of “Salesforce1 Connected Customer App Package.” These are the most important new capabilities:

  • Heroku-Connect synchronizes force.com data objects with the PostgreSQL. Many customer-facing apps rely on data from the core CRM. The new feature offers developers an easy way to access replicated data from force.com in the simple SQL way they are used to with Heroku’s PostgreSQL database service.
  • New identity profiles to handle customer access. Already announced but extremely relevant to the new customer engagement scenarios is a use case for Saleforce.com’s identity and access management. Until now, it has mainly been used to give employees unified access to multiple cloud apps and on-premise apps. Now, the same method can be connected to Salesforce.com’s CRM customer records, easily turning every known customer into a user on a customer-facing Heroku application.

“Heroku-Connect” in particular is an overdue feature for the advanced customer who's already using both flavors of PaaS from Salesforce.com. For those using only one of them today, it lowers the barriers to buying into Salesforce.com's unified PaaS mission. It is also essential to consider the new data synchronization as just one option. An ODBC/JDBC connection into the force.com data (done by Progress Software) has been available for some time. Advanced applications might replicate some of the less transactional data (like customer and product data) from force.com into Heroku while keeping financial transactions with greater compliance requirements in the force.com application and simply connecting to it from Heroku in real time.

Critical to the success of the new package of Heroku on top of force.com and Salesforce.com’s application licenses is a new usage- and volume-based pricing. While a SaaS CRM application is simply priced per user today, Heroku's pricing was always based on resource consumption for apps that sometimes didn't even have named users. Balancing both metrics in a merged package is a challenge.

Beyond this, there are many more things on customers’ wish lists when it comes to merging Heroku and force.com. Given the announcement of upcoming force.com data centers in the UK this year and in Germany and France next year, Heroku’s data residency is very high on the list. Most customers outside the US are looking for consistent data privacy. With Heroku still based on Amazon and force.com in a local jurisdiction, real-time access to data will be more attractive than replication in many cases. In the long term, Salesforce.com needs to bring Heroku home to its own data centers simply to meet compliance requirements.

If you are using already one or both of Salesforce.com's PaaS flavors, please leave a comment and let us know what you think of it.