I recently wrote a series of articles that will be published next month on the topic of cloud computing, and there was one thing that really stood out about the current state of cloud computing. A few years ago, cloud computing was mostly an abstract concept with varying definitions depending on who you asked. Things have changed though. It is evident that a large portion of the Information Technology and business sectors have gotten better at understanding cloud computing. However, when cloud computing is broken down into the three classifications of cloud computing, namely: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), most people find it very hard to understand the difference.

The most prevalent confusion seems to be with Platform as a Service. I’ve experienced IT professionals confusing Platform as a Service with Infrastructure as a Service so many times in the last few months that I lost track. The articles I wrote go into great detail on these classifications and their differences as a result of this, and I will post links to them here when they are published. In the meantime, I thought I would post a brief description of Platform as a Service and the players involved to assist in our continued understanding of cloud computing and it’s three major classifications.

Platform as a Service is like a middle-tier between infrastructure and software, consisting of what is known a “solution stack”. The solution stack is what sets companies apart who offter Platform as a Service. If you are a decision-maker for your company, this is something you will need to explore in greater depth before making a decision to jump on board the PaaS train. Let’s take a quick look at the top three contenders in the PaaS arena to give you an idea of the differences between them:

  • Force.com. Force.com pages use a standard MVC design, HTML, and other Web technologies such as CSS, Ajax, Adobe Flash® and Adobe Flex®.
  • Windows Azure™ platform. Microsoft’s cloud platform is built on the Microsoft .NET environment using the Windows Server® operating system and Microsoft SQL Server® as the database.
  • Google App Engine. Google’s platform uses the Java™ and Python languages and the Google App Engine datastore.

In conducting research for this article, I took the opportunity to spend some time with Google App Engine, Force.com, and Windows Azure. With App Engine, you have a Java run time environment in which you can build your application using standard Java technologies, including the Java Virtual Machine (JVM), Java servlets, and the Java programming language—or any other language using a JVM-based interpreter or compiler, such as JavaScript or Ruby. In addition, App Engine includes a dedicated Python run time environment, with a Python interpreter and the Python standard library. The Java and Python run time environments support multi-tenant computing so that applications run without interference from other applications on the system.

With Force.com, you can use standard client-side technologies in an MVC design pattern. For example, if you’re using HTML with Ajax, your JavaScript behaviors and Ajax calls will be separate from your styling, which is held in CSS, and the HTML will hold your page layout structure. With Windows Azure, you’re using the Microsoft .NET Framework with a SQL Server database.

Hopefully this was helpful in providing you with a means for comparing PaaS competitors and understanding what is available to you. If you did find it useful, you will definitely want to read the articles I mentioned earlier. Although I cannot disclose any further information about these articles right now, I promise to post links the moment each one is published.