Cloud computing stack is built on the service-oriented architecture, which advocates “everything as a service.” Depending on service models, most of the cloud computing companies generally fall into the three categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS) based on their intended functions. Although these three categories all aim to provide on-demand access to centralized services over the Internet, their targeted end users are different. The rest of the categories include but not limited to Security-as-a-Service (SECaaS), Mobile “backend”-as-a-Service (MBaaS), and Identity-as-a-Service (IDaaS.)
IaaS is the delivering of cloud computing infrastructures such as servers, storage, network and operating systems as an on-demand service. IaaS targets Application owners, IT Operating Systems, and Middleware and application support. These users typically need to manage and process huge database, and would need to get access to servers, datacenter space and network equipments. Before the invention of IaaS, the conventional way is to run the entire database through on-premises infrastructures, which are costly, inflexible to change of market demands, and cumbersome. With the adoption of IaaS, users no longer need to worry about the development or maintenance of any virtualization, servers, storage and networking equipments; Instead, users can purchase or cancel the service according to their market needs, allowing for dynamic scaling and elasticity.
Core characteristics of IaaS
--- Resources are distributed as a service ---
--- Allows for dynamic scaling ---
--- Has a variable cost, utility pricing model ---
--- Generally includes multiple users on a single piece of hardware ---
Amazon Web Services (AWS) Elastic Compute Cloud (EC2)
Microsoft Windows Azure Virtual Machine
Google Compute Engine
VMware vCloud Suite
PaaS is a computing platform on which software applications can be developed using on-demand virtual tools and infrastructure services. PaaS targets software application developers, who just want to focus on coding rather than taking care of the underneath supporting software and infrastructures.
PaaS is in many ways similar to IaaS, both providing the base equipment for users to develop applications on. However, PaaS is different from IaaS by the addition of value added services and comes in two distinct flavors:
Core characteristics of PaaS
Amazon Web Services Elastic Beanstalk
Microsoft Windows Azure Cloud Services
IBM Smart Cloud
Red Hat Cloud’s Openshift
VMware’s Cloud Foundry
Google App Engine
SaaS is software that is deployed over the Internet, allowing end users to purchase services on demand. SaaS can be subscription based or at no charge, if there is opportunity to generate revenue from streams other than the user, such as from advertisement or user list sales. SaaS targets software application end users who can just pay for using the service when needed without worrying about developing, maintaining and updating the services.
Compared to IaaS and PaaS, SaaS enjoys the biggest market, because it managed to revolutionize the way people live their lives every day.
Core characteristics of SaaS
--- Web access to commercial software
--- Software is managed from a central location
--- Software delivered in a “one to many” model
--- Users not required to handle software upgrades and patches
--- Application Programming Interfaces (APIs) allow for
integration between different pieces of software
Microsoft Office 365
Amazon Web Services
Adobe Creative Crowd