cloud computing definition, reference architecture, and...

23
Cloud Computing Definition, Reference Architecture, and General Use Cases Cloud Strategy Partners, LLC Sponsored by: IEEE Educational Activities and IEEE Cloud Computing

Upload: phungtruc

Post on 10-Mar-2018

228 views

Category:

Documents


2 download

TRANSCRIPT

Cloud Computing Definition, Reference Architecture, and General Use Cases

Cloud Strategy Partners, LLC

Sponsored by: IEEE Educational Activities and IEEE Cloud Computing

Course Presenter’s Biography

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 2 / 23

This IEEE Cloud Computing tutorial has been developed by Cloud Strategy Partners, LLC. Cloud Strategy Partners, LLC is an expert consultancy firm that specializes in Technology and Strategy relating to Cloud Computing.

Course Summary

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 3 / 23

We begin with a discussion of the “paradigm shift” of Cloud Computing. No longer a research project or an offering by a leading edge internet company aimed at leading edge developers, Cloud Computing has become mainstream. The IT landscape is changing because of Cloud Computing, in how companies and researchers obtain computing resources as a serve, and also in how companies and researchers construct their own computing environments. At first, Cloud Computing was a new way to use existing servers, networking, and storage. Now the second generation of servers, networking, and storage, along with a wave of brand new software is emerging, because of the innovation possible in this new infrastructure. In other words, Cloud Computing has become a transformational factor in modern IT development. Our introduction to cloud computing will begin with a very commonly accepted set of definitions, terminology, and reference architecture. The definitions and architectures come from the US Department of Commerce, where the National Institute of Standards and Technology (NIST) did some early, foundational standardization work in Cloud Computing. These definitions and canonical scenarios will set the stage for how we talk about Cloud Computing for the rest of the course. We will then turn to study a number of general Cloud Computing use cases and usage scenarios. There are many ways Cloud Computing can be set up and put to work, and there are many layers and sub-systems in Cloud Computing which we will want to have a precise vocabulary for, in order to consistently proceed in our studies of each and every part, and in how the parts fit together.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 4 / 23

Course Outline This tutorial has the following outline. We begin with a discussion of the “paradigm shift” of Cloud Computing. No longer a research project or an offering by a leading edge internet company aimed at leading edge developers, Cloud Computing has become mainstream. The IT landscape is changing because of Cloud Computing, in how companies and researchers obtain computing resources as a serve, and also in how companies and researchers construct their own computing environments. At first, Cloud Computing was a new way to use existing servers, networking, and storage. Now the second generation of servers, networking, and storage, along with a wave of brand new software is emerging, because of the innovation possible in this new infrastructure. In other words, Cloud Computing has become a transformational factor in modern IT development. Our introduction to cloud computing will begin with a very commonly accepted set of definitions, terminology, and reference architecture. The definitions and architectures come from the US Department of Commerce, where the National Institute of Standards and Technology (NIST) did some early, foundational standardization work in Cloud Computing. These definitions and canonical scenarios will set the stage for how we talk about Cloud Computing for the rest of the course. We will then turn to study a number of general Cloud Computing use cases and usage scenarios. There are many ways Cloud Computing can be set up and put to work, and there are many layers and sub-systems in Cloud Computing which we will want to have a precise vocabulary for, in order to consistently proceed in our studies of each and every part, and in how the parts fit together. This Tutorial section will flow over a large number of slides. Towards to conclusion of the Tutorial, we will summarize the material covered, providing some “take aways” and also some references/pointers to further reading. A selection of self-test questions will also be provided.

Cloud Computing as a key IT technology factor Cloud Computing started off as a new, more efficient way to do “managed hosting”. As computing environment have become more and more standardized, many enterprises and research firms had long realized that “renting” their computing environments could be more cost effective, as actually purchasing, installing, and running hardware is expensive and difficult. Placing the computing into specialized datacenters where bulk purchasing and multi-sourcing of power and network connectivity has been pre-arranged, adds to the efficiency of using “someone else's equipment and location”.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 5 / 23

