Category Archives: salesforce.com

Salesforce.com acquires Heroku, wants your Enterprise apps

The big news today is that Salesforce.com has agreed to acquire Heroku, a company which hosts Ruby applications using an architecture that enables seamless scalability. Heroku apps run on “dynos”, each of which is a single process running Ruby code on the Heroku “grid” – an abstraction which runs on instances of Amazon EC2 virtual machines. To scale your app, you simply add more dynos.

image

Why is Salesforce.com acquiring Heroku? Well, for some years an interesting question about Salesforce.com has been how it can escape its cloud CRM niche. The obvious approach is to add further applications, which it has done to some extent with FinancialForce, but it seems the strategy now is to become a platform for custom business applications. We already knew about VMForce, a partnership with VMWare currently in beta that lets you host Java applications that are integrated with Force.com, but it is with the announcements here at Dreamforce that the pieces are falling into place. Database.com for data access and storage; now Heroku for Ruby applications.

These services join several others which Salesforce.com is branding at Force.com 2:

Appforce – in effect the old Force.com, build departmental apps with visual tools and declarative code.

Siteforce – again an existing capability, build web sites on Force.com.

ISVForce – build your own multi-tenant application and sign up customers.

Salesforce.com is thoroughly corporate in its approach and its obvious competition is not so much Google AppEngine or Amazon EC2, but Microsoft Azure: too expensive for casual developers, but with strong Enterprise features.

Identity management is key to this battle. Microsoft’s identity system is Active Directory, with federation between local and cloud directories enabling single sign-on. Salesforce.com has its own user directory and developing on its platform will push you towards using it.

Today’s announcement makes sense of something that puzzled me: why we got a session on node.js at Monday’s Cloudstock event. It was a great session and I wrote it up here. Heroku has been experimenting with node.js support, with considerable success, and says it will introduce a new version next year.

Finally, the Heroku acquisition is great news for Enterprise use of Ruby. Today many potential new developers will be looking at it with interest.

Database.com extends the salesforce.com platform

At Dreamforce today Salesforce.com announced its latest platform venture: Database.com. Salesforce.com is built on an Oracle database with various custom optimizations; and database.com now exposes this as a generic cloud database which can be accessed from a variety of languages – Java, .NET, Ruby and PHP – and accessed from applications running on almost any platform: VMForce, Smartphones, Amazon EC2, Google App Engine, Microsoft Azure, Microsoft Excel, Adobe Flash/Flex and others. One way to use it would via JPA (Java Persistence API) in an VMForce Java application.

The Database.com console is a web application that has a console giving access to your databases and showing useful statistics and system information.

image

You can also create new databases, specifying the schema and relationships.

image

The details presented in the keynote today were sketchy – we saw applications that honestly could have been built just as easily with MySQL – but there is more information in the FAQ. The Database.com API is through SOAP or REST web services, not SQL. Third parties can create drivers so you can you use it with SQL APIs such as ODBC or JDBC. There is row level security, and built-in full text search.

According to the FAQ, Database.com “includes a native trigger and stored procedure language”.

Pricing starts from free – for up to 100,000 records, 50,000 transactions and 3 users per month. After than it is $10.00 per month per additional 100,000 records, $10.00 per month per additional 150,000 transactions, and $10.00 per user if you need the built-in authentication and security system – which as you would expect is based on the native force.com identity system.

As far as I can tell one of the goals of Database.com – and also the forthcoming chatter.com free public collaboration service – is to draw users towards the force.com platform.

Roger Jennings has analysed the pricing and reckons that Database.com is much more expensive than Microsoft’s SQL Azure – for 500 users and a 50GB database $15,000 per month for Database.com vs a little over $500 for the same thing on SQL Azure, though the two are difficult to compare directly and he has had to make a number of assumptions. Responding to a question at the press and analyst Q&A today, Benioff seemed to accept that the pricing is relatively high, but justified in his view by the range of services on offer. Of course the pricing could change if it proves uncompetitive.

Unlike SQL Azure, Database.com starts from free, which is a great attraction for developers interested in giving it a try. Trying out Azure is risky because if you leave a service running inadvertently you may run up a big bill.

