![](https://csdnimg.cn/release/download_crawler_static/10642640/bg13.jpg)
Chapter 1. Introduction to IBM MQ and the as a service architecture 3
1.2 What does “as a service” mean
The advent of cloud computing introduced new terminology, such as Infrastructure as a
Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). These
terms refer to delivery models for empowering users to obtain access to infrastructure,
development platforms, and software by using a
self-service interface. The as a service
delivery model is not limited to cloud computing; it can be equally applied elsewhere to
empower users to achieve their goals without impediments and delays. Businesses that can
adopt this methodology throughout their enterprise are more agile and can readily respond to
changing customer and industry demands.
Underpinning
as a service delivery is the ability for users to service themselves by using a
self-service interface. For example, a customer can use a self-service interface to withdraw
money by using an ATM instead of going to a bank cashier for service. The ATM provides a
simple interface for the customer, eliminates the dependency on a cashier, and streamlines
the process of satisfying the customer's goal. The use of ATMs also frees the cashiers to
provide better service to other types of customer requests. Another example of a self-service
interface is a retail store kiosk that customers can use to select and purchase items. In both of
these examples, there are many processes that run to complete the requests, but whenever
possible, these processes are automated and hidden from the user.
When users are empowered to use a self-service interface, it becomes harder to predict the
demand for that service at any time. Most services have variations in their demand profile.
Although it is necessary to provide sufficient capacity to support peak usage levels, it can be
expensive or even impractical to allocate a high level of resources permanently.
To address this issue, you must become familiar with a concept known as
elastic scaling.
Elastic scaling refers to the means by which capacity is added or removed (either
automatically or by human intervention) in response to the actual or predicted workload.
Removing capacity when it is no longer required means that you can target underlying
resources elsewhere for maximum efficiency.
Consider the online store for a large retailer. Throughout the day, week, and year, a varying
numbers of customers access the online store to view the products and hopefully make
purchases, track orders, and provide favorable reviews. The server capacity must elastically
scale to respond to customer requests. Black Friday is one of the busiest shopping days of
the year in the United States. As a result, the online store is likely to serve a much larger
number of customer visits. It might be necessary to introduce additional server capacity to
satisfy demand. It is also likely that far less predictable peaks in demand might occur
throughout the year, for example, in response to social media trends.
Another attribute that is associated with service offerings is provisioning for
usage-based
pricing
. A service is consumed to a varying extent by different users. Charging all users
equally is often perceived as unfair and is not necessarily conducive to the successful
adoption of a service offering. Charging consumers to use a service is also not always
appropriate, but for the cases where it is appropriate, then it is preferable to charge based on
consumption levels.
The self-service interface provides an appropriate point of control that can be used to track
usage. Consider a company or an infrastructure team within an enterprise that offers a
network backup service. Users have varying quantities of data to store and might have
varying requirements, such as the speed of access. The company or infrastructure team can
charge users based on the demands that are placed on the resources to accommodate their
backup needs.