Advanced virtualization and automation software turned “managed hosting” into “Automated, virtualized, managed hosting” which was essentially re-named Cloud Computing. The automation and the virtualization completely abstracted the user from the physical computing environments and exploded in terms of adoption. The benefits of Cloud Computing in both technical dimensions as well as economic ones, have caused it to become the “go to” infrastructure for both enterprise and research. It is no longer an innovative or risky approach to a computing infrastructure, it is now the most contemporary and modern approach to building one out. The most important benefits of Cloud Computing are “Elastic” resources coupled with “On-Demand” capabilities. Underlying infrastructure (compute, network, and storage) can expand and contract based on the demands of the running applications. The expansion capability in Cloud Computing, based on a scalability design based around loose coupling, distribution, and replication of components, allows (in a well-designed and large Cloud) for essentially unlimited sizing of the underlying infrastructure, with the ability scale back down as well. This elasticity characteristic suits many application scenarios particularly well. Mobile applications need to scale up and down to accommodate mobile subscriber usage habits. Big Data applications need temporarily large pools of computing and storage capabilities to process a data set. As the “Internet of Things” emerge, as devices come on and off line, and move around, and perhaps interact as huge groups at specific times but are idle at other times, these require an elastic type of infrastructure. Finally the Telecom landscape has features which have huge geographic or temporal spikes (messaging around sports events or holidays), and new services which may need to support rapid growth, cold greatly benefit from a platform which can support the “network function virtualization” that next generation Telecoms are turning to. There really isn’t a computing intensive technology area that can’t be helped by Cloud Computing, from traditional line of business applications to new “connected vehicle” applications. That said, Cloud Computing is not an automatic panacea. Existing software is rarely designed to support a distributed, replicated infrastructure, and often must be “re-factored” (sometimes called “re-platformed”) to take advantage of this new platform. This tutorial will cover all of these details later on.

What is Cloud Computing Cloud Computing technologies are emerging as a common way of provisioning infrastructure services, applications and general computing and storage resources on-demand. Despite existence of the cloud services mega-providers, cloud based services provisioning may involve multi-provider and multi-domain resources, including integration with the enterprise legacy services and infrastructures. Clouds represent a new step in evolutional computing

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 6 / 23

and communication technologies development chain by introducing a new type of services and a new abstraction layer for the general infrastructure services virtualization (similar to utilities), portability and automatic provisioning. That said if one had select the key technologies that made up Cloud Computing, one would think first of the virtualization concept, which allows the utility computing model, and then one would look to the SOA model for the blueprint as to how both the Cloud itself is used, as well as for the “loosely coupled, distributed” blueprint for native Cloud applications. Cloud based virtualization allows for easy upgrade and/or migration of enterprise application, including also the whole IT infrastructure segments. This brings significant cost saving comparing to traditional infrastructure development and management that requires lot of manual work. Cloud based applications operate as regular applications in particular using modern SOA (Service Oriented Architecture) and Web Services platforms for services and applications integration, however their composition and integration into distributed cloud based infrastructure will require a number of functionalities and services that are addressed by current Cloud Computing technologies development. The US Government went to some lengths to define precisely what Cloud Computing is, and this definition has been widely accepted in industry and research: “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.”

Cloud Computing Definition: Components Essential Characteristics: On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider. Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations). Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, and network bandwidth. Rapid elasticity. Capabilities can be elastically

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 7 / 23

provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time. Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). This should allow services provisioning on a pay-per-use or charge-per-use basis. Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service. Service Models Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure (see below). The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), 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. Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure the consumer-created or acquired applications created using programming languages, libraries, services, 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 configuration settings for the application-hosting environment. Infrastructure as a Service (IaaS). 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, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls). A cloud infrastructure is the collection of hardware and software that enables the five essential characteristics of cloud computing. The cloud infrastructure can be viewed as containing both a physical layer and an abstraction layer. The physical layer consists of the hardware resources that are necessary to support the cloud services being provided, and typically includes server, storage and network components. The abstraction layer consists of the software deployed across the physical layer, which manifests the essential cloud characteristics. Conceptually the abstraction layer sits above the physical layer.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 8 / 23

Deployment Models: Basic models defined in the NIST standard: Private cloud. The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises. Community cloud. The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises. Public cloud. The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider. Hybrid cloud. The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).

