If a cloud provider controls all the hardware aspects of your IT infrastructure, what do you get to control? The answer depends on the type of cloud service model you choose. Cloud service models fall into three categories, all of which are characterized by the term as a service:
Software as a Service (SaaS)
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Many cloud service providers use more descriptive terms in their marketing, including Communications as a Service (CaaS), Anything as a Service (XaaS), Desktop as a Service (DaaS), and Business Process as a Service (BPaaS), to name a few. However, all of these clever names fit into the SaaS, IaaS, or PaaS categories.
Software as a Service (SaaS) most closely aligns with what used to be called a managed software service. For example, in the early days of the cloud, hosting companies would offer a hosted version of a certain popular, brand-name enterprise email system. Instead of having to buy, configure, and maintain this email system on your own servers, the hosting company would do it for you on its own servers. All you had to do was configure your client machines to connect to the appropriate server to send and receive email. NIST formalizes this concept in the following description of Software as a Service:
The capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
The Software as a Service model is where the customer of the service accesses the application software that is owned and controlled by the cloud company, which has complete responsibility for the management and support of the application, as shown in Figure 1.7. You, on the other hand, have limited control over the operation and configuration of the software itself. Sticking to the earlier example, you can create and delete email inboxes and control how inbound and outbound emails are processed. But you can't upgrade the software to a newer version.
FIGURE 1.7 SaaS
Business applications are good examples of SaaS and can include customer relationship management, enterprise resource planning, human resources, payroll, and software development applications. Hosted applications such as email or calendars that are accessible from a browser or email client are examples of SaaS.
Infrastructure as a Service
The Infrastructure as a Service (IaaS) model lets you create VMs and virtual networks in the cloud according to your desired specifications regarding processing power, memory, storage, and networking. The IaaS model is probably the easiest to understand because it most closely mirrors the virtualized server environments in modern data centers. NIST describes it as follows:
The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications; and possibly limited control of select networking components (e.g., host firewalls).
IaaS is really just a server and network virtualization environment offered as a service . Because of this, it offers the customer the most flexibility of any of the e-service models. You can provision to your specifications any number of VMs, on which you can run the software of your choice. Also, some IaaS offerings even allow you to choose the virtualized host on which your VMs run, giving you the ability to spread VMs across multiple hosts for resiliency.
IaaS (shown in Figure 1.8) allows the company's data center equipment to be replaced by the cloud equivalent but retains the ability to build software infrastructure on top of the hardware as can be done in a private data center.
FIGURE 1.8 IaaS
The Platform as a Service (PaaS) model sits somewhere in between the IaaS and SaaS models, and conceptually it is probably the most difficult to grasp because it doesn't have a clear analog in the data center. Essentially, PaaS gives you a preconfigured computing environment on which to install and run the software of your choice. You have little to no control over the configuration of the OS and VMs on which your application runs. NIST describes it thusly:
The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
A strange but accurate way of saying it is that PaaS offers an operating system as a service on which customers can install their applications, as shown in Figure 1.9. The cloud provider takes responsibility up to and including the operating system, including all hardware and virtualized resources.
FIGURE 1.9 PaaS
Not surprisingly, PaaS is a popular model with software developers because they can deploy their applications quickly without having to mess with provisioning VMs and keeping up with OS maintenance.
Communications as a Service
Communications as a Service (CaaS) is a particular instance of SaaS that includes hosted voice, videoconferencing, instant messaging, email, collaboration, and all other communication services that are hosted in the cloud. These outsourced corporate communication services can support on-premises or mobile users accessing the applications hosted in the cloud.
The CaaS model allows even small to medium-sized businesses to implement advanced technologies at a reasonable metered cost. There is no need for a staff to manage these communication services since the CaaS cloud provider takes responsibility. Another common term for this service is Unified Communications as a Service (UCaaS) .
Database as a Service (DBaaS) is a manifestation of SaaS in which the cloud provider gives you a turnkey database management system on which you can create your own databases. The provider takes care of the hardware and virtual infrastructure, the operating system, and the database software itself. You need concern yourself only with the databases that you create.
Читать дальше