In the nomenclature for SaaS, IaaS and PaaS, you will find all have the last three letters as –aaS acronym. To make things clear, the acronym –aaS stands for as a service whereas the first letter of the word stands for the availability of the type of service through a cloud network. Thus IaaS, SaaS, and PaaS stand for Infrastructure as a service, Software as a service, and Platform as a service.
The SaaS makes applications or software available through the internet by eliminating the need for installation and running the program on individual devices. IaaS provides the users automated as well as scalable infrastructure having extreme flexibility and control. PaaS can provide a framework for developing as well as deploying computing platforms having an operating system, and programming language with database, execution environment and web server, etc.
What is cloud computing?
To explain in simply, cloud computing is the storing and accessing of programs and data over the internet without using the hard drive of your computer. Here the cloud is simply a metaphor representing the internet and not the real cloud that floats in the sky. Cloud computing can represent a scalable on-demand service that is provided over the internet. `
It is named as cloud computing because the information that is being accessed can be found remotely in the virtual space that is named as a cloud. Companies providing the cloud services enable the users to store applications and files o the remote servers. All data can further be accessed via the internet and it means that the users do not require to be present in any specific place to access the data and the users can easily work remotely.
Cloud computing can take can lift all the heavy jobs that are involved in processing the data and it can be done away from the device that you carry with you. All the work can be moved to huge clusters of computers that are kept far away in cyberspace. In cloud computing, the internet becomes the cloud and the data, work, and the applications can be made available from any device by connecting to the internet. Cloud computing can be either public or private and it can be a hybrid cloud also, and here you will get a fair idea about all three types of cloud computing.
Public cloud computing:
Public cloud is a classic cloud computing model that is offered by the third-party service providers over the pubic internet. Here the users can access a huge pool of computing power whether it is SaaS or PaaS or IaaS, and it is made available to anyone for using or for purchasing. The public cloud may be available free or it can be sold on-demand and it can allow the customers to pay as per the usage for the storage, CPU cycles, or the bandwidth consumed.
The significant benefit that the public cloud has is the ability to scale a service rapidly. The suppliers of cloud computing possess a vast amount of computing power that they share between a wide range of customers known as ‘multi-tenant architecture’. In public computing, enough spare capacity can meet the requirement of extra resources of the customers easily and it is for this reason used for requirements that are less sensitive and demand varying resources.
Private cloud computing:
Private cloud computing delivers a similar type of advantages like the public cloud and includes scalability as well as self-service but with a proprietary architecture. A private cloud is dedicated to serving the needs and goals of a specific organization, unlike the public cloud that offers its service to multiple organizations. In private cloud computing, there is no relinquishing of control of data and service and it can be perfectly suitable for the corporate.
The data and services in the private cloud are tucked away behind the firewall of the corporate and it allows the companies to have control of building the infrastructure in the way the company wants. Private cloud is meant largely for the PaaS and IaaS projects and it gives the developers access to a large pool of computing power that can scale on-demand without any security risk. However, the additional security if required will only be available at extra cost and it may be difficult for companies to create the same economies of scale-like Microsoft or Google, etc.
Hybrid cloud computing:
In the hybrid cloud, everyone may be a reality and in hybrid cloud computing, there can be some data in the public cloud, and some data in the private cloud. It is a mix of the private and the public cloud and has a level of orchestration between the two. A hybrid cloud can provide an organization with the flexibility of choosing the optimal cloud for each workload or application, and it allows moving the workloads between the two types of cloud freely.
It is the agility of the hybrid cloud that distinguishes it from other types of cloud computing solutions. It can satisfy the needs of a business to change its direction quickly that can be the requirement for success in digital business. An enterprise may need to combine private cloud, public cloud, or on-premise resources to have more agility and to increase its competitive advantage with the help of a hybrid cloud.
Forms of cloud service and virtualization:
There are various forms of cloud services having similar characteristics:
- On-demand service: This type of service is available any time you need it.
- Resource pooling: Here the resources are pooled across many customers.
- Broad Network Access: The service can be fully available through the internet.
- Measured service: The service will be priced as a utility and usage will be measured.
- Rapid elasticity: The service gets scaled as per the demand.
National Institute of Standards and Technology or NIST defines all these characteristics and helps to define what a cloud service is and what is not. It also helps the providers and the developers to create effective services to meet the expectation of the customers. The core technology that is at the base of the current cloud computing is virtualization.
Cloud computing service fully separates the provided service with the physical hardware layer and the need to purchase and to maintain the physical hardware is not there for the customer. Virtualization can allow the cloud providers to efficiently use the resources of own datacenters and can provide more computing powers as and when needed to the customers. Virtualization technology can deliver several services through cloud computing.
The cloud computing services can be split up into three main groups that are IaaS or Infrastructure as a service, PaaS or Platform as a service, SaaS or Software as a service. These groups comprise the well-known cloud computing stack and in traditional models, the application, infrastructure, and platform are built on top of each other. It provides a functional environment that helps the end-users to perform the tasks.
The layers in the cloud can allow the customers to select the quantity of the traditional process that they want to manage. In the case of IaaS, the customers can have the ownership of computing power with the operating system, application management, and middleware under their control. The physical software remains under the control of the provider to make provision for more computing resources.
In the case of the PaaS model, the provider provides the customers with a platform for computing at can typically include an operating system, execution environment, programming language, web server, database, etc. In the SaaS model, the provider manages everything that also includes applications and customers simply need to use the presented solution. The cloud provides an alternative to the conventional hosting with a parallel stack of the software-platform-infrastructure model.
The history of cloud computing:
The term cloud computing is around since 2000 and the concept of cloud computing as a service has been there for a much longer time, since 1960. Then, there was a ‘time-sharing’ concept on mainframe and it was overtaken by PC that started to become affordable to own. The companies started relying on corporate data centers where a vast amount of data could be stored.
However, the concept of renting for gaining access to the huge computing power resurfaced again. It occurred in the application service providers, grid computing, utility computing during the 1990s and the early 2000s. It was followed by the powerful cloud computing that took hold particularly with the emergence of Software as a Service or SaaS.
More than one-third of the spending on all IT matters worldwide has shifted to building the infrastructure for supporting cloud computing. As the computing workloads have continued to move to the cloud, the in-house IT activities have started sliding down. The shifting of the computing workload has been to either the public cloud service or to the private cloud service offered by the vendors or even built by the enterprises on their own.
The benefits of cloud computing:
The benefits of cloud computing may vary depending on the type of service chosen, but essentially, with the cloud computing services available, the companies do not have to maintain or buy own computing infrastructure. In cloud computing, the supplier will take care of the server, update the applications or OS, or dispose of the software and hardware when it is out of date. For the use of commodity applications like the email, it is always better to choose a cloud provider rather than relying on in-house skills.
The cloud providers specialize in running and for securing these services and have more experienced staff and better skills that often a small business can’t afford to have. Cloud services can be more effective to deliver efficient and secure service to the end-users. Companies can move faster towards completion of the projects and towards testing out the concepts without a big upfront cost and lengthy procurement scenario, as here the firms only pay for the services they consume.
The cloud advocates often cite the concept of business agility to be the key benefit of the cloud, as here it is easier to work with new services without spending time and efforts with the traditional IT procurement. It means that it becomes easy to go ahead with the new applications faster. It is also possible to scale up the new application faster with the elastic nature inbuilt in the cloud.
It is a wise financial move for a company having seasonal peaks to move to the cloud instead of having dedicated software and hardware that may remain to lie idle for a long time. When the service like the CRM or Email is moved to the cloud-hosted applications it can greatly remove the burden on the internal IT staff. Moving to the service model may mean moving the expenditure from Capex to Opex that may be very helpful for some companies.
Prospects of cloud computing:
Cloud computing may not be cheaper than other types of computing, and in case an application finds a predictable and regular requirement for computing service, then an in-house service may be more economical. Also, there can be cases when some companies may be reluctant to host certain sensitive data in such a service that is also used by rivals. When you move to a SaaS application, you may be using some common applications that your rivals use that may become a problem for your competitive advantage particularly when the application is core to your business.
Despite all such apprehensions, it is predicted by Garner that more than half of the global enterprises that have been using the cloud now are likely to adopt an all-in cloud strategy by 2021. Though there is a concern about security with the cloud service, the incidence of security breaches in cloud services is rare. The state of security in your existing system will determine how secure cloud computing will be.
As cloud computing is continuously evolving, it is time that it should move towards enterprise-wide implementation rather than experimentation. Cloud computing started to become mature in the second decade and for the last few years, it changed the capabilities and the expectations of the IT department. It has now become a necessary catalyst for innovative activities across the company.
As cloud computing has matured, there are now much fewer objections to it though there are still some myths and confusing terms are continuing to plaque space. In the second decade, cloud computing is becoming the vehicle for the digital business for the next generation and providing an agile, elastic and scalable solution. In more than 30% of the large-scale enterprises, it will require a justification for strategy without a cloud-only strategy by 2020.
At present, most security analysts think that cloud computing has become more secure than IT services on-premise. The cloud services are in most cases functionally complete and the cloud vendors offer the options for migration s also at present. Moreover, with the shifting of the innovations to the cloud at a rapid pace, many vendors are employing a cloud-first approach for the product design. Now there are some business innovations and some technology available as a cloud service only and examples of such innovative technologies are Artificial Intelligence and the Internet of Things.
There are many organizations preparing roadmaps that reflect the need to embrace cloud computing, with the increase in pressure to move to cloud service. The rush to cloud is increasing in such organizations and now on-site resources are being considered as conservative, as it has decreased innovative options and reduced agility that can decrease the competitive agility. Its departments are getting pressurized by the enterprises to embrace cloud computing services with urgency.
The enterprises need to evaluate what applications can be replaced with Software as a Service or SaaS, or rebuilt or refactored. Of course, not all projects can be permitted to utilize cloud services as there are security and regulatory concerns. However, the companies that have already shifted to all cloud have not again come back to the traditional on-premise data centers.
What are the differences and how to choose: SaaS vs PaaS vs IaaS?
The cloud remains a hot topic for small, medium and global enterprises and before switching your business to the cloud, you should try to understand about various cloud services and differences between them. There are three main models of cloud services and these are Software as a service or SaaS, Platform as a service or PaaS, Infrastructure as a service or IaaS. In the following paragraphs, you will find a detailed discussion about these services.
SaaS or Software as a service:
SaaS or Software as a service is a software delivery model and it makes the software available to the customers over the internet from the centrally hosted applications. Among various uses of SaaS, the best examples of SaaS include Microsoft Office 365 and Google Apps. SaaS solution brings up several benefits to the customers that you will find in the following paragraphs:
Benefits of SaaS:
- Auto-updates and maintenance: With SaaS, customers can remain relaxed about setting up, updating, configuring the software as well as backing up for the sensitive data. The provider ensures to do all these important activities and provides the customers with the most secure and the latest version of the software.
- Access from any device remotely: It is possible to access the cross-platform SaaS application from any device via the internet and by using a simple web browser.
- It is scalable and cost can be spread over time: SaaS solution is available in the cloud environment and the application resources like the storage can be provisioned automatically as and when needed. Users using the SaaS model do not need to buy another software or server and only need to go for a suitable SaaS offering. The SaaS vendors can allow the customer to pay the cost of software over some time instead of paying a large sum upfront.
What factors made SaaS popular? The various benefits of the SaaS solution led to its high demand, and going for a SaaS solution rather than developing an on-premise solution can create a lot of advantages that can exceed customer expectations.
- Generating competitive advantage even with the standardized services: It is difficult to create a competitive edge with a solution where the core functionality is already standardized like e-mail services. In such types of cases, lower prices and the convenient delivery model can create a competitive advantage.
- Building important applications with excellent online features: Many applications rely on access to the web for several core features and I such case it can be cheaper and simpler to move the application to the cloud.
- Providing remote access: Cloud computing can allow the developers to make the app available from any device and browser at any time without any need to have separate versions for separate platforms.
- Cost-saving on development: A SaaS delivery model can ensure that the latest model of the software is available to each customer and can also ensure that critical security patches are automatically delivered to every user. Thus, it can save a lot of money for developers in the long run.
When SaaS can be used? SaaS can be a very beneficial option to use in the following situations:
- For launching e-commerce quickly for small companies or startups.
- For short-term projects requiring easy, quick, and affordable collaboration.
- For applications not required too often like tax software.
- For application needing both mobile and web access.
The limitation and concerns of SaaS: The few limitations and concerns of SaaS are as follows:
- Interoperability: If the SaaS app has not been designed to follow the open standards for integration, it may become a major concern to integrate with the existing service or app.
- Vendor lock-in: There can be a situation where the vendors may make the customer depend on a single cloud service provider or CSP for implementation of technology and it may be difficult to move to a new vendor.
- Inadequate integration support: There may be a need for deep integration with the on-premise data, apps, and services, and here the SaaS vendor may provide limited support.
- Data security: To perform the necessary functionality of the software, a large volume of data may be needed to be exchanged to the data centers at the back end of SaaS apps. The sensitive business data when transferred to a SaaS service that is public cloud-based, can result in a security compromise.
- Minimum customization: The SaaS users may get limited to specific performance or functionality and integration that are offered by the vendor.
- Performance and downtime: Since the SaaS service is under the control and management of the vendor, the customers may have to depend on the vendor totally to maintain the performance and security of the service. There can be cyber-attacks, unplanned and planned maintenance, or network issues that can affect the performance of the SaaS app.
- The limitation of the features: SaaS model is based on a standardized form, and to choose a feature, you may have to compromise the tradeoff against the cost, security, performance, etc.
- Lack of control: Since SasS the control is handed over to the third-party service provider, customers may have to redefine the governance modes and data security to fit the functionality and features of SaaS service.
Few examples of the SaaS solution: SaaS solution nowadays is getting increasingly popular among the customers and the developers. Businesses are no longer interested in expanding on the complex and elaborate on-premise system and are rapidly switching over to SaaS. SaaS is becoming the best choice for ERP, CRM, sales management solutions, tax, and many others.
Google Drive and Gmail and various other solutions can be cited as the famous SaaS solutions that include online services. Many systems in the enterprise world have been distributed through the SaaS model. Microsoft Office 365, Google spreadsheets, Google Document are among the very popular and well-known office suits that have been running successfully with the SaaS model.
As per the researchers, SaaS will remain as the dominant cloud computing model and the spending in SaaS made with system infrastructure software and applications and the purchase of applications will dominate the scene. The CRM applications and the ERP application will account for the majority of cloud spending and it is expected to the tune of 60% by 2021.
PaaS or Platform as a Service:
PaaS or a Platform as a Service is a middleware and it is provided on-demand through the internet. PaaS is focused on helping the software vendors and the developers and it provides an environment for developing, testing, deploying the applications. There is no need to think for the hardware, middleware, OS, virtualization and it can provide the complete set of computing resources and programming tools that can help to start the work immediately.
Benefits of PaaS:
Web-based tools for creation: With PaaS, it is not needed separately to maintain or license or install a set of tools for the creation of the applications. The service provides a necessary environment and the developers can work from any device or place.
It comes with a fully managed environment for development: You will not need to worry about backing up your data or manage the development environment. Everything will be managed by the service providers and you will be able to focus entirely on the developmental efforts.
Built-in scalability and integration with different services: There is built-in scalability in PaaS for any software that you create as well as deploy within PaaS. It can also help your software to easily integrate with other services, whether it is a third party or it is provided by the PaaS provider.
It can be an excellent collaboration tool: The other important dynamics about PaaS is that it can be a very powerful collaboration tool. It can help the various development teams geographically dispersed to work on creating an excellent piece of software.
What factors made PaaS popular? PaaS is favored by many cloud companies as it allows the developers to integrate with the proprietary software staying within the ecosystem of the company. It helps the companies for creating development communities for the products without going open source completely. However, it can lead to locking in the current Pass provider and it may be very difficult to migrate an application that has been created with the help of custom tool and has been integrated with a proprietary solution.
Even after having such concerns, there is growing popularity of PaaS in the market. The extensive collaboration possibilities, the automatic set up and management of middleware, and the ability to spread the costs over time can make the choice of PaaS attractive for the developers.
When you should use PaaS? The use of PaaS is beneficial and even it can be necessary in some cases. With PaaS, it is possible to streamline the workflows with the multiple developers working on the same type of development project. PaaS can provide great flexibility and speed to the whole process when other vendors are needed to be included. When you need to create customized applications, PaaS can be beneficial and it can simplify the challenges that come up during the development and deployment of an app and also it can reduce cost.
Limitations and concerns of PaaS: There are few limitations as well as concerns for PaaS too as these are as follows:
- Security of data: Organizations can run own services and apps with the PaaS solutions, but there can be risks for the data residing in the third-party cloud servers controlled by the vendors.
- Integrations: The complexity of connection with the data stored in the off-premise cloud or within an onsite data can increase that may affect the selection of services and apps that can work with the PaaS offering.
- Vendor lock-in: In the future, the technical and the business requirements that drive the decisions for the specific type of PaaS solution may not apply. It may not be possible to switch to an alternative PaaS option is the vendor did not make provision for migration.
- Customization of the legacy systems: There can be a requirement for several configurations and customization changes for the legacy systems to work with a PaaS service. It can result in a complex IT system with such customization and it can limit the PaaS investment value altogether.
- Issues related to runtime: Apart from the limitations associated with the services or specific apps, it may not be possible to optimize PaaS solutions for the frameworks or language and it may not be possible for customers to develop custom dependencies with PaaS.
- Limitations for operation: In the PaaS solution, it may not be possible to have the customized cloud operation having management automation workflow as the PaaS platform limits the capabilities of operation for the end-users. The loss of control on operation may affect the management of a PaaS solution.
Few examples of PaaS solution: PaaS solution has various examples and it can be divided into several types of categories depending on the specific and the focus of the distribution method used. There are examples of private PaaS solutions like OpensShift, Apprenda, or Cloud Foundry, public PaaS like Heroku, or hybrid PaaS like IBM Bluemix. There can be mobile PaaS solutions that are designed for developing mobile applications and there can be a PaaS system that is focused on rapid development like SalesForce and Mendix.
There can also be the open-source PaaS solutions that are designed specifically to allow the applications to run in an open-source environment like the Google App Engine.
IaaS or Infrastructure as a service:
IaaS or Infrastructure as a service can be defined as an instant computing infrastructure that has been managed and provisioned over the internet or pay as you go basis. It can enable the users to shrink or to scale the resources as and when needed basis and it reduces the need for high upfront capital cost. Here, the providers manage the physical hardware and the customers can set up and manage the software with the computing power left to them. There can be several advantages of the customers using the IaaS solution that you can find in the following paragraphs.
Advantages of IaaS:
There is a possibility of enormous cost-saving: There is no need to buy the infrastructure upfront and customers can spread that spending over some time. Also, you can save a lot of additional expenses regarding maintenance, hardware, and dedicated personnel required to maintain the hardware.
Reliability and security: When you abstract the software from the physical infrastructure, you can make the system more reliable and secure. There is no worry about the reliability of the hardware, about the securing of the hardware physically, or the possibility of the software to affect the hardware. The service provider will manage all such things and there will be a rare incidence of IaaS going offline as the service provider goes offline.
Scalability: The computing resources that are supplied on demand can be scaled up easily as and when needed. You can easily decrease as well as increase consumption as per the requirement of the resources and it will help you to use your money optimally.
When you should use IaaS? Like SaaS and PaaS, IaaS also has specific situations where it can be most advantageous. Small entrepreneurs and startups may prefer to work with IaaS to avoid spending money and time on creating and purchasing the software and hardware. Though the larger company may like to retain the complete control of the infrastructure and the applications, they will like to purchase only those things that they need or consume.
There can be plenty of scalability and flexibility options with IaaS and companies experiencing rapid growth can change the specific software and hardware as per the needs.
The concerns and limitations of IaaS: There can be few concerns and limitations with IaaS too and these are as follows:
- Security: Though here the customers are in control of the data, apps, OS platform, middleware, etc, there can still be security threats that are sourced from virtual machines and hosts. System vulnerability or inside threats can expose the data communication between the virtual machines and host infrastructure to unauthorized entities.
- A legacy system that is operating in the cloud: The infrastructure is not properly designed to have specific control for securing the legacy app though the customers can run the legacy apps in the clouds. It may require minor enhancement of the legacy app before making a migration to the cloud that can lead to new security issues unless it has been tested adequately for the performance and security.
- Training and internal resources: There can be a requirement of training and additional resources for the workforce so that it can learn how it can effectively manage the infrastructure. Customers will have the responsibility for backup, data security, and business continuity. However, it may be difficult to monitor and manage the resources without having the resources and training available in-house.
- The multi-tenant security concept: Since there is a dynamic allocation across the users of the hardware resources, the vendor should ensure that there is no possibility to access data by other customers. These data refer to the data that have been deposited to the storage assets by the previous customers. Customers also need to rely on the vendor so that the VMs are isolated adequately within the multitenant cloud architecture.
Few examples of IaaS solution: IaaS is a good model for certain workloads that may be temporary and experimental or that can be appended unexpectedly. It may be very cost-effective for a business to develop a new software product, and to test the product using an IaaS provider, for example. Once the new code is refined and tested, the business may take it away from the IaaS platform and go for using it in the in house deployment.
Google Compute Engine, Microsoft Azure, and Amazon Web Service are the most popular IaaS example. These are managed by the topmost companies in the world and it maintains huge data centers across the globe and has a large potential for scalability. Rackspace, Bluelock, Linode, GoGrid, Digita Ocean, etc are other examples of IaaS.