NIST Cloud Definition – Visualization The slide provides a visual presentation of the NIST Cloud Computing definition. It specifically reflects importance of resource pooling and virtualization which are both the cloud properties and the essential cloud enabling technologies. Cloud resources are typically consolidated/pooled in the big datacenters running complex cloud services management and provisioning platform, also called cloud middleware.

Cloud Service Models: Infrastructure as a Service (IaaS) Infrastructure as a Service (IaaS) is the most basic Cloud Service Model. It is mean to provide an “on-demand server”, essentially. Infrastructure as a Service (IaaS). 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, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 9 / 23

As NIST defines it: Capability is provided directly to the consumer, this specifically means, through a self-service interface (programmatic, or GUI), and on a “while you wait” sort of nearly immediate basis The provisioning will be a computer processing platform (which is typically a virtual server, and/or storage, with connectivity through one or more networks. One may also look to IaaS for provisioning other fundamental computing capabilities, for example special purpose processing platforms (GPUs for example) IaaS is not typically a restricted runtime like a “code container” (see Paas later), it is mean to convey a provisioning of a platform where a whole stack can be placed, including a base operating system of the consumers choice, on top of which they can put applications.

In IaaS the underlying context/physical system on which their resource is provisioned is opaque to them, they do not manage or control underlying Cloud infrastructure. They do have control over their operating system, storage, deployed applications, and possibly aspects of the networking components. This is a point of major differentiation amongst Cloud Computing systems. Some Cloud Computing systems offer basic Layer 3 firewall control (IP addresses, ports and protocols) control but no Layer 2 capabilities. Some Cloud Computing platforms allow the consumer to have layer 2 controls (VLAN). Some Cloud computing platforms allow the usr to choose their Layer 0 interconnect technology (Ethernet/Infinibad) and lower level Layer 1 controls on protocols (for high performance computing, for example).

Common examples of IaaS systems are as follows. One very common example is an Infrastructure is a Service offering providing x32 or x64 (PC architecture servers) by offering a Virtual Machine, routed IP with DNS connectivity, and storage (mounted drives, also called block storage, or buckets of bits, also called Object storage). The consumer is presented with a “bare metal VM” (sic) that they will boot their Operating System of choice onto, and on top of which will run their application stack.

Another common Infrastructure as a Service example is inside an enterprise IT department, where the IT department as deployed a so called Private Cloud, where they have interconnected the physical IT compute and storage system with appropriate networking, and layered a Cloud Computing software system on top of this, and are able to offer this as an internal IT service of “virtual infrastructure Private Cloud”.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 10 / 23

Cloud Service Models: Platform as a Service (PaaS) The next Cloud Service Model is Platform as a Service. Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure the consumer-created or acquired applications created using programming languages, libraries, services, 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 configuration settings for the application-hosting environment. NIST has a specific definition for this category of Cloud Computing service: This capability is also provide directly to the consumer, meaning that it is “self-service”, through an interface which is either programmatic or GUI (or both). The service provided differs from IaaS, however, The service provides a capability for the consumer to deploy their applications, as written in a programming language, script, collection of libraries, or other programmer level set of tools and services as supported by the provider. As with IaaS, the consumer does not manage or control any underlying Cloud Computing system infrastructure of storage or networking, and even servers (as with IaaS)); they are provided with and environment to which controls the code/applications level deployment of applications, and possibly the configuration settings for the application environment. This is what the consumer is interested in with PaaS.

Examples are as follows: A company subscribes to a service, which provides access to one of the key enterprise applications at the database and business services layer through tools. The enterprise can use the tools through and access the customer and sales and support databases along with other facilities as provided by the PaaS service provider, to construct, deploy, and run new applications that the Enterprise creates. A company accesses a PaaS Cloud Service Provider to provide them a platform for programming,, deployment and runtime of company developed applications. This might be an environment for Java, Ruby on Rails, Python, Groovy, Scala, or Fortran.

A company subscribes to a PaaS Cloud Service Provider which provides access to the core capabilities (databases, business logic) of their line of business suite, for example Customer Relationship Management (CRM), Enterprise Resource Planning (ERP), Supply Chain Management (SCM), Human Resources Management Systsems (HRMS), etc. The Platform off by the PaaS Cloud Service Provider in this example provides Business Process

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 11 / 23

