2

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Chameli Devi Group of Institutions

Department of Computer Science and Engineering


CS802 (B) Cloud Computing
Subject Notes
Unit – 2 CO2

Utility Computing, Elastic Computing, Ajax: asynchronous ‘rich’ interfaces, Mashups: User interface, Services
Virtualization Technology: Virtualization applications in enterprises, Pitfalls of virtualization Multitenant
software: Multi-entity support, Multi-schema approach, Multi-tenancy using cloud data stores.

UTILITY COMPUTING
Utility computing is a service provisioning model in which a service provider makes computing resources and
infrastructure management available to the customer as needed, and charges them for specific usage rather
than a flat rate. Like other types of on-demand computing (such as grid computing), the utility model seeks to
maximize the efficient use of resources and/or minimize associated costs.
The word utility is used to make an analogy to other services, such as electrical power, that seek to meet
fluctuating customer needs, and charge for the resources based on usage rather than on a flat-rate basis. This
approach, sometimes known as pay-per-use or metered services is becoming increasingly common in
enterprise computing and is sometimes used for the consumer market as well, for Internet service, Web site
access, file sharing, and other applications.
Another version of utility computing is carried out within an enterprise. In a shared pool utility model, an
enterprise centralizes its computing resources to serve a larger number of users without unnecessary
redundancy.

Properties of utility computing


These following are five characteristics of utility computing.
1. Scalability: The utility computing must be ensured that under all conditions sufficient IT resources are
available. Increasing the demand for a service may, its quality (e.g., response time) does not suffer.
2. Demand pricing: So far, companies have to buy his own hardware and software when they need
computing power. This IT infrastructure must be paid in advance of the rule, regardless of the intensity
with which the company uses them later. Technology vendors to achieve this link, for example, the fact
that the lease rate for their servers depends on how many CPUs has enabled the customer. If it can be
measured in a company as much computing power to claim the individual sections in fact, may be the
IT costs in internal cost directly attributable to the individual departments. Other forms of connection
with the use of IT costs are possible.
3. Standardized Utility Computing Services: The utility computing service provider offers its customers a
catalogue of standardized services. These may have different service level agreements (Agreement on
the quality and the price of an IT) services. The customer has no influence on the underlying
technologies such as the server platform.
4. Utility Computing and Virtualization: To share the web and other resources in the shared pool of
machines can be used virtualization technologies. This will divide the network into logical resource
instead of the physical resources available. An application is assigned no specific pre-determined
servers or storage of any but a free server runtime or memory from the pool.
5. Automation: Repetitive management tasks such as setting up a new server or the installation of
updates can be automated. Moreover, automatically allocate resources to services and the
management of IT services to be optimized, with service level agreements and operating costs of IT
resources must be considered.

Advantages of Utility Computing


Utility computing reduces the cost of IT, given that existing resources can be used more effectively. Moreover,
the costs are transparent and the various departments of a company can be directly assigned. In the IT
departments will be fewer people needed for operational activities.
The companies achieve greater flexibility, because their IT resources more quickly and easily adapt to
fluctuating demand. Overall, it is easier to manage the entire IT structure, as there will no longer be made for
each application, which is a benefit for specific IT infrastructure.

ELASTIC COMPUTING
Elastic computing is the ability to quickly expand or decrease computer processing, memory and storage
resources to meet changing demands without worrying about capacity planning and engineering for peak
usage.
Elastic computing is a concept in cloud computing in which computing resources can be scaled up and down
easily by the cloud service provider. Elastic computing is the ability of a cloud service provider to provision
flexible computing power when and wherever required. The elasticity of these resources can be in terms of
processing power, storage, bandwidth, etc.
Cloud computing is about provisioning on-demand computing resources with the simplicity of a mouse click.
The amount of resources which can be sourced through cloud computing incorporates almost all the facets of
computing from raw processing power to massive storage space.
Besides providing these services on demand basis, the resources are elastic in nature, i.e. they can be easily
scaled depending upon the underlying resource requirements on run time without even disrupting the
operations and this ability is known as elastic computing. On a small scale this is done manually, but for larger
installations, the scaling is automatic. For example, a larger provider of online video could setup a system so
that the number of web-servers online scaled during peak viewing hours.

Benefits/Pros of Elastic Cloud Computing