In practice SQL Azure is likely to be more attractive than Database.com for its core market, existing Microsoft-platform developers. Microsoft experimented with a web services API for SQL Server Data Services in Azure, but ended up offering full SQL, enabling developers to continue working in familiar ways.

Equally, Force.com developers will like Database.com and its integration with the force.com platform.

Some of what Database.com can do is already available through force.com and I am not sure how the pricing looks for organizations that are already big salesforce.com users; I hope to find out more soon.

What is interesting here is the way salesforce.com is making its platform more generic. There will be more force.com announcements tomorrow and I expect to to see further efforts to broaden the platform then.

Update – I had a chat with Database.com General Manager Igor Tsyganskiy. He says Microsoft’s SQL Azure is the closest competitor to Database.com but argues that because Salesforce.com is extending its platform in an organic way it will do a better job than Microsoft which has built a cloud platform from scratch. We did not address the pricing comparison directly, but Tsyganskiy says that existing Force.com customers always have the option to “talk to their Account Executive” so there could be flexibility.

Since Database.com is in one sense the same as Force.com, the API is similar. The underlying query language is SOQL – the Salesforce Object Query Language which is based on SQL SELECT though with limitations. The language for stored procedures and triggers is Apex. SQL drivers from Progress Software are intended to address the demand for SQL access.

I mentioned that Microsoft came under pressure to replace its web services API for SQL Server Data Services with full SQL – might Database.com face similar pressure? We’ll see, said Tsyganskiy. The case is not entirely parallel. SQL Server is a cloud implementation of an existing SQL database with which developers are familiar. Database.com on the other hand abstracts the underlying data store – although Salesforce.com is an Oracle customer, Tsyganskiy said that the platform stores data in a variety of ways so should not be thought of as a wrapper for an Oracle database server.

Although Database.com is designed to be used from anywhere, I’d guess that Java running on VMForce with JPA, and following today’s announcement Heroku apps also hosted by Salesforce.com, will be the most common scenarios for complex applications.

One day of hacks, REST and cloud: Salesforce.com Cloudstock

I’m in San Francisco for the annual Salesforce.com conference, where the pre-conference day is called Cloudstock and features a bunch of sessions on cloud development from vendors whom Salesforce.com considers more partners than competitors, and from Salesforce.com itself, along with a hackathon competition where you build an instant cloud app.

Why Cloudstock? The parallels with Woodstock’s peace love and music are obscure, but I think the idea is revolution of cloud vs revolution of free love, or something. Presumably nothing to do with mud, getting high or sneaking in without paying.

I’m guessing that the PR goal is to position Salesforce.com at the heart of cloud computing. Good PR, but there are many other ways to do cloud.

I’m in a session on Google App Engine and new Google platform technologies – an introductory talk by Christian Schalk. More on that in this separate post.

Salesforce.com is the wrong kind of cloud says Oracle’s Larry Ellison

Oracle CEO Larry Ellison took multiple jabs at Salesforce.com in the welcome keynote at OpenWorld yesterday.

He said it was old, not fault tolerant, not elastic, and built on a bad security model since all customers share the same application. “Elastic” in this context means able to scale on demand.

Ellison was introducing Oracle’s new cloud-in-a-box, the Exalogic Elastic Cloud. This features 30 servers and 360 cores packaged in a single cabinet. It is both a hardware and software product, using Oracle’s infiniband networking internally for fast communication and the Oracle VM for hosting virtual machines running either Oracle Linux or Solaris. Oracle is positioning Exalogic as the ideal machine for Java applications, especially if they use the Oracle WebLogic application server, and as a natural partner for the Exadata Database Machine.

Perhaps the most interesting aspect of Exalogic is that it uses the Amazon EC2 (Elastic Compute Cloud) API. This is also used by Eucalyptus, the open source cloud infrastructure adopted by Canonical for its Ubuntu Enterprise Cloud. With these major players adopting the Amazon API, you could almost call it as standard.

Ellison’s Exalogic cloud is a private cloud, of course, and although he described it as low maintenance it is nevertheless the customer’s responsibility to provide the site, the physical security and to take responsibility for keeping it up and running. Its elasticity is also open to question. It is elastic from the perspective of an application running on the system, presuming that there is spare capacity to run up some more VMs as needed. It is not elastic if you think of it as a single powerful server that will be eye-wateringly expensive; you pay for all of it even though you might not need all of it, and if your needs grow to exceed its capacity you have to buy another one – though Ellison claimed you could run the entire Facebook web layer on just a couple of Exalogics.

