Salesforce Is Now Eating Their Own Dog Food
You’ve heard of “eating your own dog food,” right? That’s when a company uses a product they make to deliberately experience any pain future customers might feel. It’s generally seen as a good thing, since the vendor will want to fix any problems they find before the product goes on sale.
Our company builds apps for Salesforce, and because their “dogfooding” didn’t extend to app development, we had our share of aches and pains. That said, we just got back from the annual Salesforce conference and we brought back some good news as a souvenir.
Opening Up a Fresh Can of…Dog Food
It’s clear to us now that Salesforce is using their own development tools and technologies at multiple levels of the stack. The most obvious example is Lightning, Salesforce’s new front-end web development framework. Both their market-leading CRM app (Sales Cloud) and the Salesforce1 mobile app are powered by Lightning. Better yet, we’re seeing meaningful improvements to what we can build with Lightning because Salesforce is putting it through its paces.
Since our team has done quite a bit with Lightning already, I was invited to participate in a panel-style discussion about what it’s like to use Lightning to build apps. It was a lively discussion among a small group of like-minded individuals, but the best part came at the end. Just before leaving, one of the people introduced himself as a new SVP of Engineering at Salesforce who came in incognito to get raw, unfiltered feedback directly from the horse’s mouth.
I almost can’t overstate this point; this is what meaningful change looks like.
Heroku’s Role as a Change Agent
If you ask around the office, the surprise from Dreamforce that was both biggest and most welcome was Salesforce DX, a collection of developer tools and APIs designed to bring Salesforce development up to modern standards. It’s very exciting stuff if you know your way around the command line, and it extends the popular Heroku CLI.
Salesforce has owned Heroku for several years now, but Heroku is shining in a new way: it’s a vehicle for them to deliver major behind-the-scenes improvements to the platform. The command line in Salesforce DX is one small (though welcome) example — but it goes way deeper.
In the next few releases, Salesforce will release a capability they’re calling Platform Events, which developers can use to send large numbers of small messages in and out of the system. (Imagine how they send all those push notifications you get on your smartphone!) Under the hood, this is powered by Apache Kafka on Heroku, which anyone can buy and use, but Salesforce will be the largest “customer.” And if it’s beefy enough to power Salesforce.com, it will work for your app.
Another example is a feature Salesforce is calling BigObjects, which provides a way to store and process millions of database records in an efficient way. This is powered by Apache Hadoop and other “Big Data” tools running on the Heroku infrastructure, but Salesforce will make it much more convenient to work with for common use cases.
If this story sounds familiar, you’ve probably heard this is how they do things at Amazon. Their S3 service, for example, can store any type of file at any size, but its biggest customer is the Amazon.com storefront (which needs to store multiple photos for each of the millions of items they sell). There’s no better way to put these new technologies through their paces.
Welcome to a Heroku-Powered Future
When you step back and look at all this taken together, it fits an exciting pattern: Salesforce takes a new bleeding-edge technology, gets it running on Heroku in a robust, reliable way, and provides shortcuts to those powerful tools for common use cases directly inside the Salesforce.com apps. The possibilities are effectively endless.