Elastic Cloud Computing has numerous advantages. Some of them are as follow:-
1. Cost Efficiency: – Cloud is available at much cheaper rates than traditional approaches and can
significantly lower the overall IT expenses. By using cloud solution companies can save licensing fees as
well as eliminate overhead charges such as the cost of data storage, software updates, management
etc.
2. Convenience and continuous availability: – Cloud makes easier access of shared documents and files
with view and modify choice. Public clouds also offer services that are available wherever the end user
might be located. More-over it guaranteed continuous availability of resources and In case of system
failure; alternative instances are automatically spawned on other machines.
3. Backup and Recovery: – The process of backing up and recovering data is easy as information is
residing on cloud simplified and not on a physical device. The various cloud providers offer reliable and
flexible backup/recovery solutions.
4. Cloud is environmentally friendly:-The cloud is more efficient than the typical IT infrastructure and it
takes fewer resources to compute, thus saving energy.
5. Scalability and Performance: – Scalability is a built-in feature for cloud deployments. Cloud instances
are deployed automatically only when needed and as a result enhance performance with excellent
speed of computations.
6. Increased Storage Capacity:-The cloud can accommodate and store much more data compared to a
personal computer and in a way offers almost unlimited storage capacity.

Disadvantages/Cons of Elastic Cloud Computing:-


1. Security and Privacy in the Cloud: – Security is the biggest concern in cloud computing. Companies
essentially hide their private data and information over cloud as remote based cloud infrastructure is
used, it is then up to the cloud service provider to manage, protect and retain data confidential.
2. Limited Control: – Since the applications and services are running remotely companies, users and third
party virtual environments have limited control over the function and execution of the hardware and
software.
3. Dependency and vendor lock-in: – One of the major drawbacks of cloud computing is the implicit
dependency on the provider. It is also called “vendor lock-in”. As it becomes difficult to migrate vast
data from old provider to new. So, it is advisable to select vendor very carefully.
4. Increased Vulnerability: – Cloud based solutions are exposed on the public internet therefore are
more vulnerable target for malicious users and hackers. As we know nothing is completely secure over
Internet even the biggest organizations also suffer from serious attacks and security breaches.

AJAX: ASYNCHRONOUS ‘RICH’ INTERFACES


AJAX stands for Asynchronous JavaScript and XML. AJAX is a new technique for creating better, faster, and
more interactive web applications with the help of XML, HTML, CSS, and Java Script.

 Ajax uses XHTML for content, CSS for presentation, along with Document Object Model and JavaScript
for dynamic content display.
 Conventional web applications transmit information to and from the sever using synchronous
requests. It means you fill out a form, hit submit, and get directed to a new page with new information
from the server.
 With AJAX, when you hit submit, JavaScript will make a request to the server, interpret the results, and
update the current screen. In the purest sense, the user would never know that anything was even
transmitted to the server.
 XML is commonly used as the format for receiving server data, although any format, including plain
text, can be used.
 AJAX is a web browser technology independent of web server software.
 A user can continue to use the application while the client program requests information from the
server in the background.
 Intuitive and natural user interaction. Clicking is not required, mouse movement is a sufficient event
trigger.
 Data-driven as opposed to page-driven.
Rich Internet Application Technology
AJAX is the most viable Rich Internet Application (RIA) technology so far. It is getting tremendous industry
momentum and several tool kit and frameworks are emerging. But at the same time, AJAX has browser
incompatibility and it is supported by JavaScript, which is hard to maintain and debug.

AJAX is based on Open Standards


AJAX is based on the following open standards –
 Browser-based presentation using HTML and Cascading Style Sheets (CSS).
 Data is stored in XML format and fetched from the server.
 Behind-the-scenes data fetches using XML HttpRequest objects in the browser.
 JavaScript to make everything happen.

Important Features of Ajax


 User Friendly.
 It makes web page faster.
 Independent of server technology.
 Increase the Performance of web page.
 Support for Live data binding.
 Support for the Data View control.
 Support for Client-side template rendering.
 Rich and, responsive user interfaces.
 Reduced consumption of server resources.
 No need to pushing on a submit button and reloading the complete website.
 No need to reload the whole page only some part of page is reloaded which is required to reload.
 Apart from obtaining the XMLHTTP object, all processing is same for all browser types, because
JavaScript is used.
 Using ajax develop faster and more interactive web applications.
 Not require to completely reload page due to this server use less bandwidth.

MASHUPS: USER INTERFACE


The term ‘mash-up’ refers to websites that weave data from different sources into new Web services. The key
to a successful Web service is to gather and use large datasets and harness the scale of the Internet through
what is known as network effects.
The main characteristics of the mashup are combination, visualization, and aggregation. It is important to
make existing data more useful, moreover for personal and professional use. To be able to permanently access
the data of other services, mashups are generally client applications or hosted online.
In the past years, more and more Web applications have published APIs that enable software developers to
easily integrate data and functions instead of building them by themselves. Mashups can be considered to
have an active role in the evolution of social software and Web 2.0. Mashup composition tools are usually
simple enough to be used by end-users. They generally do not require programming skills and rather support
visual wiring of GUI widgets, services and components together. Therefore, these tools contribute to a new
vision of the Web, where users are able to contribute.