In terms of elasticity, there is actually an advantage in the Salesforce.com approach. If you share a single multi-tenanted application with others, then elasticity is measured by the ability of that application to scale on demand. Behind the scenes, new servers or virtual servers may come into play, but that is not something that need concern you. The Amazon approach is more hands-on, in that you have to work out how to spin up (or down) VMs as needed. In addition, running separate application instances for each customer means a larger burden of maintenance falling on the customer – which with a private cloud might mean an internal customer – rather than on the cloud provider.

In the end it is not a matter of right and wrong, more that the question of what is the best kind of cloud is multi-faceted. Do not believe all that you hear, whether the speaker is Oracle’s Ellison or Marc Benioff from Salesforce.com.

Incidentally, Salesforce.com runs on Oracle and Benioff is a former Oracle VP.

Postscript: as Dennis Howlett observes, the high capacity of Exalogic is actually a problem – he estimates that only 5% at most of Oracle’s customers could make use of such an expensive box. Oracle will address this by offering public cloud services, presumably sharing some of the same technology.

The Salesforce.com platform: what’s new, what’s coming

I’m attending the Cloudforce conference in London to catch up on what’s new with the Salesforce.com platform. CEO Marc Benioff was on good form, with a fun slide in his keynote presentation saying “Beware of the false cloud” – this was a jab at private clouds which he considers lack the advantages of a multi-tenanted public cloud platform like, you know, Salesforce.com. He has some justification – operating your own cloud is clearly a significant IT burden to carry – but that is the price of freedom. His company continues to report impressive growth.  The theme this year is Salesforce.com Chatter, a Twitter-like service embedded into the platform, for which there are just-announced mobile clients (Apple iOS, Blackberry, Android coming) as well as integration with the web UI and programmable platform.

Chatter is reducing email usage for adopters, apparently; Benioff says by 40% in his own company. Another of its advantages (aside from general social media goodness) is that users cannot attach documents directly, but only links to documents – pass by reference not by value – which is a better approach to collaboration. Of course you can do this in emails as well, but people habitually do not. It makes you think – maybe the likes of Outlook should do this by default, saving no end of space in corporate mailboxes. Or perhaps we should just use Chatter instead.

But what about the developer angle, the Force.com platform that lets you build custom applications? I attended a session on the subject. There was a comment from partner Nimbus which caught my ear – the speaker said that they avoid writing custom Apex code wherever possible, and generally find ways to use the platform’s built-in features instead. His rationale: “You will have to live with that code for ever”. It is another angle on declarative programming, in which you declare your intentions and let some underlying engine transform them into actual code. The advantage is not only ease of development, but also that improvements in the engine can enhance the application without any need to rewrite code.

I asked what is new and what is coming in the Force.com platform. Chatter is one element; one of its key features is that applications can “chat” as well as individuals. Another theme is workflow tools, and integrating the technology acquired with Informavores, which is being rebuilt on the Salesforce.com platform as Visual Process Manager. In tune with the remarks from Nimbus, there is also an effort to reduce the need for Apex code and to offer guided steps that business users can apply without the need of a development specialist. Another focus is scalability – “people are starting to use the platform in ways that we didn’t think of” – which mean back end work to handle their demands. Finally, there is the joint development with VMWare called VMForce that lets you run Java with full access to the Force.com API.

Microsoft sues Salesforce.com for patent infringement – but why?

Microsoft has filed a patent infringement actionagainst Salesforce.com.

The Register has posted more details. The filing[pdf] lists nine counts of alleged infringement:

1. Method for mapping between logical data and physical data

2. System and method for providing and displaying a web page having an embedded menu

3. Method and system for stacking toolbars in a computer display

4. Automated web site creation using template driven generation of active server page applications

5. Aggregation of system settings into objects

6. Timing and velocity control for displaying graphical information (2 counts)

7. Method and system for identifying and obtaining computer software from a remote computer

8. System and method for controlling access to data entities in a computer network

I make no comment on the legal validity of these claims. On the broader issue though, Microsoft says this:

Microsoft has been a leader and innovator in the software industry for decades and continues to invest billions of dollars each year in bringing great software products and services to market. We have a responsibility to our customers, partners, and shareholders to safeguard that investment, and therefore cannot stand idly by when others infringe our IP rights

My observation is that I have seen Salesforce.com shake up the industry by making its multi-tenant online application and platform work for its customers. Although there are some parallels, the Salesforce.com platform is more radical than Microsoft Azure and has more potential to reduce costs, because it is based on a single shared application, rather than being a hosted platform for custom applications. The differences are not absolute, because the Force.com platform also supports custom applications, and Microsoft also offers multi-tenanted applications, but if you look at the core propositions the distinction is valid.

Again, I have no idea what the legal outcome will be, but from a public relations perspective this does not look good for Microsoft. It raises the question: is Microsoft litigating because it cannot succeed in the market?

Small companies and patent trolls sue large companies because they have little to lose, and potentially a lot to gain. Large companies show more restraint. I have always assumed that there are thousands of plausible patent infringements among the largest technology companies, and that the industry would descend into a kind of litigation meltdown if all of them were pursued, to nobody’s benefit other than lawyers.

The question then: why is Microsoft going after Salesforce.com now?

VMforce: Salesforce partners VMware to run Java in the cloud

Salesforce and VMware have announced VMforce, a new cloud platform for enterprise applications. You will be able to deploy Java applications to VMforce, where they will run on a virtual platform provided by VMware. There will be no direct JDBC database access on the platform itself, but it will support the Java persistence API, with objects stored on Force.com. Applications will have full access to the Salesforce CRM platform, including new collaboration features such as Chatter, as well as standard Java Enterprise Edition features provided by Tomcat and the Spring framework. Springsource is a division of VMware.

A developer preview will be available in the second half of 2010; no date is yet announced for the final release.

There are a couple of different ways to look at this announcement. From the perspective of a Force.com developer, it means that full Java is now available alongside the existing Apex language. That will make it easier to port code and use existing skills. From the perspective of a Java developer looking for a hosted deployment platform, it means another strong contender alongside others such as Amazon’s Elastic Compute Cloud (EC2).

The trade-off is that with Amazon EC2 you have pretty much full control over what you deploy on Amazon’s servers. VMforce is a more restricted platform; you will not be able to install what you like, but have to run on what is provided. The advantage is that more of the management burden is lifted; VMforce will even handle backup.

I could not get any information about pricing or even how the new platform will be charged. I suspect it will compete more on quality than on price. However I was told that smooth scalability is a key goal.

More information here.

Salesforce Chatter: Twitter-like status updates for the Enterprise

Today I attended Cloudforce in London: essentially the Salesforce.com Dreamforce conference on tour. The platform marches on: CEO Marc Benioff says the company is growing at 20% per year, and in general the customers I spoke too seem pleased with their choice. Benioff was as usual full of jabs at the “old stuff” – things like Siebel, Microsoft Office, anything that is not Cloud – but made so many jibes aimed at SharePoint that I began to think he has some respect for Microsoft’s document collaboration platform.

The major theme of the conference was Chatter, which is being rolled out to Salesforce.com users next year. Chatter takes key features from Twitter, including status updates and followers, and integrates them with the platform. There is also a Facebook-like profile page for all users. We saw several possible applications for the feature:

  • Keeping in touch with what colleagues are up to
  • Keeping in touch with progress on specific projects or opportunities, which can have their own status feeds
  • Using the Chatter mechanism as a commenting system, for example for collaborating on a draft document

There is a security mechanism, whereby alerts can be restricted to certain people or groups. You can also filter alerts to reduce noise.

We also saw a desktop client built with Adobe AIR, for monitoring status feeds in the same style as familiar Twitter clients.

While I don’t question the potential of Chatter, the current craze for Twitterising everything reminds me of the hype around RSS a few years back, which which it has many parallel. In the end it is another way to communicate, with better contextualisation than email and less vulnerability to spam.

Twitter itself has little chance of penetrating the Enterprise, when it is so easy to re-implement its essential features.

There was not much developer content here, sadly, though we did see a “30 minute Cloudforce application” in one of the sessions. It was all wizard-drive data form design, and strongly reminiscent of what we used to with the likes of Access and FileMaker, but all browser-hosted. One difference though is that the Salesforce platform has built-in workflow and approval. Another advantage is that you are in effect extending an application that already knows about your organisation’s users and contacts. The result is that working applications can be put together quickly, provided that they fit nicely with the platform model.

Salesforce.com partners with Adobe for Flash Builder for Force.com

Adobe and Salesforce.com have announced Flash Builder for Force.com, a special version of Flash Builder that lets you create Flex applications that interact with Force.com web services. The preview will be available for download today from developerforce.

I asked Dave Gruber from Adobe and Eric Stahl from salesforce.com what is really new here, since force.com has always exposed a SOAP web service API, and Flash Builder has the ability to import WSDL service descriptions in order to call them. In addition, a Force.com Toolkit for Adobe AIR and Flex has been available for some time.

Gruber explained that there is now a “custom interface to the Force API” that reduces the amount of code you have to write to wrap these services. In addition – and this may be more significant – some parts of LiveCycle Data Services have been integrated into the Force.com platform, including the data synchronisation piece. The illustration above shows an AIR application with a Sync tab, and this is the kind of online/offline application that should now be easier to build.

“We have a lot of customers asking us for that desktop connected, disconnected scenario. We want to give people a great set of tools for building those kind of apps,” says Stahl.

According to Gruber, Flex developers who want to take advantage of the new framework will have to purchase Flash Builder for Force.com even if they already have Adobe Flash Builder. “It’s a unique offering, this is not going to be built into the standard Flash Builder product”, he told me.

Salesforce.com has toolkits for many client platforms, but offering a custom IDE for Flex demonstrates a significant partnership. “Adobe is clearly the leader in rich internet applications, it’s a synergistic relationship,” says Stahl.

Web advertising goes outside: digital signage using force.com and Media RSS

In the last 10 years or so video advertising screens have replaced static posters in busy public places like the London Underground. This is known in the trade as digital signage or Digital Out of Home (DOOH) advertising; and I was interested to speak to a company at the recent Salesforce.com Service Cloud 2 launch which is running digital signage systems on the Salesforce force.com platform. The company is signagelive, run by http://www.remotemedia.co.uk/, and and its secret sauce is to use the internet and commodity technology to run 10,000 displays around the world cheaply and efficiently. As I understood it from my brief conversation, a force.com application provides customers with dashboard for managing their screens, usable from any web browser. Content is served to the screens over the Internet using Media RSS. This is well suited to the purpose since it is easy for customers to update, and fail-safe in that if the system fails or the connection breaks, screens just carry on displaying the last version of the feed which they retrieved. Since Media RSS is a standard, the content can also feed desktop applications; and of course it doesn’t have to be advertising though often it is.

A sinagelive display could be a low-powered network-connected device attached to a display; or a display alone with enough intelligence to retrieve a Media RSS feed and display its images; what you can do in the home with something like a estarling connected photo frame or a PhotoVu wireless digital picture frame but with bigger displays. The company is looking forward to displays which include on-chip Adobe Flash players since this will enable animation and video to be included with little extra cost. The media itself is currently stored on company servers, but is likely to move to Amazon S3 in future – which makes sense for scalability, pay as you go, and for taking advantage of Amazon’s global network, reducing latency.

If you want to see an example, apparently the London Dockland Light Railway screens are driven by signagelive; they are also in Harrods.

CEO Jason Cremlins has a blog post about the future of DOOH. My further thought is that if you had devices able to run Flash applications, you could put this together with touch screens and add interactivity to the mix.

The boundaries between internet and non-internet advertising are blurring. Ad networks such as those run by Google can be extended to networks using this kind of technology in a blink. Why shouldn’t advertisers be able to select airport lounges or underground stations alongside Adsense for websites?

The less compelling aspect of the technology is that as the costs of running these advertising networks come down, the likelihood of intrusive advertising screens invading every possible public space increases.

I also found this interesting as an innovative use of the Salesforce platform. As I recall, it hooks into other force.com applications to handle billing, customer record management and so on, and shows the potential for Salesforce to move beyond CRM. With the Adobe Flash aspect as well this example brings together a number of themes that I’ve been mulling over and I enjoyed hearing about it.