Salesforce.com's acquisition of the Heroku cloud platform last December has led to some confusion about how Salesforce plans to pitch two completely separate platform-as-a-service offerings.
The company already had perhaps the most successful PaaS cloud with Force.com, why bother with a new one?
But Salesforce showed its devotion to Heroku by putting the acquired company's CEO, Byron Sebastian, in charge of both Force.com and Heroku. A few months into his new gig, Sebastian says the two cloud platforms serve different needs and there is no reason to merge them.
"Heroku is going to focus on developers and that developer experience, and Force.com is going to focus on productivity of business processes, data-driven applications and ISVs," Sebastian said. "We're going to keep them both on those paths because those are both choices customers want to have available to them. We will not merge them and mash them up, but we will make sure they integrate together very easily and seamlessly."
Force.com and Heroku are different in several ways. Force.com runs on Salesforce's own equipment, while Heroku runs on top of the Amazon Elastic Compute Cloud, and suffered downtime when Amazon's cloud failed last month.
Heroku uses the open source Ruby programming language, with its name a combination of "hero" and "haiku" to honor Ruby's Japanese roots. Force.com uses Salesforce's proprietary Apex language, but abstractions allow people to build many applications without writing code.
Force.com is good for building applications that automate data-intensive business operations, particularly employee-facing ones, Sebastian says. Force.com is also targeted at software vendors who want to build products on top of a cloud platform, he says.
Heroku, on the other hand, is designed for developers, people who write code to build customer-facing web applications, and want flexibility to use various open technologies like NoSQL databases, he says. Heroku users have a choice of databases, but can use Salesforce's Database.com service to connect their applications to services running on top of Force.com.
Force.com and Heroku are also priced differently. Force.com charges by the user, but that would be impractical for Heroku because applications running on the service are more likely to reach millions of customers. Heroku is therefore priced based on capacity measures, such as the number of HTTP requests.
Salesforce says the two-pronged cloud strategy makes sense, but some analysts have raised concerns. In a Forrester Wave report released this month, the analyst firm says, "The PaaS market is a sprawling, fast-changing, and immature market. Most PaaS vendors are small, and even big vendors like Google and Microsoft have incomplete, new products. Salesforce.com has the most mature PaaS, but it just acquired an entirely new PaaS product (Heroku), and its fit into the portfolio and strategy isn't yet clear."
Sebastian would obviously not agree about the strategy being unclear. He did not, however, dispute the generally accepted wisdom that the platform-as-a-service market is much smaller than the infrastructure-as-a-service market dominated by Amazon.
Salesforce's numbers are impressive, though, he says: 220,000 applications deployed on top of Force.com and more than 100,000 on Heroku. While Force.com is useful for existing Salesforce customers who want to build extensions to their CRM deployments, Sebastian stresses that Force.com can be used for much more than that.
One "giant Internet company" built an application to manage its data centers on top of Force.com, and ISVs like ServiceMax have used the platform to build web and iPad applications. Heroku, meanwhile, counts the large retailer Best Buy as one of its customers.
PaaS is appealing because it speeds up the process of building applications, while letting customers offload the dirty work of managing infrastructure to someone else. Amazon, on the other hand, requires customers to manage their own virtual machines and build high availability features into their applications.
Still, using Amazon is easier than building your own data centre. The Heroku team, which founded the company in 2007, a couple of years before Sebastian came on board, put its own platform on top of Amazon so it could focus on building software instead of managing hardware.
But that carries its own risks. All of Heroku's customers suffered downtime last month when Amazon EC2 failed. "It was a long day," Sebastian says. The Heroku team is expanding use of high availability technologies, such as continuous database backups. Heroku is also looking at spreading services across multiple Amazon regions, but Sebastian notes that this raises challenges of its own because of the latency involved in using data centres on both the East and West coasts.
Heroku suffered downtime again last week after an apparent DDoS attack.
After the Amazon outage, Heroku's system status page said, "Failures at the IaaS layer will happen. It's Heroku's responsibility to shield our customers from this; part of our value proposition is to abstract away these concerns. We failed at this in a big way this weekend. ... The outage was not acceptable."
Sebastian says he's not aware of Heroku losing any customers as a result of the outage. Occasional outages are a fact of life in cloud computing, but overall uptime may be better than what many customers can achieve on their own.
"Anybody who tells you their cloud service hasn't had any outages is not telling you the truth," Sebastian says.