Wednesday, March 18, 2009

What Is Platform as a Service (PaaS)?

There are a number of companies offering Platform as a Service (PaaS), but little agreement about what PaaS is or how to compare various PaaS offerings from companies ranging from SalesForce to WaveMaker. Even the Wikipedia entry on PaaS starts with a stern warning that the entry is full of buzzwords and lacking in concrete examples.

Definition of PaaS

PaaS solutions are development platforms for which the development tool itself is hosted in the cloud and accessed through a browser. With PaaS, developers can build web applications without installing any tools on their computer and then deploy those applications without any specialized systems administration skills.

McKinsey & Company, in their 2008 report "Emerging Platform Wars," defined Platform as a service as "cloud based IDEs that not only incorporate traditional programming languages but include tools for mashup-based development."

What Makes PaaS Different?

The alternative to PaaS is to develop web applications using desktop development tools like Eclipse or Microsoft Access, then manually deploy those applications to a cloud hosting provider such as Amazon EC2.

PaaS platforms also have functional differences from traditional development platforms. These include:
  • Multi-tenant development tool: traditional development tools are single user - a cloud-based studio must support multiple users, each with multiple active projects.
  • Multi-tenant deployment architecture: scalability is often not a concern of the initial development effort and is left instead for the sys admins to deal with when the project deploys. In PaaS, scalability of the application and data tiers must be built-in (e.g., load balancing, failover need to be basic elements of the dev platform itself).
  • Integrated management: traditional development solution usually do not concern themselves with runtime monitoring , but in PaaS, the monitoring ability needs to be baked into the development platform.
  • Integrated billing: PaaS offerings require mechanisms for billing based on usage that are unique to the SaaS world.

Faux PaaS - 4 Ways To Tell If It's *Really* PaaS

At a minimum, a PaaS solution should include the following elements:
  1. Browser-based development studio - if you have to install something on your computer to develop applications, that's not PaaS!
  2. Seamless deployment to hosted runtime environment - ideally, a developer should be able to deploy a PaaS application with one click. If you have to talk to a person to get your app deployed, that's not PaaS!
  3. Management and monitoring tools - while cloud-based solutions are very cost effective, they can be tricky to manage and scale without good tools. If you have to bolt on DIY monitoring to scale your cloud app, that's not PaaS!
  4. Pay as you go billing - avoiding upfront costs has made PaaS popular. If you can't pay with your credit card based on usage, that's not PaaS!

Benefits of PaaS

The benefits of PaaS lie in greatly increasing the number of people who can develop, maintain and deploy web applications. In short, PaaS offers to democratize development of web applications much the same way that Microsoft Access democratized development of client/server applica

Today, building web applications requires expert developer with three, highly specialized skill sets:
  1. Back end server development (e.g., Java/J2EE)
  2. Front end client development (e.g., Javascript/Dojo)
  3. Web site administration.
PaaS offers the potential for general developers to build web applications without needing specialized expertise. This allows an entire generation of MS Access, Lotus Notes and PowerBuilder developers to start building web applications without the huge learning curve.

PaaS Resources


Examples of PaaS solutions today include:
  • AppEngine from Google: based on Python and Django
  • Force.com from SalesForce: based on the SalesForce SaaS infrastructure and Apex language
  • Bungee Connect: visual development studio based on Java
  • LongJump: based on Java/Eclipse
  • WaveMaker: visual development studio based on Java and hosted on Amazon EC2
Other definitions for Paas are offered by Bungee, Salesforce and ZDNet.

Monday, March 16, 2009

How to create an unbelievable amount of buzz

We were briefing a senior architect at one of our partners last week when he commented, "you know, for a company of your size, you generate an unbelievable amount of buzz." In the same week, we were flattered to have a competitor draft a lengthy blog post that listed all the reasons they were better than WaveMaker.

From the inside, it always feels like things are moving too slowly, but from the outside, clearly WaveMaker is, well, creating liquid oscillations.

