Unit 2/ Lecture 1

Cloud Computing Architecture: Reference Model

 

An overview of the NIST cloud computing reference architecture is which identifies the major performer/Actor their activities and functions of cloud computing as shown in Fig

 

                   

 

“The cloud computing reference model represents a generic high-level architecture and is intended to facilitate the understanding of the requirements, uses, characteristics and standards of cloud computing.”

 

The NIST cloud computing reference architecture defines five major actors as shown in Fig. Each performer is an entity may be a person or an organization that participates in a transaction or process and performs tasks in cloud computing.

 

 

                     

                

                   Figure: Performers of NIST Cloud Computing Reference Architecture

 

 

 

 

The briefly lists of the actors / performers defined in the NIST cloud computing reference architecture in Table

 

                      

 

 

The physical infrastructure is managed by the core middleware, the objectives of which are to provide an appropriate runtime environment for applications and to best utilize resources. At the bottom of the stack, virtualization technologies are used to guarantee runtime environment customization, application isolation, sandboxing, and quality of service.

 

Hardware virtualization is most commonly used at this level. Hypervisors manage the pool of resources and expose the distributed infrastructure as a collection of virtual machines. By using virtual machine technology it is possible to finely partition the hardware resources such as CPU and memory and to virtualize specific devices, thus meeting the requirements of users and applications. This solution is generally paired with storage and network virtualization strategies, which allow the infrastructure to be completely virtualized and controlled.

 

According to the specific service offered to end users, other virtualization techniques can be used; for example, programming-level virtualization helps in creating a portable runtime environment where applications can be run and controlled. This scenario generally implies that applications hosted in the cloud be developed with a specific technology or a programming language, such as Java, .NET, or Python.

 

In this case, the user does not have to build its system from bare metal. Infrastructure management is the key function of core middleware, which supports capabilities such as negotiation of the quality of service, admission control, execution management and monitoring, accounting, and billing.

 

The combination of cloud hosting platforms and resources is generally classified as a Infrastructure-as-a-Service (IaaS) solution. We can organize the different examples of IaaS into two categories: Some of them provide both the management layer and the physical infrastructure; others provide only the management layer (IaaS (M)).

 

In this second case, the management layer is often integrated with other IaaS solutions that provide physical infrastructure and adds value to them.

 

IaaS solutions are suitable for designing the system infrastructure but provide limited services to build applications. Such service is provided by cloud programming environments and tools, which form a new layer for offering users a development platform for applications. The range of tools includes Web-based interfaces, command-line tools, and frameworks for concurrent and distributed programming.

 

In this scenario, users develop their applications specifically for the cloud by using the API exposed at the user-level middleware. For this reason, this approach is also known as Platform-as-a-Service (PaaS) because the service offered to the user is a development platform rather than an infrastructure.

 

PaaS solutions generally include the infrastructure as well, which is bundled as part of the service provided to users. In the case of Pure PaaS, only the user-level middleware is offered, and it has to be complemented with a virtual or physical infrastructure. The top layer of the reference model depicted in Figure contains services delivered at the application level. These are mostly referred to as Software-as-a-Service (SaaS).

 

 In most cases these are Web-based applications that rely on the cloud to provide service to end users. The horsepower of the cloud provided by IaaS and PaaS solutions allows independent software vendors to deliver their application services over the Internet. Other applications belonging to this layer are those that strongly leverage the Internet for their core functionalities that rely on the cloud to sustain a larger number of users; this is the case of gaming portals and, in general, social networking websites.

 

 

 

 

 

  ----------------REFERENCE {book: Mastering cloud computing, author: buyya, page no.-4.2}

 

 

 

S NO.

RGPV QUESTION

YEAR

MARKS

1

What are the fundamental components introduced in cloud reference model? Explain.

December 2014

7

 

 

 

 

 

 

Unit 2/Lecture 2

Cloud Computing Architecture: Cloud Types

 

Cloud Types:

 

Cloud computing comes in three forms: public clouds, private clouds, and hybrids clouds. Depending on the type of data you're working with, you'll want to compare public, private, and hybrid clouds in terms of the different levels of security and management required.

 

Public Clouds:

 

     A public cloud is basically the internet. Service providers use the internet to make resources, such as applications (also known as Software-as-a-service) and storage, available to the general public, or on a ‘public cloud.  Examples of public clouds include Amazon Elastic Compute Cloud (EC2), IBM’s Blue Cloud, Sun Cloud, Google AppEngine and Windows Azure Services Platform. 

     

For users, these types of clouds will provide the best economies of scale, are inexpensive to set-up because hardware, application and bandwidth costs are covered by the provider.  It’s a pay-per-usage model and the only costs incurred are based on the capacity that is used.

 

There are some limitations, however; the public cloud may not be the right fit for every organization. The model can limit configuration, security, and SLA specificity, making it less-than-ideal for services using sensitive data that is subject to compliancy regulations. 

 

                        

 

Private Clouds:

 

Private clouds are data center architectures owned by a single company that provides flexibility, scalability, provisioning, and automation and monitoring.  The goal of a private cloud is not sell “as-a-service” offerings to external customers but instead to gain the benefits of cloud architecture without giving up the control of maintaining your own data center.

 

Private clouds can be expensive with typically modest economies of scale. This is usually not an option for the average Small-to-Medium sized business and is most typically put to use by large enterprises. Private clouds are driven by concerns around security and compliance, and keeping assets within the firewall.

 

            

 

Hybrid Clouds

 

By using a Hybrid approach, companies can maintain control of an internally managed private cloud while relying on the public cloud as needed.  For instance during peak periods individual applications, or portions of applications can be migrated to the Public Cloud.  This will also be beneficial during predictable outages: hurricane warnings, scheduled maintenance windows, rolling brown/blackouts.

 

The ability to maintain an off-premise disaster recovery site for most organizations is impossible due to cost. While there are lower cost solutions and alternatives the lower down the spectrum an organization gets, the capability to recover data quickly reduces. Cloud based Disaster Recovery (DR)/Business Continuity (BC) services allow organizations to contract failover out to a Managed Services Provider that maintains multi-tenant infrastructure for DR/BC, and specializes in getting business back online quickly.

 

                         

 

 

Others:

 

Community cloud

Community cloud shares infrastructure between several organizations from a specific community with common concerns (security, compliance, jurisdiction, etc.), whether managed internally or by a third-party, and either hosted internally or externally. The costs are spread over fewer users than a public cloud (but more than a private cloud), so only some of the cost savings potential of cloud computing are realized.

 

                                      

 

Distributed cloud

A cloud computing platform can be assembled from a distributed set of machines in different locations, connected to a single network or hub service. It is possible to distinguish between two types of distributed clouds: public-resource computing and volunteer cloud.

 

        1) Public-resource computing: This type of distributed cloud results from an expansive definition of cloud computing, because they are more akin to distributed computing than cloud computing. Nonetheless, it is considered a sub-class of cloud computing, and some examples include distributed computing platforms such as BOINC and Folding@Home.

 

       2) Volunteer cloud: Volunteer cloud computing is characterized as the intersection of public-resource computing and cloud computing, where a cloud computing infrastructure is built using volunteered resources. Many challenges arise from this type of infrastructure, because of the volatility of the resources used to build it and the dynamic environment it operates in. It can also be called peer-to-peer clouds, or ad-hoc clouds. An interesting effort in such direction is Cloud@Home, it aims to implement a cloud computing infrastructure using volunteered resources providing a business-model to incentivize contributions through financial restitution.

                          

 

Inter-cloud

 

The Inter-cloud is an interconnected global "cloud of clouds" and an extension of the Internet "network of networks" on which it is based. The focus is on direct interoperability between public cloud service providers, more so than between providers and consumers (as is the case for hybrid- and multi-cloud).

           

 

Multi-cloud

Multi-cloud is the use of multiple cloud computing services in a single heterogeneous architecture to reduce reliance on single vendors, increase flexibility through choice, mitigate against disasters, etc. It differs from hybrid cloud in that it refers to multiple cloud services, rather than multiple deployment modes (public, private, legacy).

                                           

 

 

 

 

 

 

