In our blog series, cloud computing, we have discussed about basics of cloud computing and top ten reasons why field workforce should be on cloud. In this blog, we shall discuss about various types of cloud service models.
In cloud computing, there is a spectrum of offering types. There are five commonly used categories.
- Platform-as-a- Service : This is the provisioning of hardware and OS, frameworks and database, for which developers write custom applications. There will be restrictions on the type of software they can write, offset by built-in application scalability.
- Software-as-a-service : This is the provisioning of hardware, OS and special-purpose software made available through the Internet.
- Infrastructure –as-a-service : Provisioning of hardware or virtual computers where the organization has control over the OS, thereby allowing the execution of arbitrary software.
- Storage-as-a-service : Provisioning of database-like services, billed on a utility computing basis, for example, per gigabyte per month.
- Desktop-as-a-service : This is the provisioning of the desktop environment either within a browser or as a terminal server.
The distinction between the five categories of cloud offering is not necessarily clear-cut. In particular, the transition from IaaS to PaaS is a very gradual one. Out of the above services, IaaS, PaaS and SaaS are most frequently used services.
Platform-as-a-Service (PaaS): Instead of just offering applications over the Web in the form of Software-as-a-Serivce (SaaS), PaaS public cloud players are actually offering an entire Platform-as-a-Service (PaaS). In this model, it is the operational capability of the platform hosting that is of primary value here ( and that is how such platforms are typically billed). This has far-reaching implications to both the business models of PaaS vendors as well as their customers. Cloud capabilities can improve the productivity of your development a test teams to roll out new applications and SOA services faster and reduce application backlog. PaaS saves costs by reducing upfront software licensing and infrastructure costs, and by reducing ongoing operational costs for development, testing, and hosting environments.
PaaS significantly improves development productivity by removing the challenges of integration with services such as database, middleware, web frameworks, security, and virtualization. Software development and delivery times are shortened since software development and testing are performed on a single PaaS platform. There is no need to maintain separate development and test environments. PaaS fosters collaboration among developers and also simplifies software project management. This is especially beneficial to enterprises that have outsourced their software development.
Software-as-a-Service (SaaS): SaaS saves costs by removing the effort of development, maintenance, and delivery of software; eliminating up-front software licensing and infrastructure costs; and reducing ongoing operational costs for support, maintenance, and administration.
The time to build and deploy a new service is much shorter than for traditional software development. By transferring the management and software support to a vendor, internal IT staff can focus more on higher-value activities. Applications that require extensive customization are not good candidates for SaaS. Typically, this includes most complex core business applications that will not be the best suit for SaaS. There are also issues involved in moving to SaaS.
There are also issues involved in moving to SaaS. Moving applications to the Internet cloud might require upgrades to the local network infrastructure to handle an increase in network bandwidth usage.
Infrastructure-as-a-Service (IaaS): IaaS saves costs by eliminating the need to over-provision computing resources to be able to handle peaks in demand. Resources dynamically scale up and down as required, reducing capital expenditure on infrastructure and ongoing operational costs for support, maintenance, and administration.
The time required to provision new infrastructure resources is reduced from typically months to just minutes- the time required to add the requirements to an online shopping cart, submit it, and have it approved. IaaS platforms are generally open platforms, supporting a wide range of operating systems and frameworks. This minimizes the vendor lock-in.
SaaS is considered to be considerably more mature as a cloud offering than PaaS or IaaS. Even then, it is mainly Small & Medium Businesses that have adopted cloud services. Adoption by the larger enterprises is still extremely low. A perception of cloud services as a high-risk technology option has led the large organizations to restrict the use of cloud services to a limited number of projects. PaaS is a more sophisticated service platform, and is still an emerging product. It will need to stabilize and mature before developers can use it for extensive building of new SaaS applications.