Cloud Computing Unit 2
Cloud Computing Unit 2
Computing
Unit II
systems, hardware infrastructure is exposed as IaaS, and middleware is exposed as PaaS, and
business process as BPaaS.
• Business Process: Business processes participate in a Cloud solution much like they do in
SOA solutions, they can be provided as a service (BPaaS) or be the consumer of services
(whether they care cloud services or not). Additionally, business processes within a cloud
provider organization need to be restructured and streamlined in novel ways to meet much
faster time-to deliver, time-to-change and cost objectives.
• Consumer Layer: The consumer layer is more strictly and carefully separated from the
services and service provider to allow pooling and substitution of cloud services or providers.
Private clouds are of two types: On-premise private clouds and externally hosted private
clouds. Externally hosted private clouds are also exclusively used by one organization, but
are hosted by a third party specializing in cloud infrastructure. Externally hosted private
clouds are cheaper than On-premise private clouds.
3. Hybrid cloud Organizations may host critical applications on private clouds and
applications with relatively less security concerns on the public cloud. The usage of
both private and public clouds together is called hybrid cloud. A related term is Cloud
Bursting. In Cloud bursting organization use their own computing infrastructure for
normal usage, but access the cloud using services like Salesforce cloud computing for
high/peak load requirements. This ensures that a sudden increase in computing
requirement is handled gracefully.
4. Community cloud involves sharing of computing infrastructure in between
organizations of the same community. For example all Government organizations
within the state of California may share computing infrastructure on the cloud to
manage data related to citizens residing in California.
Classification based upon service provided
Based upon the services offered, clouds are classified in the following ways:
1. Infrastructure as a service (IaaS) involves offering hardware related services using the
principles of cloud computing. These could include some kind of storage services
(database or disk storage) or virtual servers. Leading vendors that provide
Infrastructure as a service are Amazon EC2, Amazon S3, Rackspace Cloud
Servers and Flexiscale.
2. Platform as a Service (PaaS) involves offering a development platform on the cloud.
Platforms provided by different vendors are typically not compatible. Typical players
in PaaS are Google Application Engine, Microsoft’s Azure, Salesforce.com.
3. Software as a service (SaaS) includes a complete software offering on the cloud.
Users can access a software application hosted by the cloud vendor on pay-per-use
basis. This is a well-established sector. The pioneer in this field has been
Salesforce.coms offering in the online Customer Relationship Management (CRM)
space. Other examples are online email providers like Googles gmail and
Microsofts hotmail, Google docs and Microsofts online version of office
called BPOS (Business Productivity Online Standard Suite).
Cloud Portability and Interoperability
Portability and interoperability relate to the ability to build systems from re-usable
components that will work together “out of the box”.
A particular concern for cloud computing is cloud on-boarding – the deployment or
migration of systems to a cloud service or set of cloud services. A common scenario is that
some components cannot be moved to the cloud; for example, because of requirements for
the enterprise to have complete control over personal data. On-boarding requires portability
3 Compiled By – Ms. Nandini Sharma
Truba College of Science & Technology, Bhopal Cloud
Computing
Unit II
of those components that can be moved to the cloud, and interoperability with them of
components that remain on in-house systems.
The Important Categories of Cloud Computing Portability and Interoperability
A system that involves cloud computing typically includes data, application, platform, and
infrastructure components, where:
Data is the machine-process able representation of information, held in computer
storage.
Applications are software programs that perform functions related to business
problems.
Platforms are programs that support the applications and perform generic functions
that are not business-related.
Infrastructure is a collection of physical computation, storage, and communication
resources.
The application, platform, and infrastructure components can be as in traditional enterprise
computing, or they can be cloud resources that are (respectively) software application
programs (SaaS), software application platforms (PaaS), and virtual processors and data
stores (IaaS).
by the SaaS product may be crucial to the enterprise's operation. How easy will it be to move
that data to another CRM solution?
In many cases, it will be very difficult. The structure of the data is often designed to fit a
particular form of application processing, and a significant transformation is needed to
produce data that can be handled by a different product.
This is no different from the difficulty of moving data between different products in a
traditional environment. But, in a traditional environment, the customer is more often able to
do nothing; to stay with an old version of a product, for example, rather than upgrading to a
newer, more expensive one. With SaaS, the vendor can more easily force the customer to pay
more or lose the service altogether.
Cloud introduces no new technical problems, but its different commercial arrangements can
make the old technical problems much more serious.
Application Portability
Application portability enables the re-use of application components across cloud PaaS
services and traditional computing platforms.
Suppose that an enterprise has an application built on a particular cloud PaaS service and, for
cost, performance, or other reasons, wishes to move it to another PaaS service or to in-house
systems. How easy will this be?
If the application uses features that are specific to the platform, or if the platform interface is
non-standard, then it will not be easy.
Application portability requires a standard interface exposed by the supporting platform. As
discussed under Application Interoperability, this must enable the application to use the
service discovery and information communication protocols implemented by the platform, as
well as providing access to the platform capabilities that support the application directly. On
a cloud PaaS platform, or a platform running on a cloud IaaS service, it may also enable
applications to manage the underlying resources.
A particular application portability issue that arises with cloud computing is portability
between development and operational environments. Cloud PaaS is particularly attractive for
development environments from a financial perspective, because it avoids the need for
investment in expensive systems that will be unused once the development is complete. But,
where a different environment is to be used at run time – either on in-house systems or on
different cloud services – it is essential that the applications can be moved unchanged
between the two environments. Cloud computing is bringing development and operations
closer together, and indeed increasingly leading to the two being integrated as devops. This
can only work if the same environment is used for development and operation, or if there is
application portability between development and operation environments.
Platform Portability
There are two kinds of platform portability:
Platform interoperability requires standard protocols for service discovery and information
exchange. As discussed above, these indirectly enable interoperability of the applications that
use the platforms. Application interoperability cannot be achieved without platform
interoperability.
Service discovery is currently used by a minority of applications, but is essential to achieve
the highest levels of service integration maturity [OSIMM]. Standard service discovery
protocols should be supported by platforms used by service registries and other applications.
Protocols for information exchange between platforms should support the establishment of
sessions and transfer of session information, as well as information transport. (In the case of
IaaS, the platform in question is not part of the infrastructure service but implemented on top
of it.) Session information might, for example, include the user’s identity, the authorization
level established by the user for access control purposes, the user’s time-zone, the user’s
language, and the user’s preferred cultural environment.
Management Interoperability
Management interoperability is interoperability between cloud services (SaaS, PaaS, or IaaS)
and programs concerned with the implementation of on-demand self-service.
As cloud computing grows, enterprises will want to manage cloud services together with their
in-house systems, using generic off-the-shelf systems management products. This can only be
achieved if cloud services have standard interfaces.
These interoperability interfaces may provide the same functionality as the management
interfaces mentioned under Application Portability.
Publication and Acquisition Interoperability
Publication and acquisition interoperability is interoperability between platforms, including
cloud PaaS services, and marketplaces (including app stores).
Cloud service providers often maintain marketplaces from which their cloud services can be
obtained. Some also make associated components available. For example, an IaaS supplier
may make available machine images that run on its infrastructure services. Some large user
organizations, including governments, maintain app stores to which approved suppliers can
publish programs, which can then be downloaded by the organization’s departments. Some
mobile device suppliers maintain app stores from which users can obtain apps to run on their
devices.
Standard interfaces to these stores would lower the cost of cloud computing for software
providers and users.
Scalability
One of the key benefits of using cloud computing is its scalability. Cloud computing allows
your business to easily upscale or downscale your IT requirements as and when required. For
example, most cloud service providers will allow you to increase your existing resources to
accommodate increased business needs or changes. This will allow you to support your
business growth without expensive changes to your existing IT systems.
Impact of scalability on managed data centers. Because of the highly scalable nature of
cloud computing, many organizations are now relying on managed data centers where there
are cloud experts trained in maintaining and scaling shared, private and hybrid clouds. Cloud
computing allows for quick and easy allocation of resources in a monitored environment
where overloading is never a concern as long as the system is managed properly. From small
companies to large enterprise companies, managed data centers can be an option for your
business.
Private cloud computing is a solution for scalable, customized and secure resources where
control has to reside with your internal IT department.
Beyond the improvements on business flexibility and scalability, cloud computing has
fundamentally changed the way we pay for resources. In the past, tasks that required
considerable processing power or space needed significant capital investments in the
necessary hardware. Now, cloud computing allows these users to purchase scalable space for
heavy duty data crunching on demand, paying for only what they use.
Moreover, a new report by the Software & Information Industry Association, which includes
opinions of 49 technology CXOs and VPs, notes that cloud computing impact grows even
more significant when coupled with mobile and big data analytics.
Fault-tolerant
It describes a computer system or component designed so that, in the event that a component
fails, a backup component or procedure can immediately take its place with no loss of
service. Fault tolerance can be provided with software, or embedded in hardware, or provided
by some combination.
In the software implementation, the operating system provides an interface that allows a
programmer to "checkpoint" critical data at pre-determined points within a transaction. In the
hardware implementation (for example, with Stratus and its VOS operating system), the
programmer does not need to be aware of the fault-tolerant capabilities of the machine.
At a hardware level, fault tolerance is achieved by duplexing each hardware component.
Disks are mirrored. Multiple processors are "lock-stepped" together and their outputs are
compared for correctness. When an anomaly occurs, the faulty component is determined and
taken out of service, but the machine continues to function as usual.
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
Business process management (BPM)
It is a systematic approach to making an organization's workflow 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.
Customers are supported directly and indirectly through a help desk function. Cloud service
management is complemented by monitoring software that tracks operational information and
feeds that data to the appropriate management resource.
Given the elastic, highly virtualized nature of cloud environments, there are some key
differences in approaches to cloud service management and conventional IT service
management. The two disciplines have different objectives, requiring tools that emphasize
their individual requirements. Whereas the goals of traditional ITSM are effective SLA
management, improved performance and streamlined billing, the goal of cloud service
management is to orchestrate resources for fast provisioning, effective capacity
management and ongoing service stability. Automation is vital to ensure efficiency and
reduce costs.
Cloud service management platforms: Build or buy?
Although vendors have developed many cloud service management and monitoring tools for
enterprises that build and manage their own private clouds, there are far fewer tools that meet
the scale, security and performance requirements of cloud providers. Beyond that, there are
even fewer solutions that provide the comprehensive capabilities associated with the entire
ITSM process for cloud providers, namely orchestration.
Cloud analytics
It is a service model in which one or more key element of data analytics is provided through
a public or private cloud. Cloud analytics applications and services are typically provided
through a subscription-based or utility (pay-per-use) 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 Testing
Cloud Testing uses cloud infrastructure for software testing. Organizations pursuing testing in
general and load, performance testing and production service monitoring in particular are
challenged by several problems like limited test budget, meeting deadlines, high costs per
test, large number of test cases, and little or no reuse of tests and geographical distribution of
users add to the challenges. Moreover ensuring high quality service delivery and avoiding
13 Compiled By – Ms. Nandini Sharma
Truba College of Science & Technology, Bhopal Cloud
Computing
Unit II
outages requires testing in one's data centre, outside the data-centre, or both. Cloud Testing is
the solution to all these problems. Effective unlimited storage, quick availability of the
infrastructure with scalability, flexibility and availability of distributed testing environment
reduce the execution time of testing of large applications and lead to cost-effective solutions.
Traditional approaches to test software incur high cost to simulate user activity from different
geographic locations. Testing firewalls and load balancers involves expenditure on hardware,
software and its maintenance. In case of applications where rate of increase in number of
users is unpredictable or there is variation in deployment environment depending on client
requirements, cloud testing is more effective.
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.
Steps for Cloud Testing
Companies simulate real world Web users by using cloud testing services that are provided
by cloud service vendors such as Advaltis, Compuware, HP, Keynote Systems, Load
Impact, Neotys, RadView and SOASTA. Once user scenarios are developed and the test is
designed, these service providers leverage cloud servers (provided by cloud platform vendors
such as Amazon.com, Google, Rackspace, Microsoft, etc.) to generate web traffic that
originates from around the world. Once the test is complete, the cloud service providers
deliver results and analytics back to corporate IT professionals through real-time dashboards
for a complete analysis of how their applications and the internet will perform during peak
volumes.
Tools
Leading cloud computing service providers include, among others, Amazon, Advaltis, 3-
terra, Skytap, HP and SOASTA.[9] Some of the tools for cloud testing include :
1. CloudTest
2. Soatest
3. HP LoadRunner
Benefits
The ability and cost to simulate web traffic for software testing purposes has been an
inhibitor to overall web reliability. The low cost and accessibility of the cloud's extremely
large computing resources provides the ability to replicate real world usage of these systems
by geographically distributed users, executing wide varieties of user scenarios, at scales
previously unattainable in traditional testing environments. Minimal start-up time along with
quality assurance can be achieved by cloud testing.
Following are some of the key benefits:
Reduction in capital expenditure
Highly scalable
Issues
The initial setup cost for migrating testing to cloud is very high as it involves modifying some
of the test cases to suit cloud environment. This makes the decision of migration
crucial. Therefore, cloud testing is not necessarily the best solution to all testing problems.
Legacy systems & services need to be modified in order to be tested on cloud. Usage of
robust interfaces with these legacy systems may solve this problem. Also like any other cloud
services, cloud testing is vulnerable to security issues.
The test results may not be accurate due to varying performance of service provider’s
network and internet. In many cases, service virtualization can be applied to simulate the
specific performance and behaviours required for accurate and thorough testing.
Virtual Desktop Infrastructure (VDI)
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 hotfixes, 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.
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 center, 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 performs 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