IaaS PaaS SaaS and CaaS
With the massive increase in “as a Service” we’ve now advanced to XaaS – Everything as a Service. These offerings provide services that are consumed over the internet and they have continued to gain traction. The benefits include greater flexibility with self-service and a low cost of entry since there’s no hardware to purchase or maintain or software licenses. We’ll take a look at three of the most common service models of cloud computing – SaaS, PaaS and IaaS, then take a peek at the the new kid on the block, CaaS.
From the bottom up, Infrastructure as a Service (IaaS) delivers a computing infrastructure in a virtualized environment. These infrastructure resources include virtual compute and storage resources, bandwidth, network connections and more. IaaS can scale up and down as demand changes and also provide redundancy configurations to ensure high availability. The bigger cloud providers offer a high degree of software automation.
The cloud provider maintains the servers and networks in the data centers, assuming responsibility for all physical equipment. Security is a joint responsibility with the Shared Responsibility Model. The customer’s IT is responsible for configuration and maintenance of the guest operating systems, related applications and resources. As companies embrace different cloud infrastructure models, IT may have to integrate public, private, multi-provider and on premise environments.
Already into its twenties, Software as a Service (SaaS) may now be the only way that some software products are offered. With SaaS, the cloud service provider hosts the software and associated data and the user consumes the application on demand. Due to ease of entry, small companies now have the ability to use applications that were previously only available for larger businesses. As the mobile workforce continues to grow, SaaS helps to guarantee a similar experience for all users. On the downside, SaaS does not offer much in the way of customizing applications for specific user needs.
IT may be involved in determining which application is best suited to meet the technical requirements and how to integrate with the current environment. However, ongoing involvement is greatly reduced, as expertise is no longer required to the same degree to configure and manage applications, conduct software upgrades, install patches, and integrate APIs.
Platform as a Service (PaaS) expands on the capabilities of the SaaS model by not only delivering software, but also providing the platform for software development with databases, storage, web servers and operating systems. It is located between the SaaS and IaaS layers, supplying more than the bare infrastructure but not the full-fledged application. The PaaS layer provides developers with tools such as business process management, database and integrations. With this platform they can develop, run and manage their applications.
The lines are blurring between PaaS and IaaS as the big cloud providers such as AWS, GCP and Azure integrate their cloud offerings. For businesses who are proficient in IaaS but want the agility and flexibility of PaaS, being able to utilize both layers is an advantage. Vendor lock-in can become an issue should a business decide to switch to another provider. Therefore, businesses must consider the applications’ business logic from the start to be able to re-build applications in another platform.
For companies looking for additional flexibility that is not met by traditional PaaS offerings, Containers as a Service (CaaS) may be the way to go. CaaS can be implemented across a variety of infrastructures and operating systems and can be utilized for the entire application lifestyle. It facilitates the move to microservices from large application architectures. CaaS supports an application environment that gives developers control of hosted environments while the cloud provider still manages deployment and auto-scaling.