{"id":6163,"date":"2012-07-26T21:10:17","date_gmt":"2012-07-26T20:10:17","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/?p=6163"},"modified":"2012-07-26T21:10:17","modified_gmt":"2012-07-26T20:10:17","slug":"interview-salesforce-com-exec-parker-harris-on-the-technology-behind-the-platform","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/6163-interview-salesforce-com-exec-parker-harris-on-the-technology-behind-the-platform.html","title":{"rendered":"Interview: Salesforce.com exec Parker Harris on the technology behind the platform"},"content":{"rendered":"<p>A couple of months ago, I attended Cloudforce in London, where I spoke to <a href=\"http:\/\/www.salesforce.com\" target=\"_blank\">Salesforce.com<\/a> co-founder Parker Harris, Executive Vice President, Technology. <\/p>\n<p>The Salesforce.com platform is interesting for all sorts of reasons. The company has been a powerful advocate of cloud computing from before its adoption by other industry giants, and its service is as far as I can tell well liked by its customers. The technology is interesting as well. The CRM (Customer Relationship Management) application that is the core of the Salesforce.com offering is both a web application and a web service API, with more transactions conducted programmatically than through the browser. The Force.com platform is multi-tenanted, and the company believes that only this type of platform delivers the full benefits of cloud computing. In December 2010 the company <a href=\"http:\/\/news.heroku.com\/\" target=\"_blank\">acquired<\/a> Heroku, at the time a company dedicated to running Ruby applications in the cloud, though it now has a broader offering. Salesforce.com was also where I first heard the term \u201cSocial Enterprise\u201d, a phrase now taken up by others such as IBM and Microsoft; in fact, Social Enterprise was the dominant theme at Cloudforce.<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2012\/07\/image50.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2012\/07\/image_thumb50.png\" width=\"234\" height=\"244\" \/><\/a><\/p>\n<p>I asked Harris how the company copes with scaling its platform as demand grows.<\/p>\n<blockquote>\n<p>\u201cWe\u2019ve gone through a few changes. We came up years ago with a concept we call a \u2018pod\u2019, which is one set of multi-tenant customers. There\u2019s a database in there, there\u2019s application servers, search servers, all kinds of things. So that was a unit of scale. And we invested heavily in capacity planning, just to watch and see how those grow, and so we fill them up to a certain size and then we grow horizontally and add more.\u201d<\/p>\n<\/blockquote>\n<p>Harris adds that pods are organised in sets called super-pods, which provides isolation in the event of a failure.<\/p>\n<p>One of the goals is to make the system scale horizontally, whereas the Oracle database on which the platform is built tends to be a vertical unit of scale. &quot;<\/p>\n<blockquote>\n<p>\u201cWe\u2019re doing a lot of research work in looking at horizontal scalable systems like Hbase for example, to look at how can we do more horizontal stores. And then finally we\u2019re in the middle of a process of moving a lot of our processing to completely asynchronous handling, so that as transactions come in they\u2019re being handled in an asynchronous way. Even though the consumer feels like it\u2019s synchronous, the back end will be completely asynchronous, which will then give us even more control and capability to scale.\u201d<\/p>\n<\/blockquote>\n<p>In the past I have thought of the Force.com platform as in effect a big database. I asked Harris if that is still the case?<\/p>\n<blockquote>\n<p>\u201cWe have big databases, but I think of it more as a meta-data platform. Behind that meta-data we do have a big database, we also have a big file store, we have a big search engine, which is another unit. That\u2019s really what you know as Salesforce.com. And that\u2019s fully multi-tenant, it\u2019s way at the extreme end of multi-tenancy.<\/p>\n<p>\u201cHeroku is really virtualised single tenancy. So it\u2019s more towards an infrastructure as a service layer. For some workloads and some use cases that\u2019s fine. If you want the predictability of \u2018the software I wrote on my computer needs to run exactly the same here\u2019, that\u2019s where that takes place. But you don\u2019t have the higher-level capabilities of Force.com, you don\u2019t have everything working out of the box.<\/p>\n<p>\u201cWhere we\u2019re headed is, you\u2019ll have the 4GL of Force.com, you\u2019re going to have the 3GL of Heroku, and you\u2019ll be able to choose.\u201d<\/p>\n<\/blockquote>\n<p>At one time Salesforce has a partnership with VMWare called VMForce. What happened to that?<\/p>\n<blockquote>\n<p>\u201cWe don\u2019t have a technical partnership with VMWare, but we do have a close relationship with them. We want to have applications that work in VMWare\u2019s cloud able to move into Heroku or vice versa. Really what happened is, we started the relationship with VMWare and then we discovered Heroku. We were just blown away by the technology there and the team, and that was when we ended up acquiring Heroku, but we still see VMWare as a huge partner. We\u2019re a big customer of VMWare, they\u2019re a big customer of ours.\u201d<\/p>\n<\/blockquote>\n<p>You talked at Cloudforce about HTML mobile apps versus native apps, and you seem to be more on the HTML side?<\/p>\n<blockquote>\n<p>\u201cI was making the point of HTML versus native code. This is an argument that goes on inside of Salesforce, it is a religious debate, but I believe that you can build some extremely rich applications with native code, and you can build them very quickly. The complexity for me happens when you introduce business systems that are on an enterprise platform. If you think about our metadata engine, it\u2019s very powerful, and I can create triggers, I can change the UI, I can do all these magic things, and immediately it works. Change the UI into Japanese, it immediately works.<\/p>\n<p>\u201cIf I\u2019m building something 100% native, I have to replicate that platform in the native code, and that\u2019s for me a no-win situation, because this is going to keep moving, and the native code will be behind, it will be playing catch-up. So if it\u2019s for an enterprise business system on a platform like ours that\u2019s metadata driven, you really need to have that be directly from the cloud.<\/p>\n<p>\u201cIf you think about the Chatter feed or the business forms, that I believe needs to be HTML5. But I want to use the camera, I want to have files local to the device, that I can open, and various programs, I want location to work, and maybe I want to use the map application: so there are some native assets too. And then when you think of security, I don\u2019t want to have to go to a web page and enter my username and password, and maybe have to VPN in, I don\u2019t want to do that every time I use the application.<\/p>\n<p>\u201cSo instead what you do is have a native container that wraps all this HTML5 code, gives you access to things like the camera, but also is a way to store an Oauth token, it now has the right to access my data, and from then on I can just use the application. It\u2019s really high usability.<\/p>\n<p>\u201cI also think we still have a sometimes-disconnected world. That\u2019s frustrating. So I do think there should be a cache, a recent cache of what you\u2019re working on. That\u2019s my view of where we should be going with these disconnected use cases.<\/p>\n<p>\u201cSo that\u2019s where we\u2019re going, and we\u2019re open sourcing a lot of this. We have a native container and we\u2019re open sourcing it so people can see how we built it and add to it. We\u2019ve got a UI framework that we\u2019re going to be open sourcing. It\u2019s an HTML5 component framework. <a href=\"http:\/\/www.salesforce.com\/touch\/\" target=\"_blank\">Touch<\/a>, that we announced last year and is going beta now, Touch is built with that framework, and that\u2019s the framework that we will eventually open source so people can use it with their own applications.\u201d<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2012\/07\/image51.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2012\/07\/image_thumb51.png\" width=\"244\" height=\"121\" \/><\/a><\/p>\n<\/blockquote>\n<p>Do you use PhoneGap\/Cordova for the native wrapper?<\/p>\n<blockquote>\n<p>\u201cWe do. We do a lot on WebKit-enabled browsers, and when you think of the native container, it\u2019s really going through PhoneGap to get to some of the local resources.\u201d<\/p>\n<\/blockquote>\n<p>What about your SOAP and REST APIs?<\/p>\n<blockquote>\n<p>\u201cWe have backward compatibility for all of our APIs, because we don\u2019t want to force people to rewrite their code. We do see lots of use&#160; cases for SOAP, but more and more people are doing RESTful interfaces, and when their writing these mobile applications they really want REST APIs so we\u2019re building a lot more of our own.\u201d<\/p>\n<\/blockquote>\n<p>How has Heroku evolved since you made that acquisition?<\/p>\n<blockquote>\n<p>\u201cThere are a couple of huge events. One is, they were just a Ruby platform when we acquired them, and now they are a polyglot platform, so they can run many different languages. They\u2019ve also shown how they\u2019ve built support for these other languages, so other people are able to write support for other languages.<\/p>\n<p>\u201cThe other big change was when Facebook on their developer page said, if you want to build a Facebook page or application, here\u2019s how to do it, and if you want it hosted in the cloud, use Heroku. There may be others by now, but we saw a massive uptake in the number of applications being created. We\u2019ve seen a huge number of applications grow from when we acquired it to now and with a big spike through that Facebook relationship.<\/p>\n<p>\u201cWe have Heroku enterprise bundles that are available now. People are buying Heroku as part of a SELA, or a Social Enterprise License Agreement. <\/p>\n<p>\u201cDeveloper adoption is still very important. We want to monetise it, but we don\u2019t want to lose this huge asset of the appeal to the developer community. It\u2019s still early for Heroku.\u201d <\/p>\n<\/blockquote>\n<p>I also spoke to Harris about the Social Enterprise concept, but will post that separately.    <\/p>\n","protected":false},"excerpt":{"rendered":"<p>A couple of months ago, I attended Cloudforce in London, where I spoke to Salesforce.com co-founder Parker Harris, Executive Vice President, Technology. The Salesforce.com platform is interesting for all sorts of reasons. The company has been a powerful advocate of cloud computing from before its adoption by other industry giants, and its service is as &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/6163-interview-salesforce-com-exec-parker-harris-on-the-technology-behind-the-platform.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Interview: Salesforce.com exec Parker Harris on the technology behind the platform<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,26,71,80,96],"tags":[267,271,451,797],"class_list":["post-6163","post","type-post","status-publish","format-standard","hentry","category-cloud-computing","category-development","category-salesforcecom","category-software-development","category-web-authoring","tag-cloud-computing","tag-cloudforce","tag-heroku","tag-salesforce-com"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/6163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=6163"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/6163\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=6163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=6163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=6163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}