Figure 2.1 Mashups


Characteristics of mashups
We could infer the following outstanding characteristics of mashups, based on the concepts mentioned
above:
 A mashup is focused on adding value, putting a tremendous amount of ready information at the
fingertips of the final user.
 Information + User experience should be efficiently combined, using technologies such as RIAs.
 It prioritizes the information in the order in which is most likely to be useful. You have to know who
you are talking to, what products they have registered, what the top service items are for those
products, and then start trying to answer questions that they may have such as where the local
service centres are for the customer's location.
 Developing a mashup must be measured in hours or days.
 Generally, it is read-only.
 Mashups are agile views into the data that they present. They are not an all-powerful editing surface
capable of editing any and all data thrown at them. If someone wants to edit that data, they should
go back to the application that created the data to do the editing. A timestamp may be important for
improving the clarity and usefulness of the mashed data.
Types of the Mashup
There are many types of mashup, such as business mashups, consumer mashups, and data mashups. The most
common type of mashup is the consumer mashup, aimed at the general public.

 Business (or enterprise) mashups define applications that combine their own resources, application
and data, with other external Web services. They focus data into a single presentation and allow for
collaborative action among businesses and developers. This works well for an agile
development project, which requires collaboration between the developers and customer (or
customer proxy, typically a product manager) for defining and implementing the business
requirements. Enterprise mashups are secure, visually rich Web applications that expose actionable
information from diverse internal and external information sources.
 Consumer mashups combine data from multiple public sources in the browser and organize it through
a simple browser user interface.
 Data mashups, opposite to the consumer mashups, combine similar types of media and information
from multiple sources into a single representation. The combination of all these resources create a new
and distinct Web service that was not originally provided by either source.

VIRTUALIZATION TECHNOLOGY: VIRTUALIZATION APPLICATIONS IN ENTERPRISES


Virtualization means that the users (programs or people) only see an abstraction of a computer resource.
Virtualization can be done in software, or with hardware. Virtualization is the creation of virtual servers,
infrastructures, devices and computing resources. Virtualization changes the hardware-software relations and
is one of the foundational elements of cloud computing technology that helps utilize the capabilities of cloud
computing to the full. Virtualization techniques allow companies to turn virtual their networks, storage,
servers, data, desktops and applications.

Figure 2.2 virtualization work in cloud computing

Types of Virtualization in Cloud Computing


1. Operating System Virtualization
In operating system virtualization in Cloud Computing, the virtual machine software installs in the
operating system of the host rather than directly on the hardware system. The most important use of
operating system virtualization is for testing the application on different platforms or operating system.
Here, the software is present in the hardware, which allows different applications to run.
2. Hardware Virtualization
Hardware virtualization in Cloud Computing, used in server platform as it is flexible to use Virtual
Machine rather than physical machines. In hardware virtualizations, virtual machine software installs in
the hardware system and then it is known as hardware virtualization. It consists of a hypervisor which
use to control and monitor the process, memory, and other hardware resources. After the completion
of hardware virtualization process, the user can install the different operating system in it and with this
platform different application can use.
3. Server Virtualization
In server virtualization in Cloud Computing, the software directly installs on the server system and use
for a single physical server can divide into many servers on the demand basis and balance the load. It
can be also stated that the server virtualization is masking of the server resources which consists of
number and identity. With the help of software, the server administrator divides one physical server
into multiple servers.
4. Storage Virtualization
In storage virtualization in Cloud Computing, a grouping is done of physical storage which is from
multiple network storage devices this is done so it looks like a single storage device. It can implement
with the help of software applications and storage virtualization is done for the backup and recovery
process. It is a sharing of the physical storage from multiple storage devices.
5. Network Virtualization
With network virtualization, you can create multiple individual networks from one physical local area
network (LAN). In terms of the cloud, you’re looking at trying to create an ‘online’
network without connecting to the public internet (i.e., virtual private cloud).
6. Application Virtualization
With application virtualization, you’re running an application on a computer, but without relying on the
computer’s hardware or software.
Returning to the iPad example; you may not be able to run full Photoshop on the iPad directly. But you
can get the iPad to speak to a Windows-based server running full Photoshop and, in turn, use your iPad
to access Photoshop.
An upcoming evolution of this is cloud-based console gaming. So again, you can use an iPad, iPhone,
etc., to play full console games by relying on a server with enough power to run them.
7. Scalability Is Key
One of the great advantages of the virtualization model, and indeed of cloud computing in general, is
scalability. Migrating to the cloud allows your applications and storage to scale with your needs, and
you don’t even have to lift a finger to do it.
To take full advantage of this scalability factor, you need to migrate everything that matters to the
cloud, a painstaking process that’s best left to the experts – like us. At Network Coverage, we have
years of experience in providing cloud and IT services to enterprise customers. Contact us now for a
free consultation, and we can help you virtualize your servers or fully enter the cloud.