Management (BPM) capabilities allowing the company use the PaaS Cloud Service Provider tools to construct a new application consisting of orchestration of CRM, ERP, SCO, HRMS elements.

Cloud Service Models: Software as a Service (SaaS) The next important Cloud Service Model is called Software as a Service, This is where the Cloud Service Provider is offering a complete application (“Software”) for consumption in a turnkey, self-service format (usually through a browser). Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure (see below). The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), 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. NIST has the following definition for this: The capability is provided directly to the consumer in a self-service/immediate and interactive availability fashion (usually though a Browser). The consumer uses a software application which is actually running on the SaaS Cloud Service Provider’s infrastructure. They may be using data which is either from external sources or they are using data which is theirs, which they have inputted or uploaded to the SaaS Cloud Service Provider. As far as the consumer is concerned, the SaaS application looks like “theirs”.

The consumer may be accessing this from a browser, an “app”, or a dedicated interface which they download and run. The SaaS application may also have some programmatic interfaces to it, allowing one to embed windows or applets of the application into the consumer’s intranet or existing internal portal architecture. Again, the consumer does not manage or control any underlying Cloud Computing system infrastructure, including network, servers, or storage; Even application setting would be accessed by user-specific (or user admin specific) configuration settings.

Examples of SaaS follow: Web based email is the prototypical example of a SaaS application. Gmail, Hotmail, Yahoo Mail, are all examples. Another example is the web based (or more accurately cloud based) productivity suites like Microsoft Office364, Google Applications, or Zoho Office.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 12 / 23

The SaaS offering does not need a complex user interface, it can be a service that ties into an Desktop or Mobile device in a semi-transparent manner, for example, as a storage folder. This is how Google Drive, Dropbox, Skydrive, and many other product work. Finally, as an example, the SaaS service may be an analytics service, which offers complex database or other data analytic capabilities to the consumer, without the consumer having to explicitly deploy data warehouse servers, map/reduce servers, and so on.

Relation between IaaS, PaaS, SaaS This slide illustrates what aspects or functionalities in the general cloud services model are managed by the provider or the customer or user. The figure shows the following functional layers of the typical application: Hardware platform including CPU/servers, storage, network Virtualization layer hosting virtualization software Operating System Cloud management software Runtime environment Application Data Depending on the cloud service model, the layer management responsibility is split differently between the CSP and the User. It important to mention that Data management is always remain the responsibility of the User. The cloud services management software (or cloud middleware) depending on the cloud service model may take a place above virtualisation layer for IaaS cloud and above runtime environment for PaaS cloud.

Cloud Deployment Models A cloud infrastructure is the collection of hardware and software that enables the five essential characteristics of cloud computing. The cloud infrastructure can be viewed as containing both a physical layer and an abstraction layer. The physical layer consists of the hardware resources that are necessary to support the cloud services being provided, and typically includes server, storage and network components. The abstraction layer consists of the software deployed across the physical layer, which manifests the essential cloud characteristics. Conceptually the abstraction layer sits above the physical layer. Basic models defined in the NIST standard: Private cloud. The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 13 / 23

Community cloud. The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises. Public cloud. The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider. Hybrid cloud. The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).

NIST Cloud Computing Reference Architecture (CCRA) 2.0 – Consolidated View (1) Standardization has been very important from the beginning of the Cloud Computing development. It is important for both Cloud Services Providers (due to the scale of their infrastructure and facilities) and for cloud services consumers to allow their interoperability with other services. In the Lecture Notes we refer to the related standards by National Institute of Standards and Technology of USA (NIST) that define the Cloud Computing technology and Cloud Computing Reference Architecture and ITU-T Focus Group on Cloud FG-Cloud that currently is continuing as JCA-Cloud. NIST is active in fostering cloud computing practices that support interoperability, portability, and security requirements that are appropriate and achievable for important usage scenarios. Since first publication of the currently commonly accepted NIST Cloud definition in 2008, NIST is leading wide internationally recognized activity on defining conceptual and standard base in Cloud Computing, which has been resulted in publishing the following documents that create a solid base for cloud services development and offering:

NIST SP 800-145, A NIST definition of cloud computing – quoted above NIST SP 500-292, Cloud Computing Reference Architecture, v1.0 DRAFT NIST SP 800-146, Cloud Computing Synopsis and Recommendations NIST SP500-291 NIST Cloud Computing Standards Roadmap

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 14 / 23

The slide presents a high level view of the NIST Cloud Computing Reference Architecture (CCRA), which identifies the major actors (Cloud Consumer, Cloud Service Provider, Cloud Auditor, Cloud Broker, and Cloud Carrier), their activities and functions in cloud computing. A cloud consumer may request cloud services from a cloud provider directly or via a cloud broker. A cloud auditor conducts independent audits and may contact the others to collect necessary information. The proposed architecture is suitable for many purposes where network performance is not critical but needs to be extended with explicit network services provisioning and management when the cloud applications are critical to network latency like in case of enterprise applications, business transactions, crisis management, etc.

NIST Cloud Computing Reference Architecture (CCRA) 2.0 - Main Roles (2) NIST Cloud Computing Reference Architecture (CCRA) defines a number of stakeholders and actors which can be extended based on the basic of use cases analysis. The Slide illustrates some of those on such a list and shows relationships of the stakeholders and actors.

Cloud Services Delivery Ecosystem: Actors and Roles Basic/Main actors –Define main business relation in cloud services delivery Cloud Service Provider Cloud Customer Cloud User Cloud Broker Other actors –Define other relations in cloud business Cloud Carrier Cloud Auditor Cloud Developer, Cloud Integrator Cloud/Intercloud Service Operator Cloud Resource Provider Physical Resource Provider

Main Roles and Actors Cloud Service Provider: A cloud provider is a person, an organization; it is the entity responsible for making a service available to interested parties. A Cloud Provider acquires and manages the computing infrastructure required for providing the services, runs the cloud software that provides the services, and makes arrangement to deliver the cloud services to the Cloud Consumers through network access.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 15 / 23

Cloud Customer: A person or organization that maintains a business relationship with, and uses service from, Cloud Providers. Cloud Customer is an entity that manages the provisioned cloud services, or virtual private cloud infrastructure in general. Cloud User: Entity, normally a person, that consumes cloud based services Cloud Broker: An entity that manages the use, performance and delivery of cloud services, and negotiates relationships between Cloud Providers and Cloud Consumers.

Other Roles and Actors Cloud Carrier: An intermediary that provides connectivity and transport of cloud services from Cloud Providers to Cloud Consumers. Cloud Auditor: A party that can conduct independent assessment of cloud services, information system operations, performance and security of the cloud implementation. Cloud Developer: A party that develops cloud based services and can be internal or external role for organization (customer) that intends to use prospective cloud service. Particular task include migration of the company’s IT infrastructure to cloud platform. Cloud Integrator: A party which primarily role is to implement the approved cloud based project, in particular, IT migration to clouds, and may also include other functions such as company’s IT infrastructure maturity and readiness for cloud evaluation, implementation plan development, cloud infrastructure and applications deployment. Cloud Operator/Provider A party to which the created cloud applications and infrastructure can be outsourced.

NIST Cloud Computing Reference Architecture (CCRA) 2.0 - Provider Functions The Cloud Service Provider is best known for the visible functions it provides, that is enabling IaaS, PaaS, and SaaS capabilities, Behind the scenes, there is a Service Delivery Framework (SDF) which provides the mechanics for the Service Provisioning. The Service Provisioning: occurs in several stages: Request & SLA Negotiation Reservation & Composition Deployment Operation Decommissioning. These are explained on the next slide.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 16 / 23

Cloud Services Provisioning Stages/Lifecycle The on-demand cloud services provisioning requires a well-defined provisioning workflow and service lifecycle model. The ICAF Service Delivery Framework (SDF) combines in a provisioning workflow all processes that are run by different supporting systems and executed by different actors. The Slide illustrates the main service provisioning or delivery stages that address specific requirements of the provisioned on-demand CSA virtualized services:

Service Request Stage (including SLA negotiation). The SLA can describe Quality of Service (QoS) and security requirements of the negotiated infrastructure service along with information that facilitates authentication of service requests from users. This stage also includes generation of the Global Reservation ID (GRI) that will serve as a provisioning session identifier and will bind all other stages and related security context.

