Thanks to the Internet, companies are able to not only distribute developments remotely, but also deploy them online. Users can now access a wide variety of applications on-demand over the Internet. In cloud computing, these are known as “as-a-service” programs and can be identified with an acronym ending in “aaS”. These labels indicate the cloud application deployment model that the company uses to distribute their service over the Internet.
No doubt anybody looking into adopting a cloud-based application has seen an “as-a-service” label before. There are several labels geared for specific industries, such as disaster-recovery-as-a-service (DRaaS) and integration-platform-as-a-service (iPaaS). However, for general cloud-based applications, you’ll typically see one of three deployment models: software-as-a-service (SaaS), platform-as-a-service (PaaS), and infrastructure as a service (IaaS). What do these deployment models mean, and what do they provide for the user? Below, we outline the differences between SaaS, PaaS, and IaaS, and what each deployment model means for both the service provider and the customer.
Software-as-a-service is the most common cloud deployment model. SaaS refers to applications delivered over the Internet that a third party manages. In other words, the user doesn’t have to worry about hosting, downloading, or updating any software. SaaS applications are typically accessed and ran via a Web browser, eliminating the need to download software onto a user’s machines. In addition, SaaS providers manage everything, from the runtime to the networking.
There are plenty of benefits to using SaaS applications. For example, IT teams don’t need to factor in installation and hosting expenses, making SaaS more cost efficient. The lack of management responsibilities means IT teams have more time to work on projects. However, this is also a double-edged sword. Since app providers manage the entirety of the app’s systems, it’s up to them to fix it – meaning IT teams may experience downtime that they can’t do anything about.
Platform-as-a-service provides a framework for developers to create their own applications. Essential, PaaS gives developers an online platform to create and manage software without worrying about maintaining everything else. Users manage the applications and data they create and store while the provider handles all the rest. PaaS offerings are built on virtualizations and often come with services to aid in testing and deploying applications.
The PaaS model aids developers by delivering a framework to them. Users maintain full control over everything they create inside that framework. Essentially, developers gain a sandbox with which they can design and build applications in. Keep in mind, however, that PaaS tools only provide a building environment; support for distribution, debugging, etc. may be lacking. PaaS provides greater flexibility for developers, but hardware/OS management is still out of their control.
Infrastructure-as-a-service offers the most management responsibilities for users. IaaS is a fully self-service model where the provider delivers infrastructure resources via virtualization technologies. IaaS comprises scalable computing, storage, and security capabilities accessed on an API or dashboard. Users manage the data infrastructure themselves without having to worry about physical installations.
With IaaS, users have the most control over the resources provided to them. IaaS offers the systems needed to deploy applications and software without the need to maintain physical hardware. This means, though, that users need to ensure they handle the runtime and OS securely in order to avoid distributing harmful software. IaaS eliminates the physical aspect of owning and operating data centers while still requiring the same safety and security protocols.
Check us out on Twitter for the latest in Cloud news and developments!