Later on today, I am presenting to a group of Haas MBAs on the topics of innovation and entrepreneurship. So with my professorial hat on (and continuing my series on open source marketing metrics), here is my best guess at a stepwise approach to building buzz:
  1. Go open source to get into the game. It is amazing to me how many SaaS and cloud companies are still playing the old, proprietary enterprise software game. I believe that open source is the only viable technology channel today - without this, building buzz is almost impossible. Coghead was the latest victim of the proprietary software strategy, despite launching the first, easy-to-use cloud development platform. iPhone is a good counter-example, but Apple is a special case of a company that has always gotten away with murder because of their fanatic base of developers.
  2. Feed your community to build a fan base. Without an open source product, I would argue that it is almost impossible to create a self-sufficient community. Communities don't grow by themselves, though. It takes dedicated resources to nurture a community into a real advocate for your product.
  3. Blog your vision. Blogs provide a platform for entering into a dialogue (or at least a protracted monologue) about where the market is going. It creates a way to engage with the community and draw new people to the community. For the last 6 months, the Keeneview blog has always been the number 2 or 3 source of new downloads for WaveMaker.
  4. Twitter your tactics. Twitter provides an instant gratification approach to discussing the latest tactical nuances of your strategy. My Twitter account is where I make short, cryptic pronouncements for the benefit of all my ADHD friends.
  5. Carpet bomb your successes. Whenever anything good happens, I make sure the world knows about it. This includes not just spamming my own social media (Facebook, LinkedIn, dZone, delicious, stumbleupon) but also reaching out to all the other bloggers out there who are always looking for validation points around their own vision. For example, each time I make a blog post, I send emails to a dozen or so bloggers who I think will be most interested in it, thereby getting a multiplier effect.
  6. Brief analysts to confirm your victories. Analysts like Judith Hurwitz, Michael Cote at Redmonk, Mark Driver at Gartner and John Rymer at Forrester are critical for getting the word out, but I see their role as fast followers, not leaders of market momentum. Once you have enough proof points among bleeding edge adopters, the analysts can connect the dots for more mainstream adoption, not to mention perform major messaging tune-ups!
I'm not guaranteeing these techniques will work for everyone, but they should help get you on your way to "unbelievable" buzz!

Wednesday, March 04, 2009

How To Lose The Codies

The open source world has been very, very good to WaveMaker. We have a thriving online community, and through our community we have attracted customers like Cisco and Macy's, along with partners like IBM and KANA.

The open source world thrives on transparency and trust - a potent combination.

Yet every so often we get tempted to go back to the bad old proprietary world where decisions are made based on opacity and who you know.

With jaw-dropping naivete, I paid $1,100 to an organization called the Software Information Industry Association (www.siia.com) in order to participate in their Codies awards contest.

I was snowed by the idea that the SIIA's crack panel of judges performs thorough evaluations on scores of software products to glean "the best of the best." Unfortunately, the reality was much more mundane.

I don't know what process the winners go through, but I have detailed knowledge of the process for Codie losers. To help you save over $1,000 ($850 membership + $250 contest fee), I will share this process with you:

Process For Losing the Codie Awards [Guaranteed to Work]
  1. Pay $1,100 (very important!)
  2. Get assigned a judge (up to you to set up a meeting!)
  3. Set up a meeting
  4. Reschedule meeting when judge fails to show up for meeting
  5. Repeat steps 3-5 until contest is over
  6. Receive written evaluation from judge which demonstrates that they make up in chutzpah what they lack in integrity
In our case, the "judge" was Paul Cohen, who certainly didn't take off any time from his job at the Beverly Hills public schools on our behalf. His evaluation was that WaveMaker is a "very pricey set of web controls." It doesn't take great technical expertise to observe that this is an odd description of an open source, web-base IDE.

Ah, I thought. The Codie awards manager, Lisa Mitchell will help! After all, she helped arrange the meeting with the judge and knows that the promised meeting never happened. Not surprisingly, she has become as difficult to reach as our judget.

But then there is that ultimate arbiter of justice, the CEO of the SIIA, Ken Wasch. Surely when he sees how egregious our case is, he will at least agree to have another judge at least look at our product. After an initial friendly call, I have heard nothing from him either.

The process for losing the Codies is very transparent. The process for winning is less so.

It's a good thing that "who you know" awards are being replaced by the voice of the open source community. Shame on me for ever doubting it!