Composition/Reservation Stage that also includes Reservation Session Binding with the GRI, which provides support for complex reservation processes in multi-domain multi-provider environments. This stage may require access control and SLA/policy enforcement.

Deployment Stage, including services Registration and Synchronization. The deployment stage begins after all component resources have been reserved and includes distribution of the common composed service context (including security context) and binding the reserved resources or services to the GRI as a common provisioning session ID. The Registration and Synchronization stage (which can be considered as optional) specifically targets scenarios with provisioned service migration or re-planning.

Operation Stage (including Monitoring). This is the main operational stage of the provisioned on-demand cloud services. Monitoring is an important functionality of this stage to ensure service availability and secure operation, including SLA enforcement.

Decommissioning Stage ensures that all sessions are terminated, data is cleaned up, and session security context is recycled. The decommissioning stage can also provide information to or initiate service usage accounting.

Two additional (sub-)stages can be initiated from the Operation stage, based on the running service or resources state:

Re-composition or Re-planning Stage should allow incremental infrastructure changes. Recovery/Migration Stage can be initiated by the user or provider. This process can use

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 17 / 23

MD-SLC to initiate a full or partial resource re-synchronization, it may also require re-composition.

Implementation of the proposed SDF requires a special Service Lifecycle Metadata Repository (MD SLC) to support consistent services lifecycle management. MD SLC keeps the services metadata that include at least service state, service properties, and services configuration information. This functionality is a part of the cloud management software and cloud platform software.

Cloud Use Cases Why do we need use cases analysis? Use cases analysis is an important component of the technology definition. The main goals in collecting and analyzing use cases include:

♦ Use cases analysis gives examples how the technology is used and allows defining best practices.

♦ Provide input for taxonomy ♦ Define requirements general and specific, functional and non-functional ♦ Provides a basis for architecture validation ♦ Help identifying the main stakeholders

We should not also exclude the analysis of use cases as valuable information for education and professional training. What we actually do in this course. On the other hand, when planning for company’s IT infrastructure migration to clouds, the applicable cloud service and deployment model is selected based on a number of factors:

♦ Company, business and applications must have economical or business benefits from

♦ moving to clouds ♦ Besides purely technical, other business, organizational or staff factors must be

considered ♦ Some (older) applications may need to be re-designed ♦ Transition period from in-house to cloud services takes time and must be carefully

planned

Use cases and business relationships There has been a lot of study as to the formal development of use cases, so that the set of use cases one considers sufficiently covers the variety of situations and actors which are

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 18 / 23

possible, given all the ways that Cloud Computing can be utilized. There are different approaches to developing use cases, in terms of selection and also classification. One way to look at the variability, is to consider a variety of service models and deployment models. Another way is to enumerate possibilities based on stakeholder involvement and business relations. Another way is to solicit and adopt common industry or community use cases.

A collaborative effort of by Cloud Computing researchers has come up with one way to characterize example use cases: End users to Cloud Enterprise to Cloud to End users Enterprise to Cloud Enterprise to Cloud to Enterprise Private Cloud Changing Cloud Providers Hybrid Cloud Something important to consider is, that these scenarios don’t suddenly “happen”, they are built out, or more accurately “grown into” because of a particular enterprise need. Think of the use case, where an enterprise wants to migrate part of its IT infrastructure to a Cloud. It is not sure which approach it needs yet. But this is the use case that all companies and enterprises face when they decide to move their IT infrastructure to clouds. The motivation to do this is to benefit from the functional cloud benefits described above as well as economical and business values: shifting for CAPEX to OPEX IT expenses, and increasing business agility. As we pointed out, full cloud migration doesn’t happen in one step. For the big organizations, it typically starts from implementing private cloud and moving local IT services to cloud based. This step will also lead to the whole IT maturity and its readiness to outsource some services to public cloud. This creates a hybrid cloud. And the next step will be to move operational IT infrastructure or some departments entirely to cloud. What are challenges and how to address them we will discuss in the subsequent use cases.

General Cloud Use Cases General cloud use cases and usage scenarios. We can identify the following general cloud use cases which we discuss in details below. Use case 1: Moving part of workload to cloud in case of abrupt demand increase: sometimes called “cloudburst” Use case 2: Disaster recovery -moving/restoring emergency load in a partner cloud, restoring own cloud based IT infrastructure Use case 3: Service continuity when changing cloud provider

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 19 / 23

Cloudburst: Rapid load increase: seasonal, cyclical This is Use case 1: Extending services and capacities into public cloud in case of rapid demand increase (“cloudbursting” scenario). This term “cloudbursting” is an imprecise term widely used by businesses to describe situations when workload is temporarily migrated to cloud, extending and replicating the private cloud resources and VMs (using the formula “buy the base, rent a spike”). We will consider one “cloudbursting” scenario as it is one of key use cases for cloud computing that bring important advantages for use of cloud technologies by SME (also called SMB –Small and Medium Business). The hypothetical SME is a startup with already running business but considering new product or service that will require building or outsourcing new IT infrastructure and resources. Main pre-conditions and requirements: Untested/unpredictable workload -In particular for webshops, social sites, gaming and mobile applications. The business wants to deploy services and infrastructure “elastically” so they can be expanded and un-expanded to meet the actual demands. This allows for the easy extension (in case of success) and cheap failure (in case if service is not successful) Another driving force is handle an expected service expansion to different countries and geographical zones. The ability to bring up infrastructure elsewhere addresses this need. One wants to have multiple infrastructures anyway, to provide for load balancing and latency minimization across geographies. Finally, to provide for high service availability. The SME use case should also address a potential situation called “High-profile success disaster” what happens when service or site popularity grows rapidly what can a cases with modern web and mobile applications. Known examples/stories include the BestBuy year 2012 holiday shopping service overloading, or Netflix service outage the same year 2012 after problems at AWS that hosts Netflix services. Netflix service was also irregularly available during Christmas holidays in 2013 in Europe. All these denial of service cases were caused by increased demand from customers. The cloud based solution can effectively address the situations with the demand influx, however applications and services must be designed in a way to allow their easy extension, replication and relocation to external cloud provider infrastructure. It is important to repeat that not all services and operational procedures are suitable for moving to clouds, in particular those that deal with the sensitive data or require critical availability. The diagram on the slide illustrates this use case. The company can be one of the type or running the following applications: webshop or e-market, entertainment or gaming application. Such applications are known for having seasonal or cyclical demand, and in case of success can attract abruptly increased amount of users.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 20 / 23

Cloudburst: Rapid load increase: seasonal, cyclical - Details In case of demand or load increase that overload or even creates denial of service for existing company’s IT infrastructure or web server, the company may decide to move part of load to the cloud, typically public cloud. However this is cannot be done just in a second or minute. A number of preliminary conditions and functionalities must be satisfied and in place. Firstly, the company’s IT infrastructure must be already cloud based implemented as a private cloud or hosted on public cloud. Next, services and applications are grouped to simplify services extension to the cloud. Some 3rd party services (like payment systems) are typically already hosted on a specially certified for this service cloud (or at least should not be considered for moving to public cloud). Finally, the whole or part of IT infrastructure is backed up, including VM, Data, UserDB, topology, state/session. The following sequence describes in general the excessive load migration to cloud: The cloudburst scenario is triggered when increased number of requests causes services delay or interruption VM images and up-to-date order data (optionally UserDB) are backed up/replicated and transferred to a suitable cloud provider (location, compatibility, cost) VMs and all necessary components are deployed in a new cloud/location, data and states are synchronized Requests (all or part) are started to be re-directed to a new cloud location benefiting from elasticity of cloud resources Additional capacity are automatically added to keep the required Quality of Service (QoS), e.g. request processing time, download speed, streaming quality. Some services are typically not replicated to a burst cloud, e.g. UserDB and order or payment processing Initial client authentication can be done at the main site/portal and redirected using Singe Sign On (SSO) to a new/cloud location. Data and processes synchronization must be in action, Then external cloud resources and infrastructure stopped and de-commissioned, VM destroyed, after demand decrease (scale-down), all business related data are transferred back to the main company site.

The following challenges need to be addressed: Data security, user personal data and identifiable information privacy protection Data synchronization, reliable and low latency network connectivity between the main and burst cloud sites/locations. All company’s and customers’ related data must be securely recycled in the public cloud; this should be a special clause in the SLA between company and cloud provider. How to split infrastructure components without compromising performance and security

Disaster Recovery (massive infrastructure failure) Use case 2: Disaster recovery and large scale provider failure

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 21 / 23

Although critical infrastructure and community or governmental services are designed to address possible services outage in cases of natural disaster or massive infrastructure failure, the recovery process will require special technical procedures and resources. The recovery process in general includes two stages: Moving/restoring emergency load in a partner cloud, and Restoring own cloud based IT infrastructure As an example, we discuss the following scenario: Due to natural disaster IT infrastructure of Municipality A destroyed. Offline backup stored remotely is available but cannot be used from Municipality A. There is vital need for information both for citizens and for rescue team. Number of users attempting to access municipality information services will strongly increase The slide illustrates this scenario. The following sequence describes in general the disaster recovery process: Emergency Team (ET) starts working and follows the emergency response procedure ET accesses backup and transfers all files and VM images to previously defined location(s): Information service is restored in the municipality B Email service is restored in municipality C

Some services are provided by other municipalities and/or often by public clouds on contractual or volunteer basis. New services location is registered in DNS and information is populated on Internet and on the web, by phone, in newspapers Municipality A information services and email start working in emergency mode; all requests and email are redirected to new location. When original facility and datacenter are restored, services will be migrated to original location

Disaster Recovery: Services restored in a new location The following preconditions are suggested for this scenario to work successfully: Municipalities’ IT infrastructures are cloud based, e.g. using community cloud deployment model The whole IT infrastructure is backed up regularly, including VMs of all applications and services, data, UserDB, and infrastructure topology Data and backups are replicated to/or stored remotely The success of the described here disaster recovery scenario depends on addressing the following challenges: Compatible cloud platforms in Municipality A, B, C Compatibility and common standards for VM images, data, and services description Full services backup and restoration must also include infrastructure and services topology.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 22 / 23

Service continuity when changing Cloud provider Use case 3: Service continuity when changing cloud provider: This use case illustrates what are the main tasks and challenges when moving from one cloud service provider to another. Such situation may happen when the current provider discontinues its service or the customer decided to move to another provider because of a number of reasons, e.g. cost of services, available services, regulation requirements that may restrict location of the provider’s data center. Actually, the scenario with the service migration to another provider should be discussed when planning cloud technology implementation by enterprise, to avoid possible problems with the provider lock-in what is still typical in cloud business. The slide illustrates the IT infrastructure migration scenario. The following steps describe the migration process: Enterprise transfers/replicates either individual VM images or the whole infrastructure to new provider(s), in our case: Main IT infrastructure is moved to provider B Email service is moved to provider C Data are replicated to new location(s) and synchronized. New services location is registered in DNS for correct Internet traffic forwarding; no other changes required Enterprise services start operating from the new cloud providers as usual.

Service continuity when changing Cloud provider The migration process should be well planned and there will be a transition period. The following preconditions should assured: Enterprise IT infrastructure is cloud based: private cloud or hosted on cloud The whole IT infrastructure is backed up, including VM, Data, UserDB, infrastructure or services topology The transition plan may also include the services/infrastructure optimization, some applications re-design. This use case has similar challenges as in our cases: Compatibility of cloud platforms at providers A, B, C Compatibility and standards for VM images, Data, service description and topology Full and up to date services backup, data synchronization at the moment of the service switch to a new location.

Summary and Take Away From the materials presented, it can be seen that Cloud computing is presently a mainstream technology widely used by business and industry. It is well defined and has sufficient standardization base and best practices.

Transcript

IEEE eLearning Library Cloud Computing Definition, Ref Architecture, & General Use Cases Transcript pg. 23 / 23

The Cloud Computing technology/ecosystem defines a number of new actors and stakeholders. These need to be paid kept in mind in order to properly understand the goals, roles, and challenges that each action brings and stakeholder has.

As a simple way to understand a “Cloud in Action”, basic use cases were presented to illustrate the main cloud features and opportunities.