In an interview with ReadWriteWeb, the man who led the Heroku PaaS platform to prominence - and who continues to lead it as Executive Vice President of Salesforce - says that as his platform expands, it could certainly penetrate old barriers. One such barrier could be the ribbon, if you will, in front of a "Heroku apps store." Another is the perimeter of the cloud that has supported it to date, Amazon EC2.
"Amazon works great as a platform for Heroku and for its customers. Every day we are expanding how much we run on Amazon, because our services are expanding so quickly," says Salesforce's Byron Sebastian. He's referring to Heroku's expansion earlier this month of its Postgres database services, with two new, smaller tiers at $50 (Crane) and $100 (Kappa) per month, as well as an entirely new process model called Cedar - rolled out Wednesday - that adds the ability to run "one-off" processes against any application being run on the platform. That's a huge expansion in capacity requirements in just one month's time, and if any cloud infrastructure service in the world is capable of meeting those requirements, it's Amazon.
A Bridge to Heroku's Parent's Cloud
But the pending need for such requirements led to open speculation about whether Heroku may add the option at some point for certain customers, perhaps in particular locales, to use parent company Salesforce's infrastructure instead - maybe for a discount. In our discussion with Sebastian, he made certain we understood he's only strengthening his commitments with Amazon. But he didn't bat down the possibility of a home-grown alternative.
"We do hear from customers, especially as Heroku sees increased traction over the last 12 to 18 months, that large enterprises often have very specific requirements about what they want to see in the overall infrastructure," he says. "They want to have flexibility and choice in terms of the characteristics of where they're running their applications. So directionally, we see Heroku being able to offer customers like that the choice of different cloud infrastructures based on different operational requirements they might have. In some cases, it might be locale; in some, it might be low-latency connectivity, [such as] with the Singapore Stock Exchange; in some cases, it's how much visibility they have into the audit trails within data centers; in some cases, it might be related to data residency, and wanting to keep data within a certain country."
There are a number of market forces at work here. One is the equal and opposite reaction, you could say, from the so-called "consumerization of IT:" Think of it as the industrialization of service. Earlier this week, we saw a potentially game-changing breakthrough from Box.net, as it opened up service tiers to price and terms negotiation for enterprises for the first time. It's an indication that metered service doesn't work for everyone, especially large enterprises. Another, which Sebastian also referred to above, is the need for certain countries (especially in Europe) to keep their data within their own home territories, to avoid inspection by foreign countries' law enforcement bodies.
"Directionally, we see giving these high-end customers more and more choice about the infrastructure that they're running. And our long-term strategy ultimately includes continuing to expand [Heroku] to do more and more with Amazon," Sebastian says. "Since we were acquired, we did anticipate at some point running in Salesforce [data centers]... Heroku is very much about choice, about openness and about giving customers control and the ability to make decisions about how they want their applications and infrastructure to be run."
An Expanded Process Model
The XVP's comments come amid this week's rollout by Heroku of what is hoped to be a greatly enhanced process model - the system with which the platform runs applications. Called Cedar, the new system continues to support Ruby (including work with the Rails framework), Java (including work with the Spring or Play frameworks), Python (including work with the Django framework), Clojure, Node.js, Scala and Facebook Platform. What Cedar adds is the capability to scale applications much more granularly, including manual scaling of the number of dynos (Heroku's virtual units of work) and spinning off "one-off" processes from the command line.
- Byron Sebastian, executive vice president for Heroku, Salesforce
Sebastian tells RWW that Cedar will continue to follow Heroku's architecture of enabling different components of an application to be developed using any of the languages it supports. "Cedar gives the developer tight control over the processes - how many processes are running, what types and so on. That, we strongly believe, is the key building block to building platform-as-a-service," he says.
He reaffirmed a long-held belief that developers don't particularly want to manage servers, especially since today, virtualization has rendered them artificial constructs anyway. "If you're a developer, what matters to you if you're thinking about computational power is the processes that are running in your processor. By creating a process model that gives developers a lot of power over how those processes are used, how they're delegated, how they're assigned, and so on, we're able to give a huge amount of control back to the developer, and at the same time remove a lot of the overhead, because they don't have to deal with these concepts of servers - which are an artificial concept that gets in the way of the developer."
Polyglot with a Caveat
Recently, Heroku has been facing new challenges from cloud platforms including Apprenda (a .NET platform competing with Windows Azure), some of which are making the case that having too much language choice - what Sebastian calls a "polyglot cloud" - ends up confusing developers rather than assisting them. When we brought up that topic with Sebastian, he surprised us by saying that while Heroku has this broad portfolio, it has more focus than some may realize.
"Our Cedar stack enables multiple languages to be run on Heroku. But in doing that, we decided very carefully that the goal was not going to be to support every language under the sun as a value proposition. We decided it was very important that, just as people had really come to see us as the best platform for running Ruby apps in the cloud, for the other languages we introduced, we achieve a similar level of developer productivity and operational agility. There are certain specific languages that we really focus on, to be the best platform for developers to run their apps on... Focus is really important. The underlying value of the cloud platform can be applied to a number of different languages. We realized we could scale out to support additional languages, but do it properly, in a way that's friendly to developers, providing the tools and frameworks they expect."
An Heroku Storefront?
There are a growing number of Heroku apps available on the iTunes App Store (especially for, of all things, managing one's own Heroku apps), as well as new customer-facing apps on the Shopify store. Does this give Heroku any ideas about pulling off its own version of, say, Salesforce's AppExchange? While declining to give specifics, Byron Sebastian gave us substantial reason to believe there could be much more to say on that subject during Salesforce's annual DreamForce conference this September.
"It's very clear that, with the move toward social enterprises at Salesforce, part of becoming a social enterprise is giving [customers] the experience of being able to very quickly try, experiment, and review applications and new technologies, [and] make it very easy to purchase those applications in that marketplace... Everybody's getting into that business, and we definitely see that part of being a social enterprise is providing marketplaces with very easy on-ramps, in order to try out applications. In the case of Heroku, we already do that with our add-ons for infrastructure for developers, but that's a key direction for the future, and it's part of being 'cloud.' "