
Loading ...
So why are we defining all these terms here again when everyone else has already defined them here, here, here, here, here, here, here, here, here, etc? Heck, there’s even a definition for Web 3.0 and beyond. Wait, let’s not forget the authoritative definitions from Wikipedia on Cloud Computing, Software-as-a-Service and Platform-as-a-Service! Whew…are we there yet? Of all these different definitions, the one that made most sense is by Kent Langley over at ProductionScale.
So why are we defining these terms again here? The reason is that all these different postings and definitions is making the view a bit cloudy and I just really needed to get them straight in my head. At the same time, I want to be able to explain these concepts to my grandma. Ok, maybe not my grandma, but definitely my executive management team.
As I see it, the market today really has 3 different as-a-Service (aaS) offerings:
- Infrastructure-as-a-Service
- Platform-as-a-Service
- Software-as-a-Service
To illustrate these 3 different offerings, let’s take a look at the traditional deployment of a web application. Whenever a piece of software is to be deployed, we must acquire the server hardware from companies like HP, Dell or IBM. The server will likely come with built-in storage; or if additional storage is required, the server can connect to a NAS, SAN, CAS, or other types of storage. If we are deploying this web application for external use, we will likely need to acquire routers, switches, firewalls, VPNs, load balancers and other type of data center equipment in order to ensure uptime and security. We will then need to acquire some space and bandwidth in order to host the equipment and allow external users to access the web application. In the “Web 1.0″ days, companies such as Exodus (acquired by Savvis) and Rackspace were providers that offered such space and pipe for enterprise companies who want to have a web presence.
Once the server is available, an operating system such as Windows or Linux must be installed. Once that’s done, depending on the language of the web software, an application server stack must be installed. For example, LAMP for languages such as Perl, Python or PHP, Ruby on Rails for Ruby, Tomcat for Java, etc. In almost all cases, a piece of database software, such as MySQL or PostgreSQL, will be required.
Once the hardware and the application server stack are in place, the actual web application can then be installed or developed.
In these three steps, we have essentially installed and configured the “infrastructure,” the “platform,” and the “software.” The following image hopefully illustrates what we just described.

In the next few posts we will explore the definitions for each of the three services.