The Way We Work
May 5, 2010 by Alex Hornbake

Platform as a Service (PaaS) allows businesses launching an application to be blind to the infrastructure their app is running on, and focus solely on the application they are launching. PaaS providers often include everything from a development and testing environment to hosting in an elastic cloud environment.

For small businesses, PaaS can offer huge cost savings through reduced development time. Imagine that Infrastucture as a Service (IaaS) is akin to electricity, and Software as a Service(SaaS) is similar to something that consumes that commodity-- let's say, a blender. PaaS falls somewhere in between the two. For the business that is building the blender, development time, resources  and the Platform itself can become their competitive advantage.

Cloud Computing

 

It's arguable that many IaaS providers offer aspects of PaaS, like the Rackspacecloud, Amazon EC2, or Terremark's VCloud offering, but the following is a rundown of a few PaaS solutions that provide "soup to nuts" capabilities -- from development to launch. Additionally, since vendor lock-in is one of the most prevalent concerns to businesses considering  cloud computing solutions, we'll divide the platforms on that basis. For more on the issue of portability inside the cloud, take a look at CIO.com's article on the issue.

Portable (Open) PaaS

The criteria for portable - or open - PaaS is not necessarily related to open source, it's merely the answer to the question: Can we develop a web app, and then move it to another Cloud or competitors' hosting solution with relative ease?

Cloud Foundry builds upon the open source Cloud Tools, and offers a simple development environment and deployment platform for Spring, Java, and Grails applications (you can get more details on it here). While Cloud Foundry is targeted towards developers planning to launch their application into Amazon's EC2 Cloud, its basis in Cloud Tools provides the flexibility to deploy in to any VMware Vsphere infrastructure.

Heroku offers Ruby developers the ability to push their applications to the Heroku platform using GIT-- an open source version control system. Once you push your code to the server, it compiles a read-only slug, and allocates resources as needed across the cloud. I consider this an open platform, because of the emerging Ruby-specific PaaS market, including Morph Labs, Engine Yard, and PoolParty. Read DigitalHobbit's more in-depth review of some of these Ruby-specific PaaS offerings.

JoyEnt's Reasonably Smart Platform is an open source, Javascript-based PaaS. (Weird, I know. It's server side!) While Joyent hopes you'll use their cloud hosting, you're free to run the Reasonably Smart Server on any server or cloud. The Smart Platform takes care of all the server provisioning, insuring scalability, and their IaaS offering charges you only for the computing cycles you use - unlike other clouds which charge as long as a server is "on." You can learn more about Joyent, and their acquisition of the Reasonably Smart Platform here at GigaOm.

Closed Platforms

The converse of the commentary above on "Open" systems applies here. It's arguable that one could port their app off of one of the following platforms, but the following are platforms that have significant barriers to migrating your app to a competitor.

Azure is Microsoft PaaS offering. Building on the current developer base of .NET and Visual Studio, Azure aims to build on existing technologies and skills. Microsoft calls it their cloud operating system, but I find it a bit easier to understand if you imagine developing in .NET and launching the application in to a Microsoft managed data center.   If you're still curious, Allbusiness has a good article on "Demystifying Azure".

Force.com, is the same platform that the very popular SaaS Salesforce runs on. Developers familiar with Java or C# will find it easy to get started. The Force Cloud seems well suited for businesses already reliant upon the SalesForce CRM, or who are looking to develop business applications that could easily integrate with it. However, word is that this fall VMForce, a partnership between VMWare and SalesForce, would allow Java Developers to deploy to the Force Cloud via the Spring IDE, giving it similar functionality to the open Cloud Foundry Platform.

Intuit's Platform Partner is Intuit's PaaS targeted at businesses building SaaS  that can take advantage of both an easy conduit to Quickbooks data, access to Intuit's IaaS, and the opportunity for direct marketing of their SaaS to Ituit's large customer base. In addition, Intuit and Microsoft have partnered to also allow Azure apps to be marketed to the Intuit Workplace App Center.  Read more on the partnership at Intuit's Blog.

This is by no means an exhaustive list, so please chime in if there are any platforms that your business has found useful, and let us know if you're "locked-in" to any particular IaaS, or PaaS.

Alex Hornbake

Freelance Tech Writer

Alex Hornbake is one of several freelance writers on the oDesk Blog team. He joined the oDesk marketplace in 2009, and brings more than a decade of technical expertise to his clients. Alex shares his point of view to help you make informed decisions for your personal and business technology choices.

  • http://www.razdog.com/Solutions.aspx?PanelViewName=SolutionsEnergy content management software

    Thanks for the auspicious writeup. It in reality used to be a enjoyment account it. Look complex to more delivered agreeable from you! However, how could we communicate?

  • Amol Gote

    As far as Azure is concerned it subscription based PaaS and not licensed based. Moreover as far end user is concerned he should be worried about his application, so if he is able to move the application from the cloud to its own data center, it should not be an issue. Azure is basically providing well known platforms for applications, so as long as same plat form is available in premise there should not be an issue for porting it to in premise. Also there is no significant difference from app development perspective for deploying application in premise or on the cloud at least in the Azure world.

    Regards
    Amol Gote (MSFT).

  • Alex

    Thanks for the correction Amol, its great to know that there is support for developers to work in so many languages, and IDE's.

    Interoperability is not the same as portability. How does this correspond to portability between clouds? Will I ever be able to license a copy of Azure technology and run it in my own data center?

  • Amol Gote

    Azure platform as a service does not mean that you tied down .NET platform only. Microsoft has considered interoperability while buiding the azure platform. It is an open platform and offers choice to use develop applications in multiple languages which includes .NET, PHP, Ruby, Python or Java. Apart for Visaul Studio IDE support it also has addins for eclipse as well.
    In addition interoperability with other platforms is made easier through community-based libraries like SDKs for Java, PHP, and Ruby.

    Amol Gote (MSFT)

  • Pingback: Guidelines for Configuration and Version Management | Construction Project Management Software

  • http://frontrunner.msdev.com/whyjoin/windowsazure.aspx GoAzure

    Learn more and get started on the Cloud for free at

    http://frontrunner.msdev.com/whyjoin/windowsazure.aspx

    When you join the Microsoft Front Runner program, you can access one-on-one technical support by phone or e-mail from our developer experts, who can help get your applications in the cloud. Once your application is compatible, you'll get a range of marketing benefits to help you let your customers know that you're a Front Runner.