IaaS, PaaS, and SaaS in cloud computing refer to unique virtual environments, each suited to a different task or need.
Often referred to as the stack, because the concepts can each be built upon to create the next level, each provides a different level of service.
Infrastructure-as-a-service (IaaS) is the most basic level of cloud options. It simply refers to a virtual environment that’s a blank slate. In these cases, the hardware is “sold” or rented like a utility. Organizations can pay to store a specific amount of data or to have a particular amount of space set aside.
Platform-as-a-service (PaaS) makes the building blocks necessary for application development available. The platforms are usually “rented” with the infrastructure as one and modules or blocks of code are readily available for developers to use to construct their own applications with.
Software-as-a-service is the most comprehensive cloud solution. In these cases the entire software package is already developed and is maintained by the vendor. Users can log into it from almost anywhere and use it at will, right out of the “box.”
Many IaaS, PaaS, and SaaS examples exist already, though they’re not always thought of in category-related terms.
No matter what type of application a person runs, there are nine basic aspects that come into play.
In a case where traditional software is used, whether via download or disc, the owner or user is responsible for maintaining all nine aspects. When the software is provided as a cloud-based service, the inverse is true. The vendor manages all nine aspects. The user only needs to have a compatible device to tap in. Infrastructure and platforms as a service sit somewhere in the middle. With platforms, the user must manage the applications and data, and with infrastructure, the user manages those things as well as runtime, middlware, and the operating system.
With any type of cloud service, the overall goals usually include cost savings, agility, efficiency, simplicity, and speed. Most companies can make use of cloud-based software, but it tends to be fairly generic and customizations are limited to what the vendor’s developers have in mind. For a greater level of customization, platforms can be used. The freest form is infrastructure, which is suitable for most any project. However, companies that make use of cloud infrastructure must also have highly-skilled developers on staff who understand how to configure the infrastructure to suit the needs of the organization.