When it comes to cloud Terminology, we have 3 types of services which need to be the base for any application development with the cloud. The application requirement should be fixed with these three services taken into consideration before developing any application keeping cloud in the mind for the deployment. The architecture itself will vary based on the deployment strategy, the 3 types of services are as follows.
- Infrastructure as a Service (IAAS)
- Platform as a Service (PAAS)
- Software as a Service (SAAS)
The classification of the cloud based on the services provided are considered working on the assumption that it meets certain requirements which we will see in each of the services.
Infrastructure as a Service:
Infrastructure as a Service (IAAS) normally referred to as a Hardware as a Service in the market provides the services with a combination of Hosting, Provisioning, Hardware requirements and some of the basic services required to run the application on the hosted environment. With IAAS we have much control over the Bandwidth and the network services that are required to take control of the application over the internet to have more scalable product. Each and every time there is an overwhelming of the application resources, with IAAS we can dynamically scale the application resources and use it whenever required to maintain the peak loads. We can make use of the IAAS as a meter service to pay as per the usage of the bandwidth and the services that are scaled as and when required by the application. This type of environment set up can be used specific to any organization normally by owning the entire setup and manage by the organization (Private Cloud) or we can either be used as a public or the hybrid cloud based on the organization requirements. This type of approach normally provides the advantage of renting the infrastructure without knowing the possible demand of the services and the resources in advance.
Platform as a Service:
Platform as a Service (PAAS) is just a delivering of a Computing platform by a vendor to the end users where we can build our application and deploy to the environment without knowing much on the underlying hardware and the software. PAAS provides the users with the environment without taking cost, complexity and managing of the deployment environment. With PAAS we have options to make use of the Application design, deployment, testing, and hosting the application along with the services required to scale and maintain the application which comes as a suite over the web. This service is simply we are renting a service provided by a vendor.
Software as a Service:
Software as a Service (SAAS) is providing the software to the end user over the internet without deploying any application executable on the local machine. SAAS is the Software delivery model targeting the end user to use the software and the relating data that are hosted centrally on an environment which is accessible across the globe using a thin client. SAAS is related to the Application service provider concept where hosting providers host the commercially used software and the end users over the web. SAAS is the faster and the most convenient to get the application implemented without any hardware, implementation or acquisition cost involved to run the application over the web, the complete responsibility will be taken over by the SAAS vendor to manage and run the application with most security and performance. With SAAS we have immediate access to the upgrades and the new features and functionalities without much delay where traditional software upgrades takes time to reach the end user to play around.
Figure 1 – Cloud Computing Terminology
So in simple terms we can have differentiate the three services in order to select the best based on the business needs. Microsoft Windows Azure suits in the PAAS, we will see in depth on the Windows Azure components in our upcoming sections.
Figure 2 – Cloud Types in Simple Words