Benefits of Virtualization

1. Security: During the process of virtualization security is one of the important concerns. The security
can be provided with the help of firewalls, which will help to prevent unauthorized access and will keep
the data confidential. Moreover, with the help of firewall and security, the data can protect from
harmful viruses malware and other cyber threats. Encryption process also takes place with protocols
which will protect the data from other threads. So, the customer can virtualize all the data store and
can create a backup on a server in which the data can store.
2. Flexible operations: With the help of a virtual network, the work of it professional is becoming more
efficient and agile. The network switch implement today is very easy to use, flexible and saves time.
With the help of virtualization in Cloud Computing, technical problems can solve in physical systems. It
eliminates the problem of recovering the data from crashed or corrupted devices and hence saves
time.
3. Economical: Virtualization in Cloud Computing, save the cost for a physical system such as hardware
and servers. It stores all the data in the virtual server, which are quite economical. It reduces the
wastage, decreases the electricity bills along with the maintenance cost. Due to this, the business can
run multiple operating system and apps in a particular server.
4. Eliminates the risk of system failure: While performing some task there are chances that the system
might crash down at the wrong time. This failure can cause damage to the company but the
virtualizations help you to perform the same task in multiple devices at the same time. The data can
store in the cloud it can retrieve anytime and with the help of any device. Moreover, there is two
working server side by side which makes the data accessible every time. Even if a server crashes with
the help of the second server the customer can access the data.
5. Flexible transfer of data: The data can transfer to the virtual server and retrieve anytime. The
customers or cloud provider don’t have to waste time finding out hard drives to find data. With the
help of virtualization, it will very easy to locate the required data and transfer them to the allotted
authorities. This transfer of data has no limit and can transfer to a long distance with the minimum
charge possible. Additional storage can also provide and the cost will be as low as possible.

PITFALLS OF VIRTUALIZATION MULTITENANT SOFTWARE: MULTI-ENTITY SUPPORT


Virtualization provides amazing value at the infrastructure level, particularly in terms of driving down
operating costs through utilization increases, automation, and infrastructure flexibility (among others).
That said, virtualization should focus on its strengths, and outside of rare instances, avoid venturing up stack
to solve what are fundamentally software architecture problems (e.g. multi-tenancy, scale-out, etc.) It's true
that moving to a multi-tenant architecture would require significant effort, but a lot has changed in the
market. Technologies exist that can blunt the cost of adopting true multi-tenancy and SaaS architecture
models to near trivial levels, negating much of the argument that it's difficult and costly (which is only the case
if done ground up)
The "does virtualization obviate the need for multi-tenancy question" is odd if we think of it in different terms.
For example, it's the same as asking "does a faster processor solve the problem of slow data
sorting?" or "does more memory on my computer make my memory hungry application faster?" Clearly, a
faster processor will make data sorting faster, but is a Band-Aid while a solution would be using/creating a
more efficient sorting algorithms. In the same vein, more RAM on your computer might make your memory
intensive application run faster since your PC doesn't have to page to disk, but the solution might be to write a
leaner application (which gives you an unbounded fix as opposed to the inherent limitations associated with
adding more RAM or a faster processor).

MULTISCHEMA APPROACH
Each tenant's data is kept in a distinct database schema on a single database instance. There are 2 different
ways to define JDBC Connections here:
 Connections could point specifically to each schema, as we saw with the Separate database approach.
This is an option provided that the driver supports naming the default schema in the connection URL or
if the pooling mechanism supports naming a schema to use for its Connections. Using this approach,
we would have a distinct JDBC Connection pool per-tenant where the pool to use would be selected
based on the “tenant identifier” associated with the currently logged in user.
 Connections could point to the database itself (using some default schema) but the Connections would
be altered using the SQL SET SCHEMA (or similar) command. Using this approach, we would have a
single JDBC Connection pool for use to service all tenants, but before using the Connection it would be
altered to reference the schema named by the “tenant identifier” associated with the currently logged
in user.

Figure 2.3 Multischema Approach


Limitations
Currently, following known limitations apply to the multi-schema multi-tenancy (MS-MT) feature:
 As with regular multi-tenancy, it is not possible to configure the out of the box LDAP synchronization to
synchronize users to different tenants.
 The tenant can only be configured through the REST API, not via the “identity management” app.
 Users need to be created by a user that is a “Tenant Administrator”, not a “Tenant Manager”.
 Updating a tenant configuration (more specifically: switching the data source) cannot be done
dynamically, a restart of all nodes is required for it to be picked up.
 A user id needs to be unique across all tenants (cft. an email). This is because a mapping {user id,
tenant id} will be stored in the primary database to determine the correct tenant data source.

MULTI-TENANCY USING CLOUD DATA STORES


A multi-tenant cloud is a cloud computing architecture that allows customers to share computing resources in
a public or private cloud. Each tenant's data is isolated and remains invisible to other tenants.
In a multi-tenant cloud system, users have individualized space for storing their projects and data. Each
section of a cloud network with multi-tenant architecture includes complex permissions with the intention of
allowing each user access to only their stored information along with security from other cloud tenants.
Within the cloud infrastructure, each tenant's data is inaccessible to all other tenants, and can only be reached
with the cloud provider's permissions.
In a private cloud, the customers, or tenants, may be different individuals or groups within a single company,
while in a public cloud, entirely different organizations may safely share their server space. Most public cloud
providers use the multi-tenancy model. It allows them to run servers with single instances, which is less
expensive and helps to streamline updates.
Figure 2.4 Multi-tenant cloud work

Multi-tenant cloud vs single-tenant cloud


In a single-tenant cloud, only one customer is hosted on a server and is granted access to it. Due to multi-
tenancy architectures hosting multiples customers on the same servers, it is important to fully understand the
security and performance the provider is offering. Single-tenant clouds give customers more control over the
management of data, storage, security and performance.

Figure 2.5 Multi-tenant VS. Single -tenant

Benefits of multi-tenant cloud


Multi-tenant cloud networks provide increased storage and improved access compared to single-
tenancy clouds that include limited access and security parameters. Multi-tenancy in cloud computing makes a
greater pool of resources available to a larger group of people without sacrificing privacy and security or
slowing down applications. The virtualization of storage locations in cloud computing allows for flexibility and
ease of access from almost any device or location.

Advantages of Multi-tenancy:
 Multi-tenancy reduces cost by sharing same power resources and software across its clients. The software
requires licenses and support, and the cost for this will increase if you need to buy them for each
customer, as in the case of single-tenancy. Shared infrastructure will automatically lead to lower costs.
 In a multi-tenant application, you’ll only have to monitor and provide administration for a single platform,
unlike single-tenant applications where you have to manage different sets for each client. This way a
multi-tenant SaaS provider can deliver more efficient and effective support, including problem resolution
and troubleshooting.
 A multi-tenant architecture will make it easy for you to increase your capacity when more strength &
power is required. The total capacity of the entire system increases and becomes more scalable when you
bring in new hardware to the platform, not for merely a single client but all associated clients. Adding
features for a single client makes it available to other clients.
 Upgrading the software version or system resources for multi-tenant applications are easy since there is a
single, centralized place for up gradation, installation and more.

Disadvantages of Multi-tenancy:
 A multi-tenant app has lesser flexibility than a single-tenant app to set low-level configurations. This might
not be a problem for you, but if your application requires a lot of customization for each new tenant, then
a multi-tenant app might not be the best solution.
 A multi-tenant app is more complex than an equivalent single-tenant app, whose configuration can
remain essentially static. In a single-tenant application, you don’t require any code to detect which tenant
a web request is intended for or to protect your clients from the leakage of data between tenants. The log
formats are simpler since logs are segregated with a separate instance of the application for each client.
 Since a multi-tenant application is backed by a single database, running on a single server, it has lesser
areas prone to failure, but those failure points can prove a lot more disastrous. All tenants experience loss
of service when the database for a multitenant app is unavailable, unlike when a single-tenant application
instance breaks. It brings down a single tenant. Other instances continue unaffected.

Example of multi-tenancy
Multi-tenant clouds can be compared to the structure of an apartment building. Each resident has access to
their own apartment within the agreement of the entire building and only authorized individuals can enter the
specific units. However, the entire building shares resources such as water, electricity and common areas.
This is similar to a multi-tenant cloud in that the provider sets overarching quotas, rules and performance
expectations for customers but each individual customer has private access to their information.

You might also like