Cloud Service Models
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
Software as a Service
Software as a Service (SaaS) is the cloud service model with which most individuals are familiar, even if they do not consider themselves cloud-savvy. Google’s Gmail, for example, is one of the most widely known and commonly used SaaS platforms existing today.
SaaS, simply put, is the ability to use a software package on someone else’s infrastructure. Gmail differs from typical corporate email platforms like Microsoft Exchange in that the hardware and the software supporting the mail service do not live on corporate-owned, IT-managed servers—the infrastructure supporting Gmail belongs to Google. The ability to use email without implementing expensive hardware and complex software on-site offers great flexibility (and cost reductions) to even small- and medium-sized businesses.
Customer relationship management (CRM) SaaS packages such as Salesforce.com also have significant adoption rates in corporate environments for exactly the same reasons. The increased adoption rate of SaaS in corporate IT stems from SaaS platforms’ ability to provide all the benefits of a complex software package while mitigating (if not eliminating entirely) the challenges seen with legacy software environments.9
We look at a specific example in Chapter 3, “Sample Case Studies—Applied Metrics,” but consider the following: SaaS models enable customers to use vendors’ software without the CAPEX associated with the hardware required to run the platform, and without the OPEX associated with managing that hardware. Significant OPEX reductions are also related to the elimination of ongoing maintenance and support. For example, using a SaaS model, when a new release of the software is available, it can simply be pushed out “over the wire,” removing the need for complex upgrades, which normally would require hours of FTE time to test and implement.
Infrastructure as a Service
Infrastructure as a Service (IaaS) can almost be seen as the inverse of Software as a Service. With an IaaS model, the service provider delivers the necessary hardware resources (network, compute, storage) required to run a customer’s applications.
Service providers who have built their businesses on colocation services are typically inclined to offer IaaS cloud service models. Colocation service providers (such as Terremark’s NAP of the Americas, Switch and Data, and Level 3, as well as many others) have significant investments in networking infrastructure designed to provide high-bandwidth connectivity for services such as video, voice, and peering.10
IaaS service models allow customers to take advantage of these massively scalable networks and data centers at a fraction of the cost associated with building and managing their own infrastructures.
Platform as a Service
Finally, Platform as a Service (PaaS) is best described as a development environment hosted on third-party infrastructure to facilitate rapid design, testing, and deployment of new applications. PaaS environments are often used as application “sandboxes,” where developers are free to create (and in a sense improvise) in an environment where the cost of consuming resources is greatly reduced.
Google App Engine, VMware’s SpringSource, and Amazon’s Amazon Web Services (AWS) are common examples of PaaS offerings. PaaS service models offer customers the ability to quickly build, test, and release software products—with often complex requirements for add-on services—using infrastructure that is purpose-built for application development. Adopting PaaS service models thereby eliminates the need for costly infrastructure buildup and teardown typically seen in most corporate development environments.
Given the increased demand for new smartphone applications, it should come as no surprise that of the three cloud computing service models, PaaS currently has the highest growth rate.11