CRM giant Salesforce took some big steps towards opening up its proprietary platform in announcements at last month's Dreamforce conference. Perhaps the most significant is the donation of its internal data model to the Linux Foundation to form the basis of the Customer Information Model (CIM). But just as significant for Salesforce customers is the introduction of Evergreen, a Kubernetes-based serverless environment that runs inside the Salesforce platform. For the first time, this means developers can use functions written in its proprietary Apex programming language alongside others created in open-source languages such as node.js and Java.
As the event drew to a close, I caught up with Chief Product Officer Bret Taylor and also MuleSoft CTO Uri Sarid to get the low-down on these moves and others. Easing integration and cross-platform connection has been a constant theme of Taylor's tenure as CPO, while Sarid is a huge advocate of interoperability with other systems. But then Salesforce has always recognized the importance of connecting to the other systems that its customers run, as CEO Marc Benioff explained to me at our first meeting back in 2006. These announcements mark the next chapter in that ongoing journey.
I'll start with Evergreen, because this will have the most immediate impact on how developers build applications in Salesforce — not instantly mind, as it comes out first in a limited access developer preview in February as part of the Spring ’20 release, but should become more widely available later in the year.
Salesforce goes serverless with Evergreen
Until the advent of Evergreen, building an application that combines Salesforce-native functionality with functions coded elsewhere — even on Salesforce's own Heroku platform-as-a-service — has meant hopping between several different tools and managing the associated security and authentication. Now this code can run as serverless functions and microservices in Evergreen, with full native access to Salesforce data and functions. One Salesforce developer sums up the impact:
This is truly game changing. By allowing developers to build these functions using existing languages in Java and Node.js, you are enabling the developer to utilise all of the existing ecosystem of functionality out there ... Almost all of these libraries become available for use alongside your existing Salesforce applications with all the plumbing and authentication done for you! You simply add in what you need, leveraging the existing tools and off you go.
Was Apex the original serverless platform?
Evergreen functions can be invoked from platform events, from Apex, from Lightning Web components, even from the no-code Flow Builder. The outcome is a much more uniform developer experience, says Taylor:
Our developers can choose a programming language of choice. They can choose their development model of choice. But whether you're developing a consumer-scale experience for one of our B2C companies, or you're doing a simple extension of Lightning, you have a much more uniform developer experience.
What was fun about it is, as we were talking about the future of application development, Apex was closer to it than you might think.
First introduced in 2006, Apex is a programming language that allows developers to write custom functions that run on the Salesforce platform — effectively a precursor of what we now know as serverless, says Taylor:
My personal take on this — I think Apex was the original serverless platform ... You wrote a small function that happened on an event, and Salesforce managed it for you and scaled it for you.
It's interesting because, now with how trendy serverless is, I looked at Apex and I was joking with the team, I was like, you were doing serverless before it was cool!
Opening up development options
Evergreen brings a framework for converging that original platform concept and a tradition of supporting low-code development along with the modern development practices embodied in Heroku, he says:
There's amazing control flow, where you have a mix of serverless functions, but they're also drawing the controlled flow of data, through all these functions. I believe it's a very compelling vision for the future of application development, where you're really mapping business processes and the flow of data on these systems.
When you take our expertise in low code development — I think that's somewhat unique to our platform and the entire landscape — and you take Heroku, the modern application developer practices, I'm really excited about a vision that brings it to everyone.
The wider context for opening up development options in this way is Salesforce's new positioning of its platform as the Customer 360 Platform (rather than Customer Success Platform as before). The vendor wants to emphasize its ability to deliver "a cohesive customer experience" across multiple products says Taylor:
In this age where consumer expectations are higher than they ever have been before, it's more important than ever to not have silos between the different aspects of your customer experience.
That means opening up the platform externally as well as between its own different components, as MuleSoft's Sarid emphasizes:
Instead of this notion people may have had that Salesforce is trying to pull all the data into it, how does Salesforce basically externalize its capabilities? You can pick and choose which capabilities you actually want and embed them into other experiences.
Creating the Customer Information Model
The introduction of the new Customer Information Model is a big step towards enabling simpler integration across different applications. MuleSoft played an important role in helping to create the model, says Sarid, using an open standard called Anything Modeling Language (AML), which we had discussed when we met last year. He says:
[When] they said, 'Let's go out and actually publish that as a model for the industry and AWS and all the others,' we seized upon that immediately ... How do we make that into standard open technology? How do you put that in the graph? And that's the part that we provided. So Cloud Information Model is literally turned into something real by AML.
Using AML meant that it became a semantic model rather than simply a collection of data definitions, he says:
We jumped on it. I put my best guys on it ... I don't think even Salesforce realized that they actually had this semantic model as well as the shape of the data.
Now managed by The Linux Foundation, CIM has much broader support than the announced involvement of Salesforce and AWS. Other partners include industry giants Cisco, Google and Intuit, consumer brands Expedia, John Hancock and L'Oréal, and digital players Dropbox, Genesys, Intuit, ServiceMax, SurveyMonkey and Zoom. That broad support is designed to encourage adoption, says Taylor:
It was important to us that it wasn't just us, but it was a number of companies. And that the governance is truly open source governance.
When you're a CIO, and you're choosing what standards to adopt, having a standard that isn't controlled by one company, but truly under open source governance, it can give you so much great confidence in adopting it for your technology strategy.
Business processes in teamwork tools
Just as CIM opens up data interoperability and Evergreen creates a more open functional landscape, Salesforce is also opening up to other platforms at the user experience layer. Digital teamwork tools are playing an increasingly important role in managing work across an organization, with some workers wanting to access applications such as Salesforce from within teamwork tools such as Slack and Microsoft Teams. A recent update to Quip added integration to Salesforce's point-and-click workflow automation tools, so that it too can act as a collaborative front-end to Salesforce, Says Taylor:
I think these collaboration tools — Quip, Slack, Teams — they're disproportionately important, because I think in modern workplaces, very few things are done in isolation.
Bringing in these collaborative tools closer to the business processes, which are represented by CRM, there were a lot of productivity enhancements come up ... You're orchestrating a bunch of collaboration from CRM, in tools that aren't CRM.
Both these steps are hugely important. Gifting Salesforce's data model to the Linux Foundation is an unprecedented step for a vendor so dominant in its space. Doing so with the support of Amazon and other influential vendors gives this initiative a good chance of broader adoption. But there is a catch that will give other vendors pause for thought — Salesforce's platform already conforms to this model, whereas others would have to refactor their data model if they've done things a different way.
So don't expect the likes of Microsoft, Adobe and SAP to get on board with CIM any time soon — in any case, they have their own Open Data Initiative, although as Taylor is quick to point out, that is not managed by an independent agency in the way that the Apache Foundation manages CIM. The tussle to come between these two rival models may take years to resolve, but success in the end will be determined by customer adoption.
Evergreen is another landmark shift, bringing the ability to develop in popular open-source languages directly inside the Salesforce platform. It also eliminates barriers between different development environments, making it possible for someone building a workflow in a point-and-click tool to call a function developed in node.js or Java, or for an application built in Lightning or Apex to do likewise. This will greatly simplify the creation of custom applications and workflows for Salesforce developers and admins.
Other vendors are moving in a similar direction in order to accommodate customers who want to build more end-to-end processes in the increasingly complex world of customer experience, so to that extent Evergreen is a necessary response to competitive pressures.
You could characterize the launch of CIM in a similar vein, but I think it goes much further than other vendors, as though one player in a round of poker had just pushed a huge stake onto the table. Salesforce is wagering a lot of value on this being the right move. Time will tell whether it's going to pay out.
[Updated Dec 11th to amend final Uri Sarid quote for clarity]