Exploring Platform as a Service (PAAS) … part 1 of n

There is lot of noise on PAAS options currently. There are strong arguments and disagreements and mud slinging.  I wanted to take a stab at understanding the basics first and then a way to compare these vendors. This is part 1 of the series. Comments Welcome.

Who are the contenders?

What follows is each contender and a marketing description taken from their webpage. Also highlighted the programming languages they support. While programming language is not the only thing that matters, it does give a glimpse into which group of developers the vendors are targeting.

(Side Note: Looking for short description of what the platform is reveals some insights – Google, Microsoft do a good job, SalesForce1 is pretty fluffy.  CF Hosted and OpenShift are decent once you get through the front page fluff ).

  • Google App Engine

Google App Engine lets you run web applications on Google’s infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it’s ready to serve your users.

Supports Python, Java, PHP ( Preview ), Go ( Experimental )

  •   Microsoft Azure

Windows Azure is Microsoft’s application platform for the public cloud. You can use this platform in many different ways. For instance, you can use Windows Azure to build a web application that runs and stores its data in Windows Azure data centers.

Supports ASP.NET, PHP, Node.js, Python and Classic ASP.

  • SalesForce1

With complete and open APIs, developers can build the next generation of apps today. Mobile-ready and more accessible, it’s the fastest way to connect anything to everything. And sell, service, and market on any device. Everywhere.

APEX, VisualForce and all that confusing jazz.

  • Redhat OpenShift Online

OpenShift Online is Red Hat’s public cloud application development and hosting platform that automates the provisioning, management and scaling of applications so that you can focus on writing the code for your business, startup, or next big idea.

Programming languages including Java, Ruby, PHP, Node.js, Python and Perl

  • Pivotal CF Hosted

Pivotal CF Hosted is a public instance of Cloud Foundry operated by Pivotal at run.pivotal.io .

It supports the JVM based languages Java, Scala, and Groovy, as well as Ruby and node.js. Supported frameworks include Spring and Play for Java, Lift for Scala, Grails for Groovy, and Rails and Sinatra for Ruby. It supports Postgres, RabbitMQ, MongoDB, MySQL and Redis through the Pivotal CF Marketplace.

  • SAP HANA

The industry’s only in-memory cloud platform. Built on SAP HANA with comprehensive application and database services, this full featured, open standards based platform enables the real time applications required to succeed in today’s always-on, mobile, social and data driven world.

I am guessing they are focused on ABAP and bit of Java. The website makes it nearly impossible to navigate.

  •  IBM

Limited. More like Hosted SAP and Oracle environments. Not going to include it for now, but it is shocking that self-proclaimed cloud leader does not yet have a PAAS strategy figured out.

  • Oracle

The Oracle Cloud Platform (also known as Platform as a Service or PaaS) provides a shared and elastically scalable platform for consolidation of existing applications and new application development and deployment.

Fusion middleware and Java focused.

  • AWS Elastic Beanstalk

AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with popular programming languages such as Java, .NET, PHP, Node.js, Python and Ruby. You simply upload your application and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling and application health monitoring.

  • EngineYard

At Engine Yard, PaaS combines a development platform, computing resources, deployment infrastructure and managed hosting services, so you can reduce the cost, time and complexity of application development.

Ruby on Rails, PhP and Node.js focused

  • CloudBees

The CloudBees Platform as a Service (PaaS) architecture provides a powerful foundation for cloud development and deployment services.

Java focused

  • CenturyLinkCloud ( Tier 3 )

Built on Cloud Foundry & Iron Foundry. Cloud Foundry Core compatible.

Supports .NET, Java, PHP, Ruby, Python, Node.js, and more.

Observations:

Observation 1: Success of PAAS is dependent on App Developer adoption. Applications are what will drive adoption of PAAS.

Observation 2: PAAS by itself will not create a new developer segment, but will tap into existing dev ecosystems.

Observation 3: Enterprise developers are a larger group than just Github users, so we need to look beyond the “hot” languages for predicting long term developer adoption of a PAAS.

Observation 4: Enterprise app developers will look to those PAAS options that are proven. App dev teams will also lean towards those PAAS solutions that support the languages they are already using and have expertise in. For ex, ASP.Net does matter, despite GitHub numbers.

Organization:

Based on these observations, we can organize various PAAS offerings into a quadrant.

The X axis is Enterprise Credibility.
The Y Axis is Dev Ecosystem.

Enterprise Credibility – the platform has been adopted by several enterprises already or the vendor has already built highly scalable apps thats are used by enterprises ( for ex: Azure, SalesForce1, EngineYard )

Dev Ecosystem – the PAAS fits naturally into a developer ecosystem ( for ex: Azure and ASP.Net, CF Hosted and Spring )

Next Steps:

I will rank each PAAS against the identified X and Y axis over next few weeks and build a quadrant.

Meanwhile, do you have suggestions or disagree with this approach?.

I do not believe at the end of this exercise, I  get a classification of PAAS contenders, but just one way to look at them (Hopefully helps separate noise from signal).

Let me know your thoughts either via twitter or in comments below.

8 thoughts on “Exploring Platform as a Service (PAAS) … part 1 of n

  1. You almost need a multi-access approach to the Y axis, e.g. I know Azure support multiple OS and languages, Engine Yard has introduced some Azure support and offers Ruby/PHP. Don’t know how you would model that, though.

    • Good point – however, Azure multi-OS is likely a checklist feature for objection handling in enterprises where they might have a rebel group using a different OS. May be significant, but for now, will ignore it to keep the model simple.

  2. Why have you not listed Apprenda? They are a solid PaaS provider who actually has some large customers in the Financial sector? I would think they are a bigger player than Engine Yard and OpenShift.

  3. I think by focusing on actual service providers here instead of the PaaS platform, you’re conflating the software/architectural capabilities with the underlying runtimes.

    Those really are two different things, and don’t necessarily reflect on each other (beyond the fact that many of the options only run on a single hosting provider).

    Options like Cloud Foundry, OpenShift and Apprenda all explicitly separate the platform from the underlying infrastructure and expect that there will be multiple hosting options all running the same platform software so that you can make independent decisions about what you want to run and where – which, to me, seems to be a much safer option.

    • Yes, if we are choosing a platform, then it is true.

      A platform as a service is what is eventually delivered as a service and that includes delivery from the service provider. PAAS needs to include SLAs and all that jazz associated with a service and this dimension is missing if we just look at the underlying components like CF or OpenShift.

      • Yes, in the public space (or even for the devs in the private space) operational aspects are extremely important, but they’re really a separate decision criteria from the development aspects.

        Or at least they should be in the ideal scenario. The problem becomes that you’ll be locking yourself in to both an architectural approach and a delivery approach with a single decision, which is a tough thing to stomach.

Leave a reply to cloudopinion Cancel reply