-----------------------REFERENCE {internet link: http://www.asigra.com/blog/cloud-types-private-public-and-hybrid}

 

-------------------REFERENCE {internet link: https://en.wikipedia.org/wiki/Cloud_computing}

 

 

Video Link: http://nptel.ac.in/courses/106106129/25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

UNIT 02/LECTURE 3

Cloud Service Management

Cloud Service Management [RGPV/Dec2013 (7)]

Cloud Service Management includes all of the service-related functions that are necessary for the management and operation of those services required by or proposed to cloud consumers. As illustrated in  Figure, cloud service management can be described from the perspective of business support, provisioning and configuration, and from the perspective of portability and interoperability requirements.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Business Support

 

Business Support entails the set of business-related services dealing with clients and supporting processes. It includes the components used to run business operations that are client-facing.

Customer management: Manage customer accounts, open/close/terminate accounts, manage user profiles, manage customer relationships by providing points-of-contact and resolving customer issues and problems, etc.

Contract management: Manage service contracts, setup/negotiate/close/terminate contract, etc.

Inventory Management: Set up and manage service catalogs, etc.

Accounting and Billing: Manage customer billing information, send billing statements, process received payments, track invoices, etc.

Reporting and Auditing: Monitor user operations, generate reports, etc.

 

Pricing and Rating: Evaluate cloud services and determine prices, handle promotions and pricing rules based on a user's profile, etc.

 

Provisioning and Configuration

Rapid provisioning: Automatically deploying cloud systems based on the requested service/resources/capabilities.

Resource changing: Adjusting configuration/resource assignment for repairs, upgrades and joining new nodes into the cloud.

Monitoring and Reporting: Discovering and monitoring virtual resources, monitoring cloud operations and events and generating performance reports.

Metering: Providing a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts).

SLA management: Encompassing the SLA contract definition (basic schema with the QoS parameters), SLA monitoring and SLA enforcement according to defined policies.

 

Portability and Interoperability

 

            The proliferation of cloud computing promises cost savings in technology infrastructure         and faster software upgrades. The US government, along with other potential cloud computing customers, has a strong interest in moving to the cloud. However, the adoption of cloud computing depends greatly on how the cloud can address users concerns on security, portability and interoperability. This section briefly discusses the requirement for portability and interoperability, with security.

 

For portability, prospective customers are interested to know whether they can move their data or applications across multiple cloud environments at low cost and minimal disruption. From an interoperability perspective, users are concerned about the capability to communicate between or among multiple clouds.

 

Cloud providers should provide mechanisms to support data portability, service interoperability, and system portability. Data portability is the ability of cloud consumers to copy data objects into or out of a cloud or to use a disk for bulk data transfer. Service interoperability is the ability of cloud consumers to use their data and services across multiple cloud providers with a unified management interface. System portability allows the migration of a fully-stopped virtual machine instance or a machine image from one provider to another provider, or migrate applications and services and their contents from one service provider to another.

 

It should be noted that various cloud service models may have different requirements in related with portability and interoperability. For example, IaaS requires the ability to migrate the data and run the applications on a new cloud. Thus, it is necessary to capture virtual machine images and migrate to new cloud providers which may use different virtualization technologies. Any provider-specific extensions to the VM images need to be removed or recorded upon being ported. While for SaaS, the focus is on data portability, and thus it is essential to perform data extractions and backups in a standard format.

 

Security

 

                   It is critical to recognize that security is a cross-cutting aspect of the architecture that spans across all layers of the reference model, ranging from physical security to application security. Therefore, security in cloud computing architecture concerns is not solely under the purview of the Cloud Providers, but also

Cloud Consumers and other relevant actors. Cloud-based systems still need to address security requirements such as authentication, authorization, availability, confidentiality, identity management, integrity, audit, security monitoring, incident response, and security policy management. While these security requirements are not new, we discuss cloud specific perspectives to help discuss, analyze and implement security in a cloud system.

 

Cloud Service Model Perspectives

 

The three service models identified by the NIST cloud computing definition, i.e. SaaS, PaaS, and IaaS, present consumers with different types of service management operations and expose different entry points into cloud systems, which in turn also create different attacking surfaces for adversaries. Hence, it is important to consider the impact of cloud service models and their different issues in security design and implementation. For example, SaaS provides users with accessibility of cloud offerings using a network connection, normally over the Internet and through a Web browser. There has been an emphasis on Web browser security in SaaS cloud system security considerations. Cloud Consumers of IaaS are provided with virtual machines (VMs) that are executed on hypervisors on the hosts, therefore, hypervisor security for achieving VM isolation has been studied extensively for IaaS Cloud Providers that use virtualization technologies.

 

 

Implications of Cloud Deployment Models

 

The variations of cloud deployment models have important security implication as well. One way to look at the security implications from the deployment model perspective is the differing level of exclusivity of tenants in a deployment model. A private cloud is dedicated to one consumer organization, where as a public cloud could have unpredictable tenants co-existing with each other, therefore, workload isolation is less of a security concern in a private cloud than in a public cloud. Another way to analyze the security impact of cloud deployment models is to use the concept of access boundaries. For example, an on-site private cloud may or may not need additional boundary controllers at the cloud boundary when the private cloud is hosted on-site within the Cloud Consumer organizations network boundary, whereas an out-sourced private cloud tends to require the establishment of such perimeter protection at the boundary of the cloud.

 

Shared Security Responsibilities

 

·         As discussed, the Cloud Provider and the Cloud Consumer have differing degrees of control over the computing resources in a cloud system. Compared to traditional IT systems, where one organization has control over the whole stack of computing resources and the entire life-cycle of the systems, Cloud Providers and Cloud Consumers collaboratively design, build, deploy, and operate cloud-based systems. The split of control means both parties now share the responsibilities in providing adequate protections to the cloud-based systems. Security is a shared responsibility. Security controls, i.e., measures used to provide protections, need to be analyzed to determine which party is in a better position to implement.

 

·         This analysis needs to include considerations from a service model perspective, where different service models imply different degrees of control between Cloud Providers and Cloud Consumers. For example, account management controls for initial system privileged users in IaaS scenarios are typically performed by the IaaS Provider whereas application user account management for the application deployed in an IaaS environment is typically not the providers responsibility.

 

Privacy

 

Cloud providers should protect the assured, proper, and consistent collection, processing, communication, use and disposition of personal information (PI) and personally identifiable information (PII) in the cloud.

 

According to the Federal CIO Council , one of the Federal governments key business imperatives is to ensure the privacy of the collected personally identifiable information. PII is the information that can be used to distinguish or trace an individuals identity, such as their name, social security number, biometric records, etc. alone, or when combined with other personal or identifying information that is linked or linkable to a specific individual, such as date and place of birth, mothers maiden name, etc. Though cloud computing provides a flexible solution for shared resources, software and information, it also poses additional privacy challenges to consumers using the clouds.

 

 

      ---------------REFERENCE {book: cloud computing, author: Kumar Saurabh, page number: 4.4}

 

 

 

S.NO

RGPV QUESTION

YEAR

MARKS

1.

Explain the key steps in cloud implementation planning process with example

Dec  2013

 

7

2.

Explain the services provided by Amazon infrastructure cloud from user perspective

Dec  2013

 

7

3.

What is cloud interoperability? Discuss the need of Interoperability.

June 2015

7

 

 

 

 

 

 

 

 

UNIT 2/ Lecture 4

Cloud Scalability and Fault Tolerance

 

Scalability is one of the most attractive prospects in the beneficially rich phenomenon that is cloud computing. For all those who struggle when it comes to predicting the future through a crystal ball, scalability provides a useful safety net for when your needs and demands alter.

Cloud computing offers organizations, both big and small, the opportunity to scale their computing resources whenever they deem it necessary. This is done by either increasing or decreasing the required resources, meaning you're not paying for resources which you are not utilizing.

This ability to alter your plans due to fluctuation in business size and needs is a superb benefit of cloud computing especially when experiencing a sudden growth in demand. For small companies with potential growth in the foreseeable future, this scalability holds a huge advantage over a fixed plan.

For these less-sizable companies, being able to optimize resources from the cloud enables them to escape the large one-off payments of hardware and software, making operational costs minimal.


                             


While this benefit of scalability is evident to small - medium sized companies, larger businesses may struggle to comprehend the scalability advantages they are receiving. This could be to heavy investment in infrastructure prior to purchasing the cloud.

Some of the reasons large organizations opt for the cloud include speed, flexibility and management benefits. While smaller businesses may look at cloud computing as the future of IT, some established businesses may be more cautious about fully succumbing to its services.

One of the residing factors of this uncertainty comes from concerns surrounding security. Despite numerous assurances by companies offering computing that their services are secure, a number of questions have arisen about data being held on a server shared by a number of users.

While it seems unfounded, it is a widespread concern, especially for organizations with sensitive data on their systems. This opinion is held despite the fact that cloud providers are actually more likely to have a number of security resources at their disposal to protect such confidential information.

Countering this however, is a number of different solutions. The first is the option for a private cloud, run by an in-house or third party providing hosting services for just one organization. Despite losing some scalability traditionally linked to cloud computing, it does provide businesses with more control over their personal data.

A further choice of a cloud solution is a hybrid option which combines a private cloud with a public cloud for certain functions. This could be a model likely to increase in popularity in the future.

For public sector organizations, there exists an alternate model where a number of organizations pool their IT resources together. Due to this, they can benefit from back-office advantages through economies of scale.

The latest initiative in the public sector is entitled The G-Cloud, a government-controlled programme which offers services to local authorities, central government departments, and other public sector organisations.

The G-Cloud stands to save a large amount of money for public sector organizations through trusting their services to this particular cloud solution. This is due to most of these organizations requiring similar functions, therefore requiring similar hardware, resources and software.

The number of opportunities available within cloud computing means that no matter how big or small the company, there are always opportunities to benefit from scalability. Whether its savings via infrastructure costs, economies of scale or sharing a pool of resources, you can adapt cloud computing to suit the needs of your company in order to save money.

 

      

 

 

 --------------------------REFERENCE{internet link: http://www.hostsearch.com/articles/scalability-in-cloud-computing.asp }

 

 

Video Link: http://nptel.ac.in/courses/106106129/27

 


Fault Tolerance in Cloud

 

FAULT TOLEREANE TECHNIQUES

 

Fault tolerance computing is one that can continue to correctly perform its task in the presence of hardware failures and/or software or to operate satisfactorily in the presence of faults. Fault tolerance bear-on with all the inevitably techniques to enable robustness and dependability .The main benefits of implementing fault tolerance in cloud computing include failure recovery, lower cost, improved performance metrics. Robustness leads to the property to providing of a correct service in an adverse situation arising due to an uncertain system environment. Dependability is related to some QoS (Quality of Services) aspects provided by the system, it includes the attributes like reliability and availability.

TYPES OF FAULTS

 

These faults can be classified on several factors such as:

 

Network fault: A Fault occur in a network due to network partition, Packet Loss, Packet corruption, destination failure, link failure, etc.

 

Physical faults: This Fault can occur in hardware like fault in CPUs, Fault in memory, Fault in storage, etc.

 

Media faults: Fault occurs due to media head crashes.

 

Processor faults: fault occurs in processor due to operating system crashes, etc.

 

Process faults: A fault which occurs due to shortage of resource, software bugs, etc.

 

Service expiry fault: The service time of a resource may expire while application is using it.

A fault can be categorized on the basis of computing resources and time. A failure occurs during computation on system resources can be classified as: omission failure, timing failure, response failure, and crash failure. Fault may be:

 

Permanent: These failures occur by accidentally cutting a wire, power breakdowns and so on. It is easy to reproduce these failures. These failures can cause major disruptions and some part of the system may not be functioning as desired.

 

Intermittent: These are the failures appears occasionally. Mostly these failures are ignored while testing the system and only appear when the system goes into operation. Therefore, it is hard to predict the extent of damage these failures can bring to the system.

 

Transient: These failures are caused by some inherent fault in the system. However, these failures are corrected by retrying roll back the system to previous state such as restarting software or resending a message. These failures are very common in computer systems.

 

EXISTING FAULT TOLERANCE TECHNIQUES IN CLOUD COMPUTING

 

Various fault tolerance techniques are currently prevalent in clouds:-

 

Check pointing–It is an efficient task level fault tolerance technique for long running and big applications .In this scenario after doing every change in system a check pointing is done. When a task fails, rather than from the beginning it is allowed to be restarted that job from the recently checked pointed state.

 

Job Migration –Some time it happened that due to some reason a job can- not be completely executed on a particular machine. At the time of failure of any task, task can be migrated to another machine. Using HA-Proxy job migration can be implemented.

 

Replication-Replication means copy. Various tasks are replicated and they are run on different resources, for the successful execution and for getting the desired result. Using tools like HA-Proxy, Hadoop and AmazonEc2 replication can be implemented.

 

Self- Healing- A big task can divided into parts .This Multiplication is done for better

 

Performance. When various instances of an application are running on various virtual machines, it automatically handles failure of application instances.

 

Safety-bag checks: In this case the blocking of commands is done which are not meeting the safety properties.

 

S-Guard- It is less turbulent to normal stream processing. S-Guard is based on rollback recovery. S-Guard can be implemented in HADOOP, Amazon EC2.

 

Retry- In this case we implement a task again and gain. It is the simplest technique that retries the failed task on the same resource.

 ---------------REFERENCE {book: : Mastering cloud computing, author: buyya, page number: 4.5.3}

 


 

 

UNIT 02/LECTURE 5

Cloud Solutions: Ecosystem

cloud ecosystem

Cloud ecosystem is a term used to describe the complex system of interdependent components that work together to enable cloud services.

Merriam-Webster defines an ecosystem as the complex of a community of organisms and its environment functioning as an ecological unit. In terms of cloud computing, that complex includes not only traditional elements of cloud computing such as software and infrastructure but also consultants, integrators, partners, third parties and anything in their environments that has a bearing on the other components.

Werner Vogels, CTO of Amazon, discussed the cloud ecosystem in a keynote address at Cloud Connect 2011. According to Vogels, the traditional concept of cloud services creates a metaphorical pyramid out of infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS) and software-as-a-service (SaaS), which limits the way we think about them. Vogels suggested that a better way of thinking of the cloud environment was to think of everything as a service.

From a cloud service provider point of view, data center giants like IBM, Google, Microsoft, and Amazon that have massive infrastructure at their disposal, use technologies such as virtualization, service-oriented architecture to “rent out” infrastructure to small and medium businesses (SMB) that appear to constitute a fairly large chunk of the customers.

Similarly, from a cloud consumer point of view, smaller businesses can reduce up-front infrastructure capital and maintenance costs by using the infrastructure (compute, memory, and storage) offered by the cloud providers. This can also reduce or keep their in-house infrastructure footprint or inventory under control.

IaaS forms the primary service delivery model, the others being software (SaaS) and platform services (PaaS). The primary use of IaaS is to run development and test, and production workloads and applications. These workloads run on the machines residing in the cloud data centers. These public cloud data centers reside in remote locations. From a cloud service consumer perspective, the user gets direct access to a machine in the cloud as if it were in the user’s own backyard, however connected through the Internet using a remote connection (remote desktop connection or through SSH). The machine is characterized by set of resources (CPU, memory, and storage), operating system and software, which are requested as per requirements by the user. The users may similarly use the SaaS and PaaS models to use readily available software, and develop applications on platforms respectively.

Some examples are as follows:

  • IaaS providers: IBM SmartCloud Enterprise, Amazon Elastic Compute Cloud (EC2), RackSpace Hosting, Microsoft
  • SaaS providers: Google, Microsoft, SalesForce, Yahoo
  • PaaS providers: Google, Microsoft, TIBCO, VMware, Zoho

                                

                                                                            Figure: (a)

Now we shift our attention to how a cloud service provider delivers these services. First, we need to understand how virtualization acts as a key driver for cloud computing.

Hardware virtualization is a technology that enables the creation of multiple abstract (virtual) machines on the underlying physical hardware (bare metal). Every virtual machine (VM) has a set of resources (CPU, memory, storage), which forms a subset of the parent physical machine resources.  You can assign resources to your VM based on your requirements. This also means that multiple VMs when packed together on a single piece of hardware helps us achieve server consolidation (optimally packing multiple VMs) thereby reducing server sprawl.

 Server sprawl was observed when companies used the traditional model of deploying a single heavy stand-alone application per physical server. This, over the years, has resulted in increased capital and operational costs. Virtualization helps in consolidating multiple applications and aims to achieve optimum utilization of a physical hardware’s underlying resources. From a cloud service provider’s angle, physical machines in the data center are virtualized so as to deliver infrastructure resources to customers via virtual machines. Read more about hardware virtualization.

A cloud is a virtualized data center to achieve the following objectives:

  • Elasticity: Ability to scale virtual machines resources up or down
  • On-demand usage: Ability to add or delete computing power (CPU, memory ) and storage according to demand
  • Pay-per-use: Pay only for what you use
  • Multitenancy: Ability to have multiple customers access their servers in the data center in an isolated manner

Let’s look at the components that make up a “cloud.”  To understand this section better, think from the perspective of a cloud service provider so as to understand the components required to deliver cloud services. This perspective throws light on the data center, giving you an insight into how a cloud data center is structured.

Two important terms in this context are management (managed-from) environment and managed (managed-to) environment. These terms inexplicitly describe the roles of a service provider and the service consumer.

The management environment is the central nervous system equivalent of the cloud; it manages the cloud infrastructure. This environment manages the infrastructure that is dedicated to the customers. The environment consists of components required to effectively deliver services to consumers. The various services offered span from image management and provisioning of machines to billing, accounting, metering, and more.

The environment is characterized by hardware and software components; realized by powerful computer servers, high speed network, and storage components. The cloud management system (CMS) forms the heart of the management environment along with the hardware components.

The managed environment is composed of physical servers and in turn the virtual servers that are “managed-by” the management environment. The servers in the managed environment belong to a customer pool; where customers or users can create virtual servers on-demand and scale up/down as needed. These virtual servers are deployed from the pool of available physical servers.

In short, the management environment controls and processes all incoming requests to create, destroy, manage, and monitor virtual machines and storage devices. In the context of a public cloud, the users get direct access to the VMs created in the “managed” environment, through the Internet. They can access the machines after they are provisioned by the management layer.  The figure shows a typical use case of provisioning a virtual machine.

                                                                                                                                                    Figure: (b)

The figure (b) describes the following actions:

  1. User makes a request to create a VM by logging onto the cloud portal.
  2.  The request is intercepted by the request manager and is forwarded to the management environment.
  3. The management environment, on receiving the request, interprets it and applies to it provisioning logic to create a VM from the set of available physical servers.
  4.  External storage is attached to the VM from a storage area network (SAN) store during provisioning in addition to the local storage.
  5. After the VM is provisioned and ready to use, the user is notified of this information and finally gains total control of the VM. The user can access this VM through the public Internet because the VM has a public IP address.

Similar to this workflow, users can decommission and manage their servers according to their needs. They can also create new images, store snapshots of their system, and so on.

The figure demonstrates a cloud data center on a broader level, showing the compute, storage, and network elements that compose this infrastructure. Such an infrastructure applies to both a public and a private cloud model. However, make a note that this architecture is not an actual or exact architecture. It is simply a representation of what a cloud data center looks like. For the purpose of simplicity, ISDM, IBM System Director and blade servers are shown to depict the components of a cloud system.

              

                                                                      Figure: (c)

--------------------REFERENCE { book: cloud computing, author: Kumar Saurabh, page number: 4.2}

S NO.

RGPV QUESTION

YEAR

MARKS

1

Write a brief note on cloud ecosystem along with example.

December 2014,

 June 2015

7

 

 

 

UNIT 02/LECTURE 6

Cloud Offerings: Cloud Business Process Management

BPM:

 

Business process management (BPM) is a systematic approach to making an organization's work flow more effective, more efficient and more capable of adapting to an ever-changing environment. A business process is an activity or set of activities that will accomplish a specific organizational goal.

 

The goal of BPM is to reduce human error and miscommunication and focus stakeholders on the requirements of their roles. BPM is a subset of infrastructure management, an administrative area concerned with maintaining and optimizing an organization's equipment and core operations.

 

BPM is often a point of connection within a company between the line-of-business (LOB) and the IT department. Business Process Execution Language (BPEL) and Business Process Management Notation (BPMN) were both created to facilitate communication between IT and the LOB. Both languages are easy to read and learn, so that business people can quickly learn to use them and design processes.

 

Both BPEL and BPMN adhere to the basic rules of programming, so that processes designed in either language are easy for developers to translate into hard code.

 

There are three different kinds of BPM frameworks available in the market today. Horizontal frameworks deal with design and development of business processes and are generally focused on technology and reuse. Vertical BPM frameworks focus on a specific set of coordinated tasks and have pre-built templates that can be readily configured and deployed.

 

Full-service BPM suites have five basic components:

 

  • Process discovery and project scoping
  • Process modeling and design
  • Business rules engine
  • Workflow engine
  • Simulation and testing

 

While on-premise business process management (BPM) has been the norm for most enterprises, advances in cloud computing have lead to increased interest in on-demand, software as a service (SaaS) offerings.

 

The benefits of BPM  in the cloud include:

  • Low startup costs
  • Fast deployment with no manual maintenance
  • Predictable costs during the life of the application
  • Fast return-on-investment

 

                          

BPM life-cycle

Business process management activities can be arbitrarily grouped into categories such as design, modeling, execution, monitoring, and optimization.

                                                  

Design

Process design encompasses both the identification of existing processes and the design of "to-be" processes. Areas of focus include representation of the process flow, the factors within it, alerts and notifications, escalations, standard operating procedures, service level agreements, and task hand-over mechanisms.

Whether or not existing processes are considered, the aim of this step is to ensure that a correct and efficient theoretical design is prepared.

The proposed improvement could be in human-to-human, human-to-system or system-to-system workflows, and might target regulatory, market, or competitive challenges faced by the businesses.

The existing process and the design of new process for various applications will have to synchronize and not cause major outage or process interruption.

                                                              

Modeling

Modeling takes the theoretical design and introduces combinations of variables (e.g., changes in rent or materials costs, which determine how the process might operate under different circumstances).

It may also involve running "what-if analysis"(Conditions-when, if, else) on the processes: "What if I have 75% of resources to do the same task?" "What if I want to do the same job for 80% of the current cost?".

Execution:

One of the ways to automate processes is to develop or purchase an application that executes the required steps of the process; however, in practice, these applications rarely execute all the steps of the process accurately or completely. Another approach is to use a combination of software and human intervention; however this approach is more complex, making the documentation process difficult.

As a response to these problems, software has been developed that enables the full business process (as developed in the process design activity) to be defined in a computer language which can be directly executed by the computer. The system will either use services in connected applications to perform business operations (e.g. calculating a repayment plan for a loan) or, when a step is too complex to automate, will ask for human input. Compared to either of the previous approaches, directly executing a process definition can be more straightforward and therefore easier to improve. However, automating a process definition requires flexible and comprehensive infrastructure, which typically rules out implementing these systems in a legacy IT environment.

Business rules have been used by systems to provide definitions for governing behavior, and a business rule engine can be used to drive process execution and resolution.

Monitoring

Monitoring encompasses the tracking of individual processes, so that information on their state can be easily seen, and statistics on the performance of one or more processes can be provided. An example of this tracking is being able to determine the state of a customer order (e.g. order arrived, awaiting delivery, invoice paid) so that problems in its operation can be identified and corrected.

In addition, this information can be used to work with customers and suppliers to improve their connected processes. Examples are the generation of measures on how quickly a customer order is processed or how many orders were processed in the last month. These measures tend to fit into three categories: cycle time, defect rate and productivity.

The degree of monitoring depends on what information the business wants to evaluate and analyze and how business wants it to be monitored, in real-time, near real-time or ad hoc. Here, business activity monitoring (BAM) extends and expands the monitoring tools generally provided by BPMS.

Process mining is a collection of methods and tools related to process monitoring. The aim of process mining is to analyze event logs extracted through process monitoring and to compare them with an a priori process model. Process mining allows process analysts to detect discrepancies between the actual process execution and the a priori model as well as to analyze bottlenecks.

Optimization

Process optimization includes retrieving process performance information from modeling or monitoring phase; identifying the potential or actual bottlenecks and the potential opportunities for cost savings or other improvements; and then, applying those enhancements in the design of the process. Overall, this creates greater business value.

Reengineering

When the process becomes too noisy and optimization is not fetching the desired output, it is recommended to re-engineer the entire process cycle. Business process reengineering (BPR) has been used by organizations to attempt to achieve efficiency and productivity at work.

 

 

 

 

  ----------REFERENCE{internet links: https://en.wikipedia.org/wiki/Business_process_management, http://searchcio.techtarget.com/definition/business-process-management, http://www.appian.com/bpm-software/cloud-bpm/ }

 

Video Link: http://nptel.ac.in/courses/106106129/27

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UNIT 02/LECTURE 7

Cloud Offerings: Cloud Analytics

 

Cloud Analytics[RGPV/Dec2013 (7)]

 

Cloud analytics is a service model in which elements of the data analytics process are provided through a public or private cloud. Cloud analytics applications and services are typically offered under a subscription-based or utility (pay-per-use) pricing model.

Gartner defines the six key elements of analytics as data sources, data models, processing applications, computing power, analytic models and sharing or storage of results. In its view, any analytics initiative “in which one or more of these elements is implemented in the cloud” qualifies as cloud analytics.

 

·         Gartner analyst Bill Gassman noted that vendors offering cloud-based technologies designed to support a single element refer to themselves as cloud analytics companies, which can cause confusion for potential users.

·         Examples of cloud analytics products and services include hosted data warehouses, software-as-a-service business intelligence (SaaS BI) and cloud-based social media analytics.

·         SaaS BI (also known as on-demand BI or cloud BI) involves delivery of business intelligence (BI) applications to end users from a hosted location. This model is scalable and makes start-up easier and less expensive, but the product may not offer the same features as an in-house application.

·         Cloud-based social media analytics involves the remote provisioning of tools that include applications for selecting the social media sites that best serve your purposes, separate applications for harvesting data, storage services and data analytics software.

 

A hosted data warehouse is a centralized repository for enterprise data that is made available to users from a remote location operated by the service provider, rather than being located on the enterprise’s own systems.

 

According to Gassman, before investing in cloud analytics, an enterprise needs to fully grasp the extent of what’s involved. “The danger is people will go down this road and not understand the scope,” Gassman said. Investing in cloud analytics can be profitable for an organization but proper planning is essential to ensure that all six analytics elements are covered.

 

 

                     

Cloud analytics is a type of cloud service model where data analysis and related services are performed on a public or private cloud. Cloud analytics can refer to any data analytics or business intelligence process that is carried out in collaboration with a cloud service provider.

Cloud analytics is also known as Software as a Service (SaaS)-based business intelligence (BI).

Cloud analytics is primarily a cloud-enabled solution that allows an organization or individual to perform business analysis or intelligence procedures. These solutions and services are delivered through cloud models, such as hosted data warehouses, SaaS business intelligence (BI) and social media analytic products powered by the cloud. Cloud analytics services work like a typical data analytics service, providing similar features and capabilities. The only difference is that cloud analytics integrates some or all of the service models of cloud computing in delivering that solution.

Although cloud analytics is mainly a SaaS-based solution, it can also be a hybrid cloud solution. For example, hosted or cloud data warehouses not only provide the infrastructure to store massive amounts of data, but they also allow data analytics/business intelligence software to retrieve useful information when and where it is required. Moreover, some solutions also may be delivered through Platform as a Service (PaaS), where the end users/organization can create proprietary data analytics software to run on the cloud storage infrastructure.

 

Cloud Offerings

If your business is concerned about having the required skills and resources for installing and managing your business analytics infrastructure and software, consider a cloud alternative from IBM. Many of IBM’s popular business analytics applications are now available in cloud-based or software as a service (SaaS) editions. Not only can you have your business analytics deployments up and running in minutes, but you can also reduce the costs and risks of development and deployment.

With IBM Business Analytics software in the cloud, you can:

 

·               Provide more user communities with access to business intelligence, performance management and predictive analytics.

·               Capitalize on the benefits and value of your software more quickly.

·               Start your implementation immediately and easily.

·               Take advantage of automated provisioning and integration of required components.

 

 

 

---------------------REFERENCE { book: cloud computing, author: Kumar Saurabh, page number: 5.3}  

-----------REFERENCE {Internet Link: http://www.techopedia.com/definition/26516/cloud-analytics}

 

 

 

 

 

S.NO

RGPV QUESTION

YEAR

MARKS

1.

What do you understand by cloud Analytics. Also describe how it works?

Dec  2013

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UNIT 02/LECTURE 8

Cloud Offerings: Testing Under Cloud

Cloud computing is opening up new vistas of opportunity for testing. Testing has traditionally been viewed as a necessary evil because it required a huge, dedicated infrastructure and resources that were used sporadically. Further, business applications are growing in complexity, making it difficult for organizations to build and maintain in-house testing facilities that mimic real-time environments.

·         In broad strokes, technological virtualization has met base-level operational and financial objectives by eliminating the need for intensive capital investments. However, given the requisite set-up costs, many pioneering companies have yet to achieve the operational flexibility and scalability required to deliver on initial ROI forecasts.

·         Cloud-based testing has the potential to offer a compelling combination of lower costs, pay-per-use and elimination of upfront capital expenditures (Cap-Ex). It can address the ramping demands for sophisticated test environments.

The benefits, however, extend beyond cost. The non-cost factors include utility-like, on-demand flexibility, freedom from holding assets, enhanced collaboration, greater levels of efficiency and, most importantly, reduced time-to-market for key business applications.

Testing and the Cloud

While many companies are approaching cloud computing with cautious optimism, testing appears to be one area where they are willing to be more adventurous. There are several factors that account for this openness toward testing in the cloud:

Testing is a periodic activity and requires new environments to be set up for each project.

Test labs in companies typically sit idle for longer periods, consuming capital, power and space. Approximately 50% to 70% of the technology infrastructure earmarked for testing is underutilized, according to both anecdotal and published reports.

Testing is considered an important but non-business-critical activity.

Moving testing to the cloud is seen as a safe bet because it doesn’t include sensitive corporate data and has minimal impact on the organization’s business-as-usual activities.

Applications are increasingly becoming dynamic, complex, distributed and component-based, creating a multiplicity of new challenges for testing teams.

For instance, mobile and Web applications must be tested for multiple operating systems and updates, multiple browser platforms and versions, different types of hardware and a large number of concurrent users to understand their performance in real-time.

………..REFERENCE {Internet Link: http://www.cognizant.com/InsightsWhitepapers/Taking-Testing-to-the-Cloud.pdf }

                                                     Types of testing:

Stress

Stress Test is used to determine ability of application to maintain a certain level of effectiveness beyond breaking point. It is essential for any application to work even under excessive stress and maintain stability. Stress testing assures this by creating peak loads using simulators. But the cost of creating such scenarios is enormous. Instead of investing capital in building on-premise testing environments, cloud testing offers an affordable and scalable alternative.

Load

Load testing of an application involves creation of heavy user traffic, and measuring its response. There is also a need to tune the performance of any application to meet certain standards. However a number of tools are available for that purpose.

Performance

Finding out thresholds, bottlenecks & limitations is a part of performance testing. For this, testing performance under a particular workload is necessary. By using cloud testing, it is easy to create such environment and vary the nature of traffic on-demand. This effectively reduces cost and time by simulating thousands of geographically targeted users.

Functional

Functional testing of both internet and non-internet applications can be performed using cloud testing. The process of verification against specifications or system requirements is carried out in the cloud instead of on-site software testing.

Compatibility

Using cloud environment, instances of different Operating Systems can be created on demand, making compatibility testing effortless.

Browser performance

To verify application's support for various browser types and performance in each type can be accomplished with ease. Various tools enable automated website testing from the cloud.

Latency

Cloud testing is utilized to measure the latency between the action and the corresponding response for any application after deploying it on cloud.

 

                                         

 

                      -----------REFERENCE {Internet Link: https://en.wikipedia.org/wiki/Cloud_testing}

 

 

 

S.NO

RGPV QUESTION

YEAR

MARKS

1.

How tasting under cloud can be performed? Explain it by taking service based models of cloud computing under consideration.

Dec  2014, June 2015

 

7

 

 

 

 

 

 

                                    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UNIT 02/LECTURE 9

Virtual Desktop Infrastructure

 

Virtual Desktop Infrastructure (VDI) [RGPV/Dec2013 (7)]

As the size of your enterprise increases, so does the scope of its technical and network needs. Something as seemingly simple as applying the latest OS hot fixes, or ensuring that virus definitions are up to date, can quickly turn into a tedious mess when the task must be performed on the hundreds or thousands of computers within your organization.

Virtual desktop infrastructure (VDI) is a virtualization technique enabling access to a virtualized desktop, which is hosted on a remote service over the Internet. It refers to the software, hardware and other resources required for the virtualization of a standard desktop system.

                             VDI is also known as a virtual desktop interface.

VDI Allows One to Manage Many:

A virtual desktop infrastructure (VDI) environment allows your company’s information technology pros to centrally manage thin client machines, leading to a mutually beneficial experience for both end-users and IT admins.

 

           

 

 

 

What is VDI?

Sometimes referred to as desktop virtualization, virtual desktop infrastructure or VDI is a computing model that adds a layer of virtualization between the server and the desktop PCs. By installing this virtualization in place of a more traditional operating system, network administrators can provide end users with ‘access anywhere’ capabilities and a familiar desktop experience, while simultaneously heightening data security throughout the organization.

Some IT professionals associate the acronym VDI with VMware VDI, an integrated desktop virtualization solution. VMware VDI is considered the industry standard virtualization platform; as such, all of triCerat’s solutions fully support VMware VDI workstations.

VDI Provides Greater Security, Seamless User Experience Superior data security: Because VDI hosts the desktop image in the data centre; organizations keep sensitive data safe in the corporate data center—not on the end-user’s machine which can be lost, stolen, or even destroyed. VDI effectively reduces the risks inherent in every aspect of the user environment.

More productive end-users: With VDI, the end-user experience remains familiar. Their desktop looks just like their desktop and their thin client machine perform just like the desktop PC they’ve grown comfortable with and accustomed to. With virtual desktop infrastructure, there are no expensive training seminars to host and no increase in tech support issues or calls. End- user satisfaction is actually increased because they have greater control over the applications and settings that their work requires.

Other Benefits of VDI

  • Desktops can be set up in minutes, not hours
  • Client PCs are more energy efficient and longer lasting than traditional desktop computers
  • IT costs are reduced due to a fewer tech support issues
  • Compatibility issues, especially with single-user software, are lessened
  • Data security is increased

VDI is a shadow copy of the desktop including its OS, installed applications and documents, which are stored and executed entirely from the server hosting it. VDI provides users the ability to access their desktop remotely, often even from a handheld device because the entire process of executing the interface is done at the central server.

VDI operates by storing OS preferences, software applications, document and other customized data on a server in the cloud. In theory, or ideally, the user experience is the same as on a physical desktop.

Virtual desktop interfaces were primarily design to provide global access to desktop systems. They are also used in designing disaster recovery and backup solutions. This is done by routinely updating the desktop’s data on a remote server and enabling the interface for users in case of a system disruption.

 

Microsoft Virtual Desktop Infrastructure (VDI):

Microsoft Virtual Desktop Infrastructure (VDI) lets you deliver desktops and apps without compromising compliance. Apps and data stay in the datacenter so the risk of information loss from lost and stolen devices is reduced. Microsoft VDI provides efficient management with a single console and rich user experience on a variety of devices and platforms.

Microsoft’s solution gives you the freedom to choose between personal or pooled virtual desktops, session-based desktops, RemoteApp in the datacenter as well as RemoteApp hosted in Azure.

 

 

   --------------------------------REFERENCE { book: cloud computing, author: Kumar Saurabh, page: 5.6}  

 

   -----------REFERENCE {Internet Link: http://www.microsoft.com/en-in/server-cloud/products/virtual-desktop-infrastructure/ }

Video Link: http://nptel.ac.in/courses/106106129/27

 

 

 

S.NO

RGPV QUESTION

YEAR

MARKS

1

Explain in brief cloud desktop infrastructure in brief with its services.

Dec 2013

7

2

What is cloud scalability? Explain the term Virtual Desktop Infrastructure

Dec 2014

7

 

 

REFERENCCE

 

 

BOOK

AUTHOR

 

PRIORITY

Cloud Computing

Kumar Saurabh,

1

Mastering Cloud Computing

Buyya, Selvi

2