Home > Chapters & Articles > Information Technology > Infrastructure as a Service Cloud Concepts

Infrastructure as a Service Cloud Concepts

Chapter Description

This chapter discusses Infrastructure as a Service (IaaS) concepts with the goal of giving cloud application developers background knowledge and helping them explore why they might want to use cloud computing.
  • On-demand self-service
  • Broad network access
  • Multitenancy
  • Rapid elasticity
  • Measured service (pay as you go)

NIST also describes four deployment models:

  • Private cloud—An organization operates a cloud for its own use. A private cloud can be either on-site at an enterprise’s own premises or off-site at the cloud provider’s location, with network connectivity and isolation from the outside using a virtual private network (VPN). A private cloud does not need multitenant capability, even though this is one of the five essential characteristics listed earlier.
  • Community cloud—Several organizations use the cloud. For example, several government organizations might share both goals and resources.
  • Public cloud—A cloud provider offers cloud services to the public-at-large.
  • Hybrid cloud—Two or more clouds are federated by some enabling technology.

The content in this book applies to each of these models. However, some of the technologies are more applicable to one of more of the different types of clouds. For private clouds, you will need to operate the cloud itself more independently, so you need a deeper background in virtualization technologies. Public clouds tend to be large in scale, enabling independent software vendors (ISVs) and others to develop innovative services and solutions. To do this successfully, ISVs need to understand how to develop reusable cloud services. Interoperability is important in hybrid clouds, and you might find yourself focusing on standards. Likewise, collaboration is important in community clouds, so open source projects and collaboration techniques might be important.

Workloads

The term workload in the context of cloud computing is an abstraction of the use to which cloud consumers put their virtual machines on the cloud. For example, a desktop workload might be supporting a number of users logging on to interactive desktop sessions. An SAP workload might be a system of virtual machines working together to support an enterprise’s SAP system. Workloads are a key characteristic differentiating the requirements for cloud computing. Different workloads have different characteristics in terms of computing capacity, variability of load, network needs, back-up services, security needs, network bandwidth needs, and other quality-of-service metrics. At a high level, cloud workloads are divided into three groups: server centric, client centric, and mobile centric. Table 1.1 summarizes the common types of cloud workloads.

Table 1.1. Common Workloads in Cloud Computing

Workload

Description and Examples

Key Quality-of-Service Metrics

Server Centric

Web sites

Freely available web sites for social networking, informational web sites large number of users

Large amounts of storage, high network bandwidth,

Scientific computing

Bioinformatics, atmospheric modeling, other numerical computations

Computing capacity

Enterprise software

Email servers, SAP, enterprise content management

Security, high availability, customer support

Performance testing

Simulation of large workloads to test the performance characteristics of software under development

Computing capacity

Online financial services

Online banking, insurance

Security, high availability, Internet accessibility

E-commerce

Retail shopping

Variable computing load, especially at holiday times

Core financial services

Banking and insurance systems

Security, high availability

Storage and backup services

General data storage and backup

Large amounts of reliable storage

Client Centric

Productivity applications

Users logging on interactively for email, word processing, and so on

Network bandwidth and latency, data backup, security

Development and testing

Software development of web applications with Rational Software Architect, Microsoft® Visual Studio, and so on

User self-service, flexibility, rich set of infrastructure services

Graphics intensive

Animation and visualization software applications

Network bandwidth and latency, data backup

Rich Internet applications

Web applications with a large amount of JavaScript

Mobile Centric

Mobile services

Servers to support rich mobile applications

High availability

It is apparent from Table 1.1 that different workloads are appropriate for different types of clouds. For example, free online social networking web sites need many virtual machines to support many users and save large numbers of media files. Public cloud computing is ideal for supporting online social networking sites. Security and high availability is a top consideration for core financial services that need to be isolated from the Internet. The data integrity provided by a relational database is important for financial applications, to ensure that financial transactions are accounted for accurately. However, social networking web sites often use NoSQL data stores that do not provide full relational integrity.

The workloads can be refined further. For example, desktop needs are different for a handful of developers than they are for a large number of general employees. The developers might use a Linux desktop and set up everything themselves. The general employees might use a standard desktop image maintained from a central point. Support is also important for the general employees, who do not have the expertise to troubleshoot and reinstall, if needed, as developers do.

The paper MADMAC: Multiple Attribute Decision Methodology for Adoption of Clouds [Saripalli and Pingali, 2011] discusses in detail cloud workloads and decision making for enterprise cloud adoption.

2. Use Cases | Next Section

Search Related Safari Books

Safari Books