Provisioning processing, storage, networks, and other fundamental computing resources means the consumer of those resources does not manage or control the underlying cloud physical infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components.
In defining Infrastructure as a Service we need to drill into specific characteristics that a cloud platform provider must provide to be considered Infrastructure as a Service. This has been no easy task as nearly every cloud platform provider has recently promoted features and services designed to address the infrastructure as a service and cloud computing market. Fortunately, as the technology has evolved over time, a definition of cloud computing has emerged from the National Institute of Standards and Technology (NIST) that is composed of five essential characteristics, three service models, and four deployment models.
Feel free to comment on and edit this TechNet Wiki article. Include your name and be recognized for your work to improve the content. This document is part of a collection of documents that comprise the Reference Architecture for Private Cloud document set. The Reference Architecture for Private Cloud documentation is a community collaboration project.
Two dimensions are used to classify the various deployment models (see Figure 1) for cloud computing:
Figure 1 Cloud computing deployment models
Our reference architecture will be based upon the NIST definition as we define the core principals, concepts and patterns used throughout the reference architecture and subsequent implementation guidance in this content series. The reference architecture will consist of reference frame that outlines the overall cloud computing stack based on the NIST definition and defines the core principals, concepts and patterns of a good reference architecture. This is then followed by service delivery guidance to guide the business on solution based delivery of an on-premise private cloud infrastructure.
The reference architecture presented contain practices that are independent of any specific platform provider and generally should be present on any Infrastructure as a Service platform or service engagement available from or through a provider of cloud based computing capability. Where applicable we will link with solution implementation guidance that is based on the use of Microsoft Server products to illustrate the capability discussed in the reference architecture.
The cloud provides options for approach, sourcing, and control. It delivers a well-defined set of services, which are perceived by the customers to have infinite capacity, continuous availability, increased agility, and improved cost efficiency. To achieve these attributes in their customers’ minds, IT must shift its traditional server-centric approach to a service centric approach. This implies that IT must go from deploying applications in silos with minimal leverage across environments to delivering applications on pre-determined standardized platforms with mutually agreed service levels. A hybrid strategy that uses several cloud options at the same time will become a norm as organizations choose a mix of various cloud models to meet their specific needs.
Cloud options typically are categorized by the following service and sourcing models (see Figure 2 for a comparison):
Software as a Service (SaaS) delivers business processes and applications, such as CRM, collaboration, and e-mail, as standardized capabilities for a usage-based cost at an agreed, business-relevant service level. SaaS provides significant efficiencies in cost and delivery in exchange for minimal customization and represents a shift of operational risks from the consumer to the provider. All infrastructure and IT operational functions are abstracted away from the consumer.
Platform as a Service (PaaS) delivers application execution services, such as application runtime, storage, and integration, for applications written for a pre-specified development framework. PaaS provides an efficient and agile approach to operate scale-out applications in a predictable and cost-effective manner. Service levels and operational risks are shared because the consumer must take responsibility for the stability, architectural compliance, and overall operations of the application while the provider delivers the platform capability (including the infrastructure and operational functions) at a predictable service level and cost.
Infrastructure as a Service (IaaS) abstracts hardware (server, storage, and network infrastructure) into a pool of computing, storage, and connectivity capabilities that are delivered as services for a usage-based (metered) cost. Its goal is to provide a flexible, standard, and virtualized operating environment that can become a foundation for PaaS and SaaS.
IaaS is usually seen to provide a standardized virtual server. The consumer takes responsibility for configuration and operations of the guest Operating System (OS), software, and Database (DB). Compute capabilities (such as performance, bandwidth, and storage access) are also standardized.
Service levels cover the performance and availability of the virtualized infrastructure. The consumer takes on the operational risk that exists above the infrastructure.
|Type||Consumer||Service Provided||Service Level Coverage||Customization|
|SaaS||End user||Finished application|
|IaaS||Minimal constraints on applications installed on standardized virtual OS builds|
Figure 2 Comparison of cloud service models
Deployment models (shared or dedicated, and whether internally hosted or externally hosted) are defined by the ownership and control of architectural design and the degree of available customization. The different deployment models can be evaluated against the three standards - cost, control, and scalability.
Figure 3 Cloud deployment defined by ownership and control
The Public Cloud is a pool of computing services delivered over the Internet. It is offered by a vendor, who typically uses a “pay as you go” or "metered service" model. Public Cloud Computing has the following potential advantages: you only pay for resources you consume; you gain agility through quick deployment; there is rapid capacity scaling; and all services are delivered with consistent availability, resiliency, security, and manageability. Public Cloud options include:
The private cloud is a pool of computing resources delivered as a standardized set of services that are specified, architected, and controlled by a particular enterprise.
The path to a private cloud is often driven by the need to maintain control of the service delivery environment because of application maturity, performance requirements, industry or goverment regulatory controls, or business differentiation reasons. For example, banks and governments have data security issues that may preclude the use of currently available public cloud services. Private cloud options include:
The array of services delivered by the combination of service and sourcing models can be dizzying. CIOs will need to evaluate their business requirements and the experience of the provider to select the appropriate Cloud models.
|Deployment Type||Hosting Location||Shared or Dedicated||Architectural Control||Scalability||Investment|
|Shared Public Cloud||External||Shared||Provider or market||Minimal constraints||Pay as you go|
|Dedicated Public Cloud||External||Partially or fully dedicated||Provider or market||Constrained by contract||Pay as you go|
|Self-Hosted Private Cloud||Internal||Fully dedicated||Self||Constrained by capital investment||Build the Cloud, share services|
|Hosted Private Cloud||External||Fully dedicated||Self||Constrained by capital investment or contract||Varies by contract, may or may not have capital impact|
|Private Cloud Appliance||Internal||Fully dedicated||Provider||Constrained by offering||Varies by contract, may or may not have capital impact|
Figure 4 Comparison of Cloud Deployment Models
Figure 5 Reference Model - Infrastructure as a Service View
Bill Loeffler is a principal knowledge engineer, ISD IX, in Microsoft's Windows Server & Solutions.