It’s generally agreed that there are three main delivery models in cloud computing: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). In this article, we’ll be taking a closer look at each of these concepts, and an emerging technology (Container as a Service, or CaaS) to which they are related.
Software as a Service or SaaS is a cloud-based software distribution model whereby a third-party provider hosts application and makes them available to subscribers over the internet. The annual or monthly subscription fee for a SaaS system will typically include applications, software licensing, support, and most other fees.
SaaS in cloud computing eliminates the need for organizations to install and run applications on their own computers or in their own data centers. This frees them from the expense of acquiring, managing, and maintaining hardware, and does away with the need for individual software licensing installation, and support. SaaS in cloud computing currently accounts for approximately 24% of all enterprise workloads.
Salesforce, Oracle, SAP, Intuit, and Microsoft are some of the leading SaaS providers.
The hosted application management aspect of SaaS is similar to the role of an application service provider (ASP), where the provider hosts their client’s software and delivers it to approved end-users via the internet.
There’s also a SaaS model that operates in a similar manner to software on demand. Here, the SaaS provider gives customers network-based access to a single copy of an application, which is created specifically for SaaS distribution. The source code for this application is the same for all customers, who receive the same upgrades when new features or tools are rolled out.
SaaS in cloud computing customers can generally rely on their provider to automatically perform updates and patch management. This reduces the burden on in-house IT staff.
SaaS in cloud computing applications cover general business technologies such as email, customer relationship management (CRM), sales management, finance management, human resource management (HRM), billing, and collaboration. Using application programming interfaces (APIs), organizations can integrate SaaS applications with other software, such as in-house apps.
SaaS gives customers the option to scale their software deployments on demand, gaining access to more or fewer services and features. Users can access SaaS applications from any internet-enabled device or location.
Depending on the service level agreement (SLA) of the SaaS model, customer data may be stored locally, in the cloud, or both locally and in the cloud. Most vendors still place data in the legal possession of the end-user, but before signing up, it’s advisable to study the service contract, to understand exactly how your data will be used.
Issues can also arise when providers experience service disruptions, impose unwanted changes to their service offerings, or suffer a security breach, making a thorough understanding of the SLA an essential requirement.
What Is Infrastructure as a Service In Cloud Computing?
Infrastructure as a Service or IaaS helps subscribers avoid the cost and complexity of purchasing and managing their own physical servers and IT infrastructure, by allocating virtualized computing resources to the user via the internet. IaaS vendors provide their clients with pay-as-you-go access to storage, networking, servers, and other computing resources in the cloud.
Offerings in an IaaS environment typically include network connections, virtual server space, load balancers, and IP addresses. An IaaS provider usually also offers a range of services to the consumer for supporting their infrastructure components. These may include monitoring, detailed billing, security, load balancing, clustering, and storage services like data backup, replication, and recovery.
IaaS in cloud computing currently has a market share of around 12%. AWS EC2, Rackspace, Google Compute Engine (GCE), Digital Ocean, and Magento 1 Enterprise Edition are leading names in this sector.
Organizations choose IaaS because it’s often easier, quicker, and more cost-efficient to operate a workload on virtualized resources without having to buy, manage, and support the underlying infrastructure.
Generally, IaaS customers pay on a per-use basis, typically by the hour, week, or month. Some vendors also charge customers based on the amount of virtual machine space that they use. This pay-as-you-go model eliminates the capital expenditure of deploying in-house hardware and software.
However, the extremely granular nature of IaaS billing can be a problem for some organizations, and users should closely monitor their IaaS environments and bills to understand how resources are being used and to avoid being charged for unauthorized services. The lack of transparency over the details of an IaaS provider’s own infrastructure configuration and performance can also make systems management and monitoring more difficult for users.
Platform as a Service
In the Platform as a Service (PaaS) cloud computing model, providers rent developers everything they need to build an application: development tools, infrastructure, and operating systems.
An internet connection is all that’s physically required to access PaaS, making it possible for developers to build an entire application in a web browser. Since the development environment isn’t hosted locally, developers can work on an application from anywhere in the world, which enables remote working and collaboration.
PaaS in cloud computing is currently the most popular model, expected to grow beyond a 32% market share in 2020. PaaS vendors offer a variety of tools necessary for software development. These include development tools such as source code editors, debuggers, and compilers, which may be packaged together as a framework.
Amazon Web Services (AWS), Microsoft, Google, IBM, Salesforce.com, Red Hat, Pivotal, Mendix, Oracle, Engine Yard, and Heroku are among the leading PaaS providers.
PaaS providers usually offer middleware – essentially, the plumbing or internal circuitry that sits in the background between user-facing applications and their machine’s operating system. PaaS vendors will also provide and maintain the operating system that developers work on, and on which their applications run.
Databases are essential to the back end operations of most applications today, and PaaS providers typically offer database administration and maintenance services. They will also usually provide developers with a database management system.
Everything included in the IaaS cloud computing model is also included in PaaS, so an IaaS subscription makes a development infrastructure available to its customers. A PaaS in cloud computing provider will usually either manage its own bank of servers, storage, and physical data centers or purchase them from an IaaS provider.
PaaS frees developers or enterprises looking to develop their own applications from the burden of having to build, configure, and provision their own platforms and back end infrastructure. With these resources already in place, developers can concentrate on writing the software code and testing the application. This enables a quicker time to market.
PaaS in cloud computing also allows developers to build, test, debug, deploy, host, and update their applications in the same environment. This simplifies the application development life cycle, and enables developers to make sure a web application will function properly as hosted, before its release.
Since PaaS customers don’t need to manage and provision virtual machines, Platform as a Service can impose less overhead and be more cost-effective than IaaS in many cases. PaaS providers will usually handle all licensing for operating systems, development tools, and everything else included in their platform. Some PaaS providers also have a pay-as-you-go pricing structure, where the vendor only charges for the computing resources used by an application, which can save customers money.
Vendor lock-in is a potential danger of the PaaS model, as applications are built using the vendor’s tools, and specifically for their platform. Each vendor may have different architecture requirements, and different vendors may not support the same languages, libraries, APIs, architecture, or operating systems used to build and run a particular application.
In addition, any small change in the vendor’s internal processes or infrastructure could have a huge impact on the performance of an application designed to run efficiently on their old configuration.
What Is Containers as a Service In Cloud Computing?
Containers enable developers and network administrators to decouple a specific set of software applications from an operating system and have them run within a clean, minimal, and isolated environment of their own.
Containers as a Service (CaaS) in cloud computing is a service model that allows software developers and IT departments to upload, organize, run, scale, manage, and stop containers by using container-based virtualization. CaaS in cloud computing vendors typically make use of application programming interface (API) calls or a web portal interface, to provide a framework that allows subscribers to make use of their service.
CaaS falls somewhere between Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) in the cloud computing spectrum but is usually considered as a subset of IaaS.
Consumers pay only for the CaaS in cloud computing resources that they use, such as compute instances, load balancing, and scheduling capabilities. Developers can deploy a container environment quickly, eliminating the need to build clusters or test container infrastructure beforehand.
Public cloud providers, including Google, Amazon Web Services (AWS), IBM, Rackspace, and Joyent, all offer some type of CaaS platform. The difference between CaaS in cloud computing offerings is usually the container orchestration platform, which handles key tasks such as container deployment, cluster management, scaling, reporting, and life cycle management.
Cloud Computing IaaS PaaS SaaS
It’s generally agreed that there are three main delivery models in cloud computing: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). In this article, we’ll be taking a closer look at each of these concepts, and an emerging technology (Container as a Service, or CaaS) to which they are related. Software as a Service or SaaS is a cloud-based software distribution model whereby a third-party provider hosts application and makes them available to subscribers over the internet. Infrastructure as a Service or IaaS helps subscribers avoid the cost and complexity of purchasing and managing their own physical servers and IT infrastructure, by allocating virtualized computing resources to the user via the internet. In the Platform as a Service (PaaS) cloud computing model, providers rent developers everything they need to build an application: development tools, infrastructure, and operating systems. Containers as a Service (CaaS) in cloud computing is a service model that allows software developers and IT departments to upload, organize, run, scale, manage, and stop containers by using container- based virtualization.