Cloud Service Model: IaaS vs PaaS vs SaaS

Cloud Service Model

Introduction

In this article, we discuss cloud, cloud service, cloud service model, and the benefits of these models.

“The cloud” refers to servers that are accessed over the Internet, and the software and databases that run on those servers. Cloud servers are located in data centres all over the world. By using cloud computing, users and companies do not have to manage physical servers and infrastructure themselves or run software applications on their machines. The cloud enables users to access the same files and applications from almost any device, because the computing and storage take place on servers in a data centre, instead of locally on the user’s device. This is why a user can log in to their Instagram account on a new phone after their old phone breaks and still find their old account in place, with all their photos, videos, and conversation history. 

Cloud computing is possible because of a technology called virtualization. Virtualization allows for the creation of a simulated, digital-only “virtual” computer that behaves as if it were a physical computer with its hardware. The technical term for such a computer is the virtual machine. When properly implemented, virtual machines on the same host machine are sandboxed from one another, so they do not interact with each other at all, and the files and applications from one virtual machine are not visible to the other virtual machines even though they are on the same physical machine.

Confused about your next job?

In 4 simple steps you can find your personalised career roadmap in Software development for FREE



Expand in New Tab 

Virtual machines also make more efficient use of the hardware hosting them. By running many virtual machines at once, one server becomes many servers, and a data centre becomes a whole host of data centres, able to serve many organizations. Even if individual servers go down, there is redundancy built in. Cloud servers, in general, should be always online and always available. Cloud vendors generally back up their services on multiple machines and across multiple regions.

Users access cloud services either through a browser or through an app, connecting to the cloud over the Internet.

The term “cloud services” refers to a wide range of services delivered on-demand to companies and customers over the Internet. These services are designed to provide easy, affordable access to applications and resources, without the need for internal infrastructure or hardware.

Cloud services are infrastructure, platforms, or software that are hosted by third-party providers and made available to users through the Internet.

Cloud computing services cover a vast range of options now, from the basics of storage, networking, and processing power to natural language processing and artificial intelligence as well as standard office applications. Pretty much any service that doesn’t require you to be physically close to the computer hardware that you are using can now be delivered via the cloud. Cloud computing underpins a vast number of services. That includes consumer services like Gmail or the cloud backup of the photos on your smartphone, though to the services which allow large enterprises to host all their data and run all of their applications in the cloud. Netflix relies on cloud computing services to run its video streaming service and its other business systems too.

Cloud computing can be broken down into four cloud computing models. These are:

  • Infrastructure-as-a-Service (IaaS)
  • Platform-as-a-Service (PaaS)
  • Software-as-a-Service (SaaS)

Infrastructure-as-a-Service

Infrastructure as a service (IaaS) is a type of cloud computing service that offers essential computing, storage, and networking resources on-demand, on a pay-as-you-go basis. IaaS is also known as Hardware as a Service (HaaS). In traditional hosting services, IT infrastructure was rented out for a specific period, with pre-determined hardware configuration. The client paid for the configuration and time, regardless of the actual use. With the help of the IaaS cloud computing platform layer, clients can dynamically scale the configuration to meet changing requirements and are billed only for the services used.

In the IaaS model, cloud providers host infrastructure like servers, storage, networking hardware, and hypervisors, meaning organizations do not need to have this requirement in their on-premise data centres.

IaaS providers offer a variety of services over this infrastructure. These include:

  • Multi-tenancy and billing management
  • Logging and monitoring
  • Security
  • Clustering, failover, and load balancing
  • Backup, replication, and recovery

IaaS customers can access resources and services over a wide area network (WAN) such as the Internet, and instruct the cloud provider to deploy a complete application stack.

Top IaaS providers are Amazon EC2, DigitalOcean, Compute Engine, and Azure Virtual Machine.

Advantages of IaaS

There are the following advantages of IaaS-

  • IaaS allows multiple users to share the same physical infrastructure.
  • IaaS allows IT users to access resources over the internet.
  • On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do not worry about upgrading software and troubleshooting issues related to hardware components.
  • Rapidly add capacity in peak times and scale down as needed.
  • Add new capabilities and leverage APIs.

Disadvantages of IaaS

There are the following disadvantages of IaaS-

  • Monthly fees can add up, or peak usage may be more than expected.
  • Lack of mature service providers, guidance, or ecosystem support.
  • Security is the biggest issue in IaaS. Most of the IaaS providers are not able to provide 100% security.
  • Moving from one IaaS provider to another can be challenging.
  • Service providers maintain the software, but they do not upgrade the software for some of the businesses.

Platform-as-a-Service

Platform as a service (PaaS) is a complete development and deployment environment in the cloud, with resources that enable you to deliver everything from simple cloud-based apps to sophisticated, cloud-enabled enterprise applications. You purchase the resources you need from a cloud service provider on a pay-as-you-go basis and access them over a secure Internet connection. The first public platform as a service was Zimki, launched by Fotango, a London-based company owned by Canon Europe. It was developed in 2005, had a beta launch in March 2006, and a public launch at EuroOSCON in 2006. Zimki was an end-to-end JavaScript platform for web application development and utility computing that removed the repetitive tasks of creating web applications and web services.

The original intent of PaaS was to simplify the writing of code, with the infrastructure and operations handled by the PaaS provider. Originally, all PaaSes were in the public cloud. Because many companies did not want to have everything in the public cloud, private and hybrid PaaS options (managed by internal IT departments) were created.

PaaS provides an environment for developers and companies to create, host and deploy applications, saving developers from the complexities of infrastructure.  PaaS can improve the speed of developing an app, and allow its user to focus on the application itself. With PaaS, the customer manages applications and data, while the provider (in public PaaS) or IT department (in

Private PaaS) manages runtime, middleware, operating system, virtualization, servers, storage, and networking.

Top PaaS providers are Microsoft Azure, Amazon Web Services (AWS), Google cloud, and IBM cloud.

Advantages of PaaS

There are the following advantages of PaaS-

  • The principal benefit of PaaS is simplicity and convenience for users and developers. The PaaS provider will supply much of the infrastructure and other IT services, which users can access anywhere through a web browser.
  • PaaS development tools can cut the time it takes to code new apps with pre-coded application components built into the platform, such as workflow, directory services, security features, search, and so on.
  • Allows employees to log in and work on applications from anywhere.
  • Speed up the creation of apps.
  • No need to purchase hardware or pay expenses during downtime.

Disadvantages of PaaS

There are the following disadvantages of PaaS-

  • All the data of applications are stored inside the provider’s cloud database. This brings up confidential issues since private and sensitive information can be viewed by the provider. As a result, it is the responsibility of businesses to secure their applications by selecting a trustworthy provider. Otherwise, the existing information could be at risk.
  • Very dependent upon the vendor’s capabilities.
  • All cloud solutions are scalable to some degree, but PaaS options are less flexible than, say, IaaS solutions. The overall technology is a little more rigid, making use challenging for those who see big growth on the horizon.

Software-as-a-Service

Software as a service is a way of delivering applications over the Internet—as a service.  Instead of installing and maintaining software, you simply access it via the Internet. SaaS applications are sometimes called Web-based software, on-demand software, or hosted software. SaaS applications run on a SaaS provider’s servers. The provider manages access to the application, including security, availability, and performance. If you have used a web-based email service such as Outlook, Hotmail, or Yahoo! Mail, then you have already used a form of SaaS. With these services, you log into your account over the Internet, often from a web browser. The email software is located on the service provider’s network and your messages are stored there as well. You can access your email and store messages from a web browser on any computer or Internet-connected device. For organizational use, you can rent productivity apps, such as email, collaboration, and calendaring; and sophisticated business applications such as customer relationship management (CRM), enterprise resource planning (ERP), and document management. You pay for the use of these apps by subscription or according to the level of use. SaaS allows your organization to get quickly up and running with an app at a minimal upfront cost.

Most SaaS providers offer a multi-tenant architecture. With this model, a single version of the application, with a single configuration is used for all customers. To support scalability the application can be installed on multiple machines.

Top SaaS providers are Salesforce, Microsoft, Adobe creative cloud, and FreshBooks.

Advantages of SaaS

There are the following advantages of SaaS-

  • Users can run most SaaS apps directly from their web browser without needing to download and install any software, although some apps require plugins. This means that you don’t need to purchase and install special software for your users.
  • You also save money because the SaaS service automatically scales up and down according to the level of usage.
  • With data stored in the cloud, users can access their information from any Internet-connected computer or mobile device. And when app data is stored in the cloud, no data is lost if a user’s computer or device fails.
  • As SaaS vendor clients are all on the same infrastructure and code base, vendors can innovate more quickly and save all the valuable development time previously spent on maintaining numerous versions of outdated code.
  • SaaS services easily integrate with other software or services through standard APIs.

Disadvantages of SaaS

There are the following disadvantages of SaaS-

  • Without an internet connection, most SaaS applications are not usable.
  • Since data and applications are stored in the cloud at a variable distance from the end-user, there is a possibility that there may be greater latency when interacting with the application compared to local deployment. Therefore, the SaaS model is not suitable for applications whose demand response time is in milliseconds.
  • If the provider adopts a new version of an application, it will roll out to all of its customers, regardless of whether or not the customer wants the newer version. This may require the organization to provide extra time and resources for training.

Difference Between IaaS, PaaS, and SaaS

The main difference between IaaS, PaaS, and SaaS are given below:

IaaSPaaSSaaS
IaaS stands for infrastructure-as-a-service.PaaS stands for Platform-as-a-service.SaaS stands for software-as-a-service.
IaaS is used by network architects.PaaS is used by the developer.SaaS is used by end-users.
It requires technical knowledge.For this, you required knowledge of the subject to understand the basic setup.There is no requirement for technical knowledge. The company handles everything.
It is popular between developers and researchers.It is popular among developers.It is popular between consumers and companies.
IaaS provides only infrastructure.PaaS provides infrastructure +platform.SaaS provides infrastructure + platform + software.

Conclusion

To conclude, Cloud computing is the latest technology that promises immense benefits. However, a lot of research is still required in this area as many of the concerns related to security and privacy issues have not been answered by the experts and remain open. Cloud computing provides advanced computing resources available on-demand, that scale as needed, with regular updates and without the need to buy and maintain an on-premise infrastructure. Cloud computing is a recent technological development that has the potential to have a great impact on the world.

Additional Resources

Previous Post
Incremental Model

Incremental Model in Software Engineering

Next Post

What is Waterfall Model in Software Engineering?

Total
0
Share