Choosing Internet Platforms
Betting Your Company On An Internet Platform?
A very interesting topic, especially for those of us involved in developing for start-ups. At the CTO Group that I organize in Santa Monica, we've had lots of discussions around this. The basic conclusion was that it was a bit premature if you were talking about a serious, funded start-up. Especially when there are things like: Amazon S3 / EC2 / AWS outage this morning...
However, these platforms could be interesting for prototype and pilot solutions. They also are VERY interesting for background processing tasks that take compute resources or from a storage cloud standpoint.
The other conclusion was that you need to have a migration path from the platform.
We'll see where my opinion goes after hearing the presentations.
Wow, long introductions - 25 minutes - get to the speakers already. Finally we get to:
Peter Coffee, Director of Platform Research, Salesforce.com
His premise is that we should be beyond having to buy servers, software, or any other infrastructure. His picture of all of the different elements you have to deal with infrastructure (network, storage, os, db, etc.), application services (security, integration), etc. does make it seem like it's a lot of work. The promise of having all of that taken care of for you sounds great.
Mentions - Marc Andreessen's - The three kinds of platforms you meet on the Internet- A Level 1 platform's apps run elsewhere, and call into the platform via a web services API to draw on data and services -- this is how Flickr does it.
- A Level 2 platform's apps run elsewhere, but inject functionality into the platform via a plug-in API -- this is how Facebook does it. Most likely, a Level 2 platform's apps also call into the platform via a web services API to draw on data and services.
- A Level 3 platform's apps run inside the platform itself -- the platform provides the "runtime environment" within which the app's code runs.
Burden is still on the developers, you still have infrastructure.
Level 3 - Run-time environment
Significantly different than either of the first two where you no longer have infrastructure.
----
Must design your application differently to live on top of the platform. In fact, his point is that the application is really meta-data.
User Interface platform - VisualForce that allows the application to have a very different kind of interface.
It's funny. We've looked pretty deeply at Salesforce.com in a few applications. The promise is so great, but the reality is that if you aren't developing something that matches with the models they provide then it represents a challenge. The key ingredient when you provide abstraction layers is what that layer provides and:
- how well it matches with your needs
- how much work it takes to work around when it doesn't match
Interesting term used in a ZD Net article - Platform as a Service (PaaS)
Unfortunately, Peter sells the promise and ignores the reality.
Next up:
Joe Andrieu
CEO/Founder, SwitchBook
Chair, Project VRM Standards Committee
Key questions -
Will it accomplish what you need?
Will it survive as long as you need?
Availability, stability, support
His definition of open...
NEA
- No one owns it
- Everyone can use it
- Anyone can improve it
In his mind, the key ingredient is that the there needs to be multiple platform service providers. He sees this as similar to what happened with SMTP, POP, HTTP, etc.
Only guarantee for longevity is if you have options. This is certainly one of the big concerns I expressed above.
VRM - his company - goal is to provide a Level 4 platform.
Now up:
Craig Ogg
Co-Founder
Freshly Grated Software
former VP of R&D, Stamps.com
Have had to make choices about platforms many times. Difficult decision - driven by goals.
Some of his experiences:
Clipper - bet on OS2. Whoops. Went to a layer that insulated you from other platforms. Generally platforms that insulate you from several platforms don't work. Really? Not sure I buy that argument.
Start-up on top of pen computing - Go Corp - pen point. Died suddenly (within a 24 hour period).
Visual Basic add-ons. Controls - reverse engineered Quicken file format - sold to Microsoft for import into Microsoft Money.
PIM based on Java that would be up-to-date on all your devices. Server and client in Java. Java as a platform wasn't ready to deliver on client side.
Stamps.com - two back-ends - mainline service vs. marketing site.
Some other points -
LAMP, .Net, Java - doesn't make much difference. I would tend to agree.
Benefit of a proprietary platform can be finding customers. Ex. AppExchange on Salesforce.
When OpenSocial makes it into LinkedIn - many opportunities there. Completely agree. Don't know what these social apps will look like.
Ruby on Rails as a platform? Twitter - probably not the best choice given the structure of the application. Many other types of applications where Ruby makes complete sense.
Amazon EC2 - uses it for natural language processing. Would never put a user request to an EC2 instance.
Google App Engine - take more than two seconds to process we are going to kill your request. All about end-user requests. Not for batch processing. Must be willing to work the way Google expects.
Salesforce, Ning - get platform + API leverage - must go down a particular path
Marc Canter
CEO, Broadband Mechanics - makers of People Aggregator
Mentions standards that are emerging. From BBM's web site:
- media RSS - extensions to RSS subscription format to support time based media, enclosures, copyrights and other meta-data needed for media.
- FOAFnet, a subset of the FOAF rdf schema and a set of user interfaces guidelines, was an early attempt at interchanging digital identity profiles (including lists of friends) between Tribe.net and eCademy. The effort failed when we realized it required federated authentication.
- ThreadsML, a data fomrat for persistent conversations. Whether they originate in IM, message board trheads, mail lists or blog posts - conversations can be brought together, made re-enrant and be enhanced with media.
- OpenEvents and OpenReviews, were early attempts at standardizing schemas and shared servers for these forms of micro-content.
- The Identity Gang is an effort around the notion of a ‘user-centric’ metasystem
- ourmedia.org is an open media storage system (acting as a front-end to the Internet Archive.)
- StructuredBlogging.org is an initiative to create blogging tool plugins which support not only microformats, but other technologies that will provide a comprehensive set of standards for producing microcontent.
Mark Suster
Partner
GRP Partners
He's an ex-Salesforce.com employee. First company built on top of EMC, Unix servers, field sales to large clients. Compared cost there vs. second company that raised $500K and used S3 and other platforms. Interestingly it was same developers in both companies. In second venture - compared Salesforce.com vs. S3 - as platform. What kind of company do you represent?
Aspire to build a small business - okay to bet on a company like salesforce. If you are building a VC backed company with large growth, too much risk to bank on salesforce. Salesforce is good for distribution - can access their user base. Facebook is the same - okay for lifestyle business, but could be distribution platform. Building on top of Amazon or Google - cost base is so much lower.
Who is the client base - do you bet on these?
Pretty much lines up with where I'm at.
NEA and Level 4 vs. Force.com -
Answer is it depends.
Wow, after all of this (sometimes heated) discussion.
Large number of Players in Cloud Computing. A couple of the more interesting ones: