8 Comments

Summary:

At Google’s I/O event last month, the company announced new features and a new pricing model for its App Engine PaaS offering, and now the web giant thinks it’s prepared to compete with companies like Red Hat and Salesforce.com in bringing enterprise users to its platform.

appengine-2yrs

Google has killed its App Engine for Business offering, the enterprise-friendly version of its Platform as a Service that included a partnership with VMware around the Spring Java framework. Part of a bevy of changes to App Engine announced at last month’s Google I/O conference, the news went largely unnoticed in the shadow of major pricing adjustments. But the missteps with App Engine for Business are indicative of the types of challenges Google faces as it attempts to ready its PaaS service to compete with companies like Red Hat and Salesforce.com in luring enterprise developers.

No more App Engine for Business

I spoke with Gregory D’alesandre, senior product manager for Google App Engine, who explained to me Google’s new approach to selling PaaS to businesses. In retrospect, he said, Google might have announced App Engine for Business too early — more than a year ago — before it had a chance to gauge reaction to some of its more-limiting features. The company’s “trusted testers,” it turns out, liked many of the features, but they didn’t like the idea of a separate offering or the fact that App Engine for Business locked down API access from outside the owner’s domain.

So, D’alesandre explained, many of App Engine for Business features have or will be rolled into App Engine proper, which Google actually will take out of “preview” mode later this year and make an official part of its Google Enterprise portfolio. D’alesandre said that SQL support, SSL encryption and full-text search, all parts of the App Engine for Business offering, are top priorities not just for the App Engine team, but for Google overall, and should be ready once the product loses its “preview” status. SQL support, he added, is particularly important because of its appeal to enterprise developers, but it’s a complex process incorporating it into a platform that wasn’t designed with SQL in mind.

App Engine also still will support Spring for developing Java applications, D’alesandre said, and Google is actively working with VMware to figure out the next steps to advance their cloud computing partnership even beyond Spring. Other features of the new, improved App Engine will be a 99.95 percent SLA and additional support options. D’alesandre noted that expanded Python support and some new API improvements are in the works, too.

Too little, too late?

What’s not clear, however, is whether enterprise developers will buy into the new App Engine or whether its existing hundreds of thousands of developers will stick with the platform once the changes finally take effect. The latter group will have to adjust to higher prices than they were paying in the “preview” phase, and the former group — notoriously wary of vendor lock-in — will have to contend with Google’s very specific set of technologies and coding practices. As The Register‘s Cade Metz explained in a recent in-depth look at App Engine, the platform is very proprietary and requires sticking to a defined set of best practices.

D’alesandre isn’t convinced the concerns around limited language support and proprietary technologies are dealbreakers. The way he sees it, owning the App Engine stack from servers up through APIs means Google can easily troubleshoot and optimize will full knowledge of all the components. As for language support, he sees benefit in providing deep sets of features for the languages it does support — Python, Java and Google’s own Go. It’s difficult to argue with his stance regarding languages considering that PaaS is notorious for being single-language-only and only has begun to break those chains recently in the forms of VMware’s Cloud Foundry, DotCloud and Red Hat’s OpenShift . Google actually was ahead of the game by adding Java support relatively early on.

However, even D’alesandre acknowledged that he’s impressed with some of the PaaS offerings that have hit the market lately. If anything, timing might be critical for Google, which will need to get the production-ready App Engine into the market before any of the myriad other PaaS offerings gather too much momentum. I thought App Engine for Business was a formidable competitor when announced, but time and new PaaS launches — including from Amazon Web Services — have dulled its edge.

Software inferiority?

There’s also the issue of Google “outdated” architecture, as so described in a recent blog post by ex-Googler Dhanji Prasanna. He opined that while Google’s data center infrastructure is second to none, its software stack is aging and has become a hindrance in terms of performance and development flexibility. D’alesandre declined to comment specifically on Prasanna’s criticisms, but called him a “good friend” and “absolutely brilliant engineer” who “was looking for something different” than Google’s development culture.

On his personal blog today, IBM’s Savio Rodrigues offered a down-to-earth take on the debate over Google’s software stack. While Prasanna cites Hadoop and MongoDB (among others) as being superior to their Google counterparts MapReduce and MegaStore — a position that very well might be accurate — Rodrigues notes that “[c]ombining individual best of breed software building blocks into a cloud platform as a service environment that offers the functionality of Google App Engine, requires enterprises to do a lot more work than simply using Google App Engine.”

Of course, he added, that Google’s strict adherence to its own code raises a big question: “how your enterprise needs will be prioritized against the needs of internal Google developers.”

We’ll discuss the potential potholes for PaaS at next week’s Structure 2011 event, many of which are exemplified by the questions surrounding Google App Engine. It’s still early enough in the game for Google’s strategy change to pay off, but it will require some serious effort to convince enterprise developers that Google’s approach to PaaS is worth buying into.

Image courtesy of Google.

  1. Marc Mercuri Sunday, June 19, 2011

    “PaaS is notorious for being single-language-only and only has begun to break those chains recently in the forms of VMware’s Cloud Foundry, DotCloud and Red Hat’s OpenShift .” Really? Have you not heard of Windows Azure? It’s a multi-language PaaS platform that has been around for years.

    Share
    1. I disagree!

      Share
  2. Let’s not forget that GAE does not offer enterprise users the *option* to run the stack on their own infrastructure and behind their firewall. This is a severely limiting capability for many applications that, for regulatory/safety/security/IP reasons cannot host externally and/or access via the public internet. VMWare has taken a different approach with CloudFoundry (and Microsoft is getting there with Azure), allowing on-premise private clouds.

    Beyond that, Google App Engine has historically been so absurdly limiting as to what can be created/deployed and what options are available for integrating with external content and services that for many application it is completely unusable.

    Time and time again, Google demonstrates that it clearly doesn’t understand the enterprise.

    Share
  3. This is a blessing in disguise for many business owners. However, Google should clearly define all the changes to be made and applied. If they can not and will not, the Amazon Web Services would be a viable alternative to the Google App Engine – and it has a more sophisticated and superior cloud service feature.

    With this current situation, I’m not sure if GAE can compete with what AWS can offer to most SMEs.

    Share
  4. My startup is on appengine (python) and we love it: super easy development and deployment, google carries the pagers for us and it’s easy to spin-up new engineers, both in-house and outsourced. As for pricing, we have a coin jar labeled “App Engine Monthly Budget”– nuff said.

    But GAE isn’t for everyone, which makes it a hard pitch for everyone. But, unlike other PaaS services, the provider (google) “eats it’s own dogfood” and is thoroughly addicted to App Engine– nightmares like Amazon’s outage just don’t happen.

    hope this helps,
    adam
    ex-google engineer, founder/CEO Buyer’s Best Friend

    Share
  5. Marc,

    .Net is not a multi-language PaaS, it is a IaaS offering and they do provide a .Net-PaaS. Sure, you can deploy your JVM, PHP, etc. to Azure, but you really do so on your own, this is the IaaS model. Give a try to GAE or CloudBees.com to see the difference it can make to a developer.

    GAE has been the first PaaS to really provide an infrastructure-abstraction, you can see it as a SaaS for developers, and not a mere middleware layer thrown on top of a set of servers – à la .Net – which is of pretty limited help to developers since they are still very much in charge of IT matters. So Google clearly led the “path” back in the days.

    Now, if you want to run a GA PaaS for Java, with SSL support, MySQL, auto-elasticity, Eclipse integration, Continuous Integration, etc. TODAY, you might want to try CloudBees.

    Cheers,

    Sacha Labourey
    CloudBees

    Share
  6. Marc Mercuri Monday, June 20, 2011

    Sacha,
    Regarding IT maintenance, I’m not sure what you’re referring to. I think there’s a disconnect on the definition of what Platform As A Service is and isn’t. http://en.wikipedia.org/wiki/Platform_as_a_service. You’ll find that you have a fully managed environment that’s automatically patched, monitored for issues with instances, elastic, etc.

    As Windows Azure provides roles that are Windows OS based, it means you can run what you like. Java, PHP, and Ruby run well inside of Azure.
    Here are some internal examples –
    Node.js + Ruby on Azure (http://blog.smarx.com/posts/node-js-ruby-and-python-in-windows-azure-my-mix-talk)

    Example of Cassandra running on Azure (http://sandra.cloudapp.net/)

    Example of CouchDB on Azure (http://things.smarx.com/#Run%20CouchDB)

    And lots of Java examples on Azure, this is one (http://blogs.msdn.com/b/windowsazure/archive/2011/06/14/cross-post-java-sample-application-for-windows-azure.aspx)

    And the blog engine most of these are hosted in is written in Sinatra on Ruby on Windows Azure.

    There are also Eclipse plug-ins and non-.NET SDKs for languages such as Java.

    Re: nightmares like Amazon, just because they haven’t happened it’s naive to think they won’t / can’t. People who designed resilient applications avoided many of the issues seen by those who didn’t. Cloud does not remove the need for good architecture design.

    Share
    1. Sacha Labourey Tuesday, June 21, 2011

      Marc,

      I disagree. The examples you show just make it obvious. You need to install and maintain your own node.js, ruby, etc. This is really a mere IaaS + custom packages here, when not using .net directly. MSFT is not going to maintain and live-update your node.js for you, etc.

      As an analogy this is Heroku vs. EC2.

      Sacha
      CloudBees, Inc.

      Share
  7. Can Google App Engine compete in the enterprise? http://t.co/vVnOHEvj

    Share

Comments have been disabled for this post