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 organization‟s 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 provider‟s 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 government‟s 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 individual‟s 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, mother‟s 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}
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.
--------------------------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:
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:
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. The figure (b) describes
the following actions:
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}
|
|
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:
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:
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 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}
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}
|
|
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
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
|
||||||||||||||||||||||||||||||||||