Cloud computing providers offer their "services" according to different models, of which there are three categories of cloud computing models: software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS), though service oriented architecture advocates "Everything as a service" (with the acronyms EaaS or XaaS, or *aas or aas),. Outside these categories, there are other examples of XaaS such as Functions as a service (FaaS), Communication as a service(CaaS), Monitoring as a Service(MaaS), Anything as a service(XaaS), Disaster recovery as a service (DRaaS), Network as a service (NaaS), Database as a service (DBaaS), Storage as a service (STaaS), Desktop as a service (DaaS), IT as a service (ITaaS) and so on. Other emerging industry examples include marketing as a service and healthcare as a service. Many kinds of IT resources or services are now delivered this way. These models offer increasing abstraction, they are thus often portrayed as layers in a stack, infrastructure, platform and software as a service, but these need not be related.
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
- Functions as a service (FaaS)
- Communication as a service(CaaS)
- Monitoring as a Service(MaaS)
- Anything as a service(XaaS)
- Disaster recovery as a service (DRaaS)
- Serverless computing
- Mobile Backend as a service (mBaaS) or (BaaS)
Infrastructure as a Service (IaaS)
The lower end of managed cloud computing services where hardware resources are provided by an external provider and managed for you. IaaS provides users access to computing resources such as networking, processing power and data storage capacity. IaaS is also known as Hardware as a Service (HaaS). It is a computing infrastructure managed over the internet. The main advantage of using IaaS is that it helps users to avoid the cost and complexity of purchasing and managing the physical servers.
Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE), Rackspace, and Cisco Metacloud.
Platform as a Service (PaaS)
PaaS cloud computing platform is created for the programmer to develop, test, run, and manage the applications. This cloud computing service is an advanced version of IaaS. Apart from just providing the IT infrastructure, PaaS also provides the computing platform and solution stack as a service. PaaS is a cloud computing service that provides developers with a framework that can be used for building custom applications. Platform as a Service lets software developers build custom applications online without having to worry about data storage, data serving, and management.
Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, Magento Commerce Cloud, and OpenShift.
Software as a Service (SaaS)
A special cloud computing service that incorporates both IaaS and PaaS service offerings. SaaS is a cloud computing service that provides application-level services tailored to diverse business needs such as business analytics, CRM, or marketing automation. SaaS is a cloud computing service offering that provides web-based software applications to customers on-demand. SaaS providers host a fully-functional application through a browser-based interface and make it accessible to the users through the Internet. SaaS is also known as "on-demand software". It is a software in which the applications are hosted by a cloud service provider. Users can access these applications with the help of internet connection and web browser.
Example: BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco WebEx, ZenDesk, Slack, and GoToMeeting.
Functions as a Service (FaaS)
Before we understand Functions as a Service, it is important to understand the most popular tech term associated with FaaS serverless computing. Serverless computing is a cloud computing model that takes away low-level infrastructure decisions and server management from the developers. The application architect need not deal with the allocation of resources as it is managed by the cloud service provider. Function as a service (FaaS) is a service-hosted remote procedure call that leverages serverless computing to enable the deployment of individual functions in the cloud that run in response to events. FaaS is included under the broader term serverless computing, but the terms may also be used interchangeably.
Example: Google Cloud Function, Microsoft Azure Functions, Webtask.io, Iron.io , Open Whisk, and AWS Lambda.
Communication as a Service (CaaS)
Communication as a-Service is a contract enterprise communications solution. Providers of this type of cloud-based solution are known as CaaS vendors. CaaS is responsible for the management of hardware and software required for delivering some telecommunication services and networking resources like Voice over IP (VoIP) services, Instant Messaging (IM),
and video conferencing capabilities to their customers. CaaS offerings guarantee QoS (Quality of Service) with well-defined SLAs. Also, CaaS solution includes redundant switching and circuit diversity.
Monitoring as a service (MaaS)
Monitoring as a service (MaaS) is one of many cloud delivery models under anything as a service (XaaS). It is a framework that facilitates the deployment of monitoring functionalities for various other services and applications within the cloud. The most common application for MaaS is online state monitoring, which continuously tracks certain states of applications, networks, systems, instances or any element that may be deployable within the cloud.
Anything as a service (XaaS)
Anything as a service (XaaS) describes a general category of services related to cloud computing and remote access. It recognizes the vast number of products, tools, and technologies that are now delivered to users as a service over the internet. Essentially, any IT function can be transformed into a service for enterprise consumption. The service is paid for in a flexible consumption model rather than as an upfront purchase or license.
Disaster recovery as a service (DRaaS)
Disaster recovery as a service (DRaaS) is a cloud-based solution that third-party cloud providers offer to small and large businesses to ensure data protection, limit downtime, and shorten Recovery Point Objectives (RPOs) when a disaster happens. DRaaS is offered through a contract or as a pay as you go model, with payment based on any combination of storage, bandwidth, RAM, compute cost, and licensing fees for the backup software, depending on the disaster recovery solution provider. Service Level Agreements (SLA) can impact costs and documents the service an organization can expect from the provider.
Serverless computing is a cloud computing execution model in which the cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers, it is another style of cloud computing where the consumer is only concerned about the code being run. The cloud takes care of how the code is run and any performance and scalability needs automatically. The consumer has no need to manage the OS or middleware. It is an architecture where code execution is fully managed by a cloud provider, instead of the traditional method of developing applications and deploying them on servers. It means developers don't have to worry about managing, provisioning and maintaining servers when deploying code.
Serverless is a cloud execution model that enables a simpler, more cost-effective way to build and operate cloud-native applications. Serverless is a cloud computing execution model that provisions computing resources on demand, and offloads all responsibility for common infrastructure management tasks (e.g., scaling, scheduling, patching, provisioning, etc.) to cloud providers and tools, allowing engineers to focus their time and effort on the business logic specific to their applications or process.
Mobile Backend as a service (mBaaS) or (BaaS)
BaaS known as mobile Backend as a Service (mBaaS) is a technique of connecting mobile apps to cloud services. A substitute to mobile middleware, the BaaS approach uses unified application programming interfaces (APIs) and software developer’s kits (SDKs) to link mobile apps to back-end cloud room. It also provides universal back-end features such as push notifications, social networking integration, location services and user management. In simple, the key difference between mBaaS and mobile middleware is that the traditional mobile middleware integrates back-end services to the app via an on-premise physical server whereas BaaS, on the other hand, integrates back-end services via the cloud.
A model for providing web and mobile app developers with a way to link their applications to backend cloud storage and APIs exposed by back end applications while also providing features such as user management, push notifications, and integration with social networking services. mBaaS is a cloud computing category which includes companies that make it easier for developers to setup, use and operate a cloud backend for their mobile, tablet and web apps.
The general idea of mBaaS is that mobile apps need common services that can be shared among apps instead of being custom developed for each. Mobile apps using mBaaS follow a loosely coupled distributed architecture, and mBaaS systems themselves typically have more distributed architectures than MEAP (mobile enterprise application platforms) systems, which tended to be unified middleware servers.