Beyond the macro jockies: Salesforce lures devs with Java juggle
Serious enough in an Amazon world?
Salesforce is growing: just not enough or in the right direction, it seems. The company that started life serving up customer relationship management (CRM) as a service to the suits is now reaching out to real coders.
The company, which claims more than 50,000 customers, saw subscriptions to its hosted apps increase by nearly 40 per cent for its most recent fiscal year.
But, while revenues have grown, so have losses: from a $97m profit in 2011 to $35m loss reported at the end of January.
A key area the company’s now looking at is becoming a host for apps outside of its signature CRM SaaS and the dev platform that made them: Force.com and Salesforce's "Java-like" strongly-typed Apex programming language.
Being "Java-like" is not good enough if Salesforce wants to break out. The executive leading that break-out campaign is Byron Sebastian who serves not just as Salesforce's executive vice president of platform but also as chief executive of Heroku, the start-up that started life hosting Ruby apps atop Amazon’s EC2 and S3, and which has since broadened its appeal to include Python Scala, Node.js and – yes – Java.
Sebastian came to Salesforce though the acquisition of Heroku in 2010 for $212m. Salesforce knew it needed to change, it just wasn’t sure how and speaking to Salesforce at the time it seemed to believe that Heroku would provide that special something that would allow it to break into the developer field. Buying Heroku and then serving up more than 105,000 Ruby apps along with Sebastian appeared to be the "special something" Salesforce had been looking for.
This month sees the latest evidence of Salesforce's attempt to buy into devs. Its upcoming Cloudforce satellite conference in London will see Salesforce host its first hackers' day, which it has dubbed Cloudstock, with sessions to help train coders in building for Salesforce’s Chatter social apps, Sites.com website hosting service, the Force.com and Heroku.
Sebastian told The Reg during a recent interview: “I’m really on a mission to have a strong voice for developers on the Salesforce platform.”
Salesforce likes to paint itself as a champion of the open web, but the truth is that for years it has promoted a proprietary language and development framework – Apex on Force.com - to customise its trademark CRM apps. It was the equivalent of Macros in Excel from Microsoft for line-of-business managers. That’s changed and in recent years Salesforce has decided it is time to reach out to code heads.
Amazon is now the one to emulate and hosting of apps is a potentially tasty prospect. Amazon doesn’t break out AWS revenues, instead the online etailer categorises them under “other”. In the first nine months of 2011 Amazon posted $30.6bn in sales (up 44.2 per cent) while “other” accounted for $1.08bn – up 70.4 per cent.
In this new world Salesforce cannot remain wedded to just Apex or Force. In fact there’s one language and platform Salesforce must embrace: Java. Heroku might have found fame and footing thanks to hipster coders sipping their lattes from behind thick-rimmed specs in San Francisco’s Dog Patch, but its Java where the money lives – on the server farms and in data centres of the world. And thanks to the sheer volume of Java apps already running on servers in the enterprise, the number of Java coders on the planet present a standing army that Salesforce is aching to tap.
This isn’t Salesforce’s first stab at enterprise Java. Several years back, it teamed up with VMware on VMforce. But this was pre-Heroku. Post-Heroku, VMforce seems unnecessary and inappropriate given Salesforce’s chief executive Marc Benioff’s schtick of railing against the "evils" of the kinds of private clouds built using VMware.
The VMware factor
I put this to Sebastian, and he says neatly that the work on VMforce has “concluded”, with Database.com SDK for Java and Spring in August last year.
The problem is that VMware itself has never had a terribly strong developer story – hence VMware’s own purchase of Spring and Zimbra. Also, we have to question the success of Database.com, the ACID-compliant relational database as a service launched in December 2010. Salesforce won’t release the size of its database-as-a-service but says simply there were 45 billion transactions in the latest quarter – a figure devoid of both context and meaning. At the other end of the scale, there’s Amazon’s AWS with 370,000 transactions per second on 566 billion objects.
Salesforce’s focus on Java also comes at what can only be described as a growing renaissance for the language and platform.
The Oracle-led roadmap is to make Java more cloud-friendly and better suited to big data, multi-language interoperability and mobile. I kick-started deliveries with Java 7 in 2011 and has committed to deliveries every two years – Java had stalled with Java 6 in 2006 under Sun, prompting talk of stagnation and comparisons with Cobol.
The outlook for Java is brighter under Oracle than it was under Sun Microsystems, with Java daddy James Gosling giving Larry Ellison’s database giant a nod of approval. High-performance Java Virtual Machine (JVM) Azul Systems, which once butted heads with deceased Java steward Sun, is also on board. Those days are long gone and Azul is firmly back in from the cold, and has even been elected to the Java Community Process executive committee overseeing Java Standard Edition and Enterprise Edition.
“We’ve been very, very pleased with how Oracle is re-invigorating the Java roadmap and overall awareness of Java in the community," Azul’s chief executive Scott Sellers told The Reg.
“In the later days of Sun there were serious questionmarks about where Java was headed. Sun had lost its innovation and vision on where to take Java. What we’ve seen from Oracle is they have stepped up and assumed the leadership of Java. It needed a big company to step up and take the reins.
“A couple of years ago we heard a lot more concern over the long term about whether Java is still the right language for us as an enterprise to use. We don’t hear that much anymore,” Sellers said.
Oracle has some grand plans for the language with Object Orientation in Java 10 in 2017. But is it too much? “I don’t think so at all,” Sellers says. “Developers are an aggressive tribe in general, and features in Java 10 don’t break anything so it’s not forcing developers to use these new capabilities.”
As far as Sebastian is concerned, Java is already in the cloud. He’s bullish about the JVM as the place where languages converge on Heroku. The JVM is becoming a runtime platform for other languages, languages like Scala – that is supported on Heroku.
“The JVM has been hardened over many, many years: Scala and closure run on the JVM... We’re bullish on Java and it will only continue to get better. There’s an opportunity to rethink what your Java platform is and how you deploy your Java apps to the cloud,” Sebastian says.
Sebastian talks like a newcomer but he’s a coder's coder from the old skool; long before he joined Heroku, Sebastian worked in world where the beset way to put Java apps on the web was buying or downloading a free app server. In his past, he worked at WebLogic shop BEA Systems as vice president and general manager of the Workshop development environment.
Cloud means you no longer need to worry about something like app server, he says. “We... think cloud computing abstracts away the server - automate, configure, reboot, patching, versioning - that’s completely automated in the Salesforce platform.
“We have been pushing the notion of containerless development and deployment of Java apps – it’s a new way of thinking to people who think you can fork lift the entire J2EE stack to the cloud. We spent lot of time thinking about the power of the cloud.”
According to Sebastian, Heroku – or rather Salesforce – can keep things simple for the coders coming to its platform. “We have a track record of boiling down the problem to the simplest possible constraints and requirements. We did that at Heroku with Ruby and web apps... We are saying now we can deliver that value to developers in the language of their choice.”
Heroku runs on Amazon, and part of its secret has been to shield coders from that raw infrastructure nuts and bolts by making Amazon easier to use. Among other things, Heroku has dressed underlying Amazon with UI for deployment and management while also providing simplified pricing and packaging options.
Things aren’t that clear-cut for Salesforce's sales pitch: it has Heroku, VMforce and – to a lesser extent – Force.com, and Sebastian has to juggle these at events like Cloudstock. He must justify each platform and promote each without detracting from the other – especially not the one Salesforce has invested in the most – Force.com and Apex.
Here's how that pitch breaks down, according to Sebastian: Force.com is a “very high production environment for developers and business analysts who want to build data-intensive apps for data retrieval and workflow”. Heroku has “a lower level of abstraction for developers who want maximum power.”
Heroku has more for the developers whom Salesforce is targeting, but it must convince existing legions of Java devs that Salesforce really is a serious option, and no longer something just for the macro jockies. But it must also explain why it's a better option than Amazon and why even serious coders don't need to get their hands dirty in the guts of a system just to float their apps. ®