You are on page 1of 57

BAHIR DAR UNIVERSITY

BAHIR DAR INSTITUTE OF


TECHNOLOGY
FACULTY COMPUTING
Department software Engineering

Seminar report project

title: - cloud computing


GROUP MEMEBERS

NAME ID
1.Yihunie Mulualem 1010879
2.Taye Alemneh 1010609
3.Yohanns Ayal 1010576
Acknowledgement
I am greatly indebted to my guide our friends for those invaluable guidance during the course
of the seminar. they always gave useful suggestions and also helped me when the work was not
moving ahead at times.
Table of contents
Chap. No. Title Pg No.

List of figures ii
Abstract iii
1. Introduction 1
2. Cloud Computing 3
2.1 Characteristics of cloud computing 4
2.2 Need for cloud computing 6
2.3 components 8
2.4 virtualization
2.5 users
2.6 Working of Cloud Computing:
4.Enabling Technologies
4.1 Cloud computing application architecture 8
4.2 Server Architecture 9
4.3 Map Reduce 11
4.4 Google File System 12
4.5 Hadoop 14
5.Cloud Computing Services 16
5.1 Amazon Web Services 16
5.2 Google App Engine 19
6.Cloud Computing in the Real World 21
6.1 Time Machine 21
6.2 IBM Google University Academic Initiative 21
6.3 SmugMug 22
7.Advantage and Dis advantage of cloud computing 22
8 Conclusion 23
9 References 24
List of figures

Sl. No. Images Page No.

4.1 Cloud computing application architecture 8


4.2 Server Architecture 9
4.3 Map Function 11
Abstract

Computers have become an indispensable part of life. We need


computers everywhere, be it for work, research or in any such field. As the use
of computers in our day-to-day life increases, the computing resources that we
need also go up. For companies like Google and Microsoft, harnessing the
resources as and when they need it is not a problem. But when it comes to
smaller enterprises, affordability becomes a huge factor. With the huge
infrastructure come problems like machines failure, hard drive crashes,
software bugs, etc. This might be a big headache for such a community. Cloud
Computing offers a solution to this situation.

Cloud computing is a paradigm shift in which computing is moved away


from personal computers and even the individual enterprise application server
to a ‘cloud’ of computers. A cloud is a virtualized server pool which can
provide the different computing resources of their clients. Users of this system
need only be concerned with the computing service being asked for. The
underlying details of how it is achieved are hidden from the user. The data and
the services provided reside in massively scalable data centers and can be
ubiquitously accessed from any connected device all over the world.

Cloud computing is the style of computing where massively scaled IT


related capabilities are provided as a service across the internet to multiple
external customers and are billed by consumption. Many cloud computing
providers have popped up and there is a considerable growth in the usage of
this service. Google, Microsoft, Yahoo, IBM and Amazon have started providing
cloud computing services. Amazon is the pioneer in this field. Smaller
companies like SmugMug, which is an online photo hosting site, has used cloud
services for the storing all the data and doing some of its services.

Cloud Computing is finding use in various areas like web hosting,


parallel batch processing, graphics rendering, financial modeling, web
crawling, economics analysis, etc.
Cloud Computing

1. Chapter one
Introduction
The Greek myths tell of creatures plucked from the surface of the Earth and
enshrined as constellations in the night sky. Something similar is happening today
in the world of computing. Data and programs are being swept up from desktop PCs
and corporate server rooms and installed in “the compute cloud”. In general, there is
a shift in the geography of computation.

What is cloud computing exactly? As a beginning here is a definition

“An emerging computer paradigm where data and


services reside in massively scalable data centers in the
cloud and can be accessed from any connected devices
over the internet”

Like other definitions of topics like these, an understanding of the term cloud
computing requires an understanding of various other terms which are closely related
to this. While there is a lack of precise scientific definitions for many of these terms,
general definitions can be given.

Cloud computing is an emerging paradigm in the computer industry where


the computing is moved to a cloud of computers. It has become one of the buzz
words of the industry. The core concept of cloud computing is, quite simply, that
the vast computing resources that we need will reside somewhere out there in the
cloud of computers and we’ll connect to them and use them as and when needed.

Computing can be described as any activity of using and/or developing


computer hardware and software. It includes everything that sits in the bottom layer,
i.e. everything from raw compute power to storage capabilities. Cloud computing
ties together all these entities and delivers them as a single integrated entity under
its own sophisticated management.

Seminar report on cloud computing


1
Cloud Computing

Cloud is a term used as a metaphor for the wide area networks (like internet)
or any such large networked environment. It came partly from the cloud-like
symbol used to represent the complexities of the networks in the schematic
diagrams. It represents all the complexities of the network which may include
everything from cables, routers, servers, data centers and all such other devices.

Computing started off with the mainframe era. There were big mainframes
and everyone connected to them via “dumb” terminals. This old model of business
computing was frustrating for the people sitting at the dumb terminals because they
could do only what they were “authorized” to do. They were dependent on the
computer administrators to give them permission or to fix their problems. They had
no way of staying up to the latest innovations.

The personal computer was a rebellion against the tyranny of centralized


computing operations. There was a kind of freedom in the use of personal
computers. But this was later replaced by server architectures with enterprise
servers and others showing up in the industry. This made sure that the computing
was done and it did not eat up any of the resources that one had with him. All the
computing was performed at servers. Internet grew in the lap of these servers. With
cloud computing we have come a full circle. We come back to the centralized
computing infrastructure. But this time it is something which can easily be accessed
via the internet and something over which we have all the control.

Seminar report on cloud computing


2
Cloud Computing

Seminar report on cloud computing


3
Cloud Computing

2. Chapter two
2.1 Cloud Computing
A definition for cloud computing can be given as an emerging computer
paradigm where data and services reside in massively scalable data centers in the
cloud and can be accessed from any connected devices over the internet.

Cloud computing is a way of providing various services on virtual machines


allocated on top of a large physical machine pool which resides in the cloud. Cloud
computing comes into focus only when we think about what IT has always wanted -
a way to increase capacity or add different capabilities to the current setting on the
fly without investing in new infrastructure, training new personnel or licensing new
software. Here ‘on the fly’ and ‘without investing or training’ becomes the
keywords in the current situation. But cloud computing offers a better solution.

We have lots of computer power and storage capabilities residing in the distributed
environment of the cloud. What cloud computing does is to harness the capabilities
of these resources and make available these resources as a single entity which can
be changed to meet the current needs of the user. The basis of cloud computing is to
create a set of virtual servers on the available vast resource pool and give it to the
clients. Any web enabled device can be used to access the resources through the
virtual servers. Based on the computing needs of the client, the infrastructure
allotted to the client can be scaled up or down.

From a business point of view, cloud computing is a method to address the


scalability and availability concerns for large scale applications which involves
lesser overhead. Since the resource allocated to the client can be varied based on the
needs of the client and can be done without any fuss, the overhead is very low.

One of the key concepts of cloud computing is that processing of 1000 times the
data need not be 1000 times harder.

Seminar report on cloud computing


4
Cloud Computing

As and when the amount of data increases, the cloud computing services
can be used to manage the load effectively and make the processing tasks
easier. In the era of enterprise servers and personal computers, hardware was
the commodity as the main criteria for the processing capabilities depended
on the hardware configuration of the server. But with the advent of cloud
computing, the commodity has changed to cycles

and bytes - i.e. in cloud computing services, the users are charged based on
the number of cycles of execution performed or the number of bytes
transferred. The hardware or the machines on which the applications run are
hidden from the user. The amount of hardware needed for computing is taken
care of by the management and the client is charged based on how the
application uses these resources.

Seminar report on cloud computing


5
Cloud Computing

2.1.Characteristics of Cloud Computing


1.Self Healing
Any application or any service running in a cloud computing
environment has the property of self healing. In case of failure
of the application, there is always a hot backup of the
application ready to take over without disruption. There are
multiple copies of the same application - each copy updating
itself regularly so that at times of failure there is at least one
copy of the application which can take over without even the
slightest change in its running state.

2.Multi-tenancy
With cloud computing, any application supports multi-tenancy
- that is multiple tenants at the same instant of time. The system
allows several customers to share the infrastructure allotted to
them without any of them being aware of the sharing. This is
done by virtualizing the servers on the available machine pool
and then allotting the servers to multiple users. This is done in
such a way that the privacy of the users or the security of their
data is not compromised.

3.Linearly Scalable
Cloud computing services are linearly scalable. The system is
able to break down the workloads into pieces and service it
across the infrastructure. An exact idea of linear scalability can
be obtained from the fact that if one server is able to process
say 1000 transactions per second, then two servers can process
2000 transactions per second.

Seminar report on cloud computing


6
Cloud Computing

4.Service-oriented
Cloud computing systems are all service oriented - i.e. the
systems are such that they are created out of other discrete
services. Many such discrete services which are independent of
each other are combined together to form this service. This
allows re-use of the different services that are available and that
are being created. Using the services that were just created,
other such services can be created.

5.SLA Driven
Usually, businesses have agreements on the amount of services.
Scalability and availability issues cause clients to break these
agreements. But cloud computing services are SLA driven such
that when the system experiences peaks of load, it will
automatically adjust itself so as to comply with the service-
level agreements.
The services will create additional instances of the applications
on more servers so that the load can be easily managed

6.Virtualized
The applications in cloud computing are fully decoupled from
the underlying hardware. The cloud computing environment is
a fully virtualized environment.

Seminar report on cloud computing


7
Cloud Computing

7.Flexible
Another feature of the cloud computing services is that they are
flexible. They can be used to serve a large variety of workload
types - varying from small loads of a small consumer
application to very heavy loads of a commercial application.

Seminar report on cloud computing


8
Cloud Computing

Seminar report on cloud computing


9
Cloud Computing

2.3 Need for Cloud Computing

What could we do with 1000 times more data and CPU power? One simple
question. That’s all it took the interviewers to be wilder the confident job applicants
at Google. This is a question of relevance because the amount of data that an
application handles is increasing day by day and so is the CPU power that one can
harness.

There are many answers to this question. With this much CPU power, we
could scale our businesses to 1000 times more users. Right now we are gathering
statistics about every user using an application. With such CPU power at hand, we
could monitor every single user click and every user interaction such that we can
gather all the statistics about the user. We could improve the recommendation
systems of users. We could model better price plan choices. With this CPU power
we could simulate the case where we have say 1,00,000 users in the system without
any glitches.

There are lots of other things we could do with so much CPU power and data
capabilities. But what is keeping us back. One of the reasons is the large scale
architecture which comes with these are difficult to manage. There may be many
different problems with the architecture we have to support. The machines may start
failing, the hard drives may crash, the network may go down and many other such
hardware problems. The hardware has to be designed such that the architecture is
reliable and scalable. This large scale architecture has a very expensive upfront and
has high maintenance costs. It requires different resources like machines, power,
cooling, etc. The system also cannot scale as and when needed and so is not easily
reconfigurable.

Seminar report on cloud computing


10
Cloud Computing

The resources are also constrained by the resources. As the applications


become large, they become I/O bound. The hard drive access speed becomes a
limiting factor. Though the raw CPU power available may not be a factor, the
amount of RAM available clearly becomes a factor. This is also limited in this
context. If at all the hardware problems are managed very well, there arises the
software problems. There may be bugs in the software using this much of data. The
workload also demands two important tasks for two completely different people.
The software has to be such that it is bug free and has good data processing
algorithms to manage all the data.

The cloud computing works on the cloud - so there are large groups of often
low-cost servers with specialized connections to spread the data-processing chores
among them. Since there are a lot of low-cost servers connected together, there are
large pools of resources available. So these offer almost unlimited computing
resources. This makes the availability of resources a lesser issue.

The data of the application can also be stored in the cloud. Storage of data in the
cloud has many distinct advantages over other storages. One thing is that data is
spread evenly through the cloud in such a way that there are multiple copies of the
data and there are ways by which failure can be detected and the data can be
rebalanced on the fly. The I/O operations become simpler in the cloud such that
browsing and searching for something in 25GB or more of data becomes simpler in
the cloud, which is nearly impossible to do on a desktop.

Seminar report on cloud computing


11
Cloud Computing

The cloud computing applications also provide automatic reconfiguration of


the resources based on the service level agreements. When we are using applications
out of the cloud, to scale the application with respect to the load is a mundane task
because the resources have to be gathered and then provided to the users. If the load
on the application is such that it is present only for a small amount of time as
compared to the time its working out of the load, but occurs frequently, then scaling
of the resources becomes tedious. But when the application is in the cloud, the load
can be managed by spreading it to other available nodes by making a copy of the
application on to them. This can be reverted once the load goes down. It can be
done as and when needed. All these are done automatically such that the resources
maintain and manage themselves

Seminar report on cloud computing


12
Cloud Computing

2.4 cloud computing architecture

Cloud architecture the systems architecture of the software systems involved in the
delivery of cloud computing, comprises hardware and software designed by a cloud
architect who typically works for a cloud integrator. It typically involves multiple cloud
components communicating with each other over application programming interfaces,
usually web services.

This closely resembles the Unix philosophy of having multiple programs doing one
thing well and working together over universal interfaces. Complexity is controlled and
the resulting systems are more manageable than their monolithic counterparts.

Cloud architecture extends to the client, where web browsers and/or software
applications access cloud applications. Cloud storage architecture is loosely coupled,
where metadata operations are centralized enabling the data nodes to scale into the
hundreds, each independently delivering data to applications or users.

Fig 2.1 cloud architecture

Seminar report on cloud computing


13
Cloud Computing

2.5 Cloud –Types


Public cloud
Public clouds are made available to the general public by a service provider who hosts
the cloud infrastructure. Generally, public cloud providers like Amazon ,
AWS,Microsoft and Google own and operate the infrastructure and offer access over
the Internet. With this model, customers have no visibility or control over where the
infrastructure is located. It is important to note that all customers on public clouds share
the same infrastructure pool with limited configuration, security protections and
availability variances.
Public Cloud customers benefit from economies of scale, because infrastructure costs are
spread across all users, allowing each individual client to operate on a low-cost, “pay-
as-you-go” model. Another advantage of public cloud infrastructures is that they are
typically larger in scale than an in-house enterprise cloud, which provides clients with
seamless, on demand scalability. These clouds offer the greatest level of efficiency in
shared resources; however, they are also more vulnerable than private clouds.
A public cloud is the obvious choice when:
 Your standardized workload for applications is used by lots of people, such as
e-mail.
 You need to test and develop application code.
 You need incremental capacity (the ability to add compute resources for peak
times).
 You’re doing collaboration projects.

Private cloud
Private cloud is cloud infrastructure dedicated to a particular organization.
Private clouds allow businesses to host applications in the cloud, while addressing
concerns regarding data security and control, which is often lacking in a public cloud
environment. It is not shared with other organizations, whether managed internally or
by a third-party, and it can be hosted internally or externally.
There are two variations of private clouds:

1. On-Premise Private Cloud: This type of cloud is hosted within an organization’s own
facility. A businesses IT department would incur the capital and operational costs for
the physical resources with this model. On-Premise Private Clouds are best used for
applications that require complete control and configurability of the infrastructure and
security.

Seminar report on cloud computing


14
Cloud Computing
2. Externally Hosted Private Cloud: Externally hosted private clouds are also exclusively
used by one organization, but are hosted by a third party specializing in cloud
infrastructure. The service provider facilitates an exclusive cloud environment with full
guarantee of privacy. This format is recommended for organizations that prefer not to
use a public cloud infrastructure due to the risks associated with the
sharing of physical resources.
Undertaking a private cloud project requires a significant level and degree of
engagement to virtualized the business environment, and it will require the organization
to reevaluate decisions about existing resources.
Private clouds are more expensive but also more secure when compared to public clouds.
An Info-Tech survey shows that 76% of IT decision-makers will focus
exclusively on the private cloud, as these clouds offer the greatest level of security and
control.
When is a Private Cloud for you?
 You need data sovereignty but want cloud efficiencies
 You want consistency across services
 You have more server capacity than your organization can use
 Your data center must become more efficient
 You want to provide private cloud services

Hybrid cloud
Hybrid Clouds are a composition of two or more clouds (private, community or public)
that remain unique entities but are bound together offering the advantages of multiple
deployment models. In a hybrid cloud, you can leverage third party cloud providers in
either a full or partial manner; increasing the flexibility of computing. Augmenting a
traditional private cloud with the resources of a public cloud can be used to manage any
unexpected surges in workload. Hybrid cloud architecture requires both on-premise
resources and off-site server-based cloud infrastructure. By spreading things out over a
hybrid cloud, you keep each aspect of your business in the most efficient environment
possible. The downside is that you have to keep track of multiple cloud security
platforms and ensure that all aspects of your business can communicate with eachother.
Here are a couple of situations where a hybrid environment is best:
o Your company wants to use a SaaS application but is concerned about security.
o Your company offers services that are tailored for different vertical markets. You can
use a public cloud to interact with the clients but keep their data secured within a
private cloud.
o You can provide public cloud to your customers while using a
private cloud for internal IT.

Seminar report on cloud computing


15
Cloud Computing

Community cloud
This type of Cloud Computing is designed to address the needs of a specific community,
like a business or an industry. And that is how it has derived its name. Quite aptly, the
different cloud services offered under this type are shared by members of a community
who share common goals or operations.

2.6 Cloud computing products and services


Products and services of the cloud computing can be classified in to four categories.
They are
1. Application as service ( AaaS)
2. Platform as a Service (PaaS)
3. Infrastructure as a service (IaaS)
4. Software as a Service (SaaS)

1.Application as s service (AaaS):


These are the first kind of cloud computing services that came into being. Under this, a
service is made available to an end-user.The end-user is asked to create an account
with the service provider and start using the application. One of first famous application
was web-based email service by hotmail started in 1996. Scores of such services are
available now on the web.

2. Platform as a Service (PaaS):


Cloud vendors are companies that offer cloud computing services and products. One of
the services that they provide is called PaaS. Under this a computing platform such as
operating system is provided to a customer or end user on a monthly rental basis. Some
of the major cloud computing vendor are Amazon, Microsoft, Google etc.

3.Infrastructure as a service: The cloud computing vendors offer infrastructure


as a service. One may avail hardware services such as processors, memory, networks
etc on agreed basis for specific duration and price.

.4 Software as a service (SaaS): Software package such as CRM or CAD/CAM


can be accessed under cloud computing scheme. Here a customer upon registration is
allowed to use software accessible through net and use it for his or his business process.
The related data and work may be stored on local machines or with the service
providers. SaaS services may be available on rental basis or on per use basis.

2.7 Components of cloud computing

Seminar report on cloud computing


16
Cloud Computing
Client Infrastructure: The client infrastructure component is the part of the frontend
which provides a graphic user interface for the user to interact with the cloud. 

Application: An application is any platform like an app or software offered by a company


by which the clients access the cloud.

Service: A cloud service manages the kind of service that a client needs to use according to
his requirement. There are three types of services in cloud computing. 

-Software as a Service (SaaS): SaaS-based services are known as cloud application


services. They run directly through a web browser eliminating the need for any
download or installation of the applications—for example, slack Hubspot and Google
apps. 

-Platform as a Service (PaaS): PaaS services are similar to SaaS. However, PaaS services
provide a platform for users to build, edit, and launch the software. For example,
Magneto commerce cloud and Windows Azure. 

-Infrastructure as a service (IaaS): IaaS manages application data runtime environments


and middleware. It provides virtual services that eliminate the need for physical
computing resources such as RAM, CPU, and data centres. In IaaS, the companies run
virtual servers, networks, and storage on the cloud on a paid basis. For example,
Google Compute Engine (GCE), Amazon Elastic Compute Cloud, and Amazon Web
Services (AWS).

Runtime Cloud: The runtime cloud provides the execution and runtime environment to the
virtual machines. 

Storage: The storage component of cloud computing provides the storage capacity in the
cloud for storing and managing data. In cloud storage, the data can be accessible to
multiple clients simultaneously. Cloud storage is generally in the form of three basic
configurations: public cloud, private cloud, and hybrid cloud.

Infrastructure : The infrastructure provides services on the host level, application level,
and network level. It includes the software and hardware components such as the
storage network devices server and any other storage resource required to support the
cloud computing model.

Management: Management is used for managing the components such as storage services,
applications, runtime cloud infrastructure, and security issues in the backend and for
establishing coordination. 

Seminar report on cloud computing


17
Cloud Computing
Security: -Security is the backend component of cloud computing, which insurance the
security of data in the cloud. The security system in the cloud includes a broad set of
policies, technologies, applications, and controls that are used for protecting the IP’s,
data, applications, infrastructure, and the services offered in cloud computing.

Internet: -Internet is the medium using which the frontend and backend components
communicate and interact with each other.

2.8 Virtualization in cloud computing

Virtualization is a technique of how to separate a service from the underlying physical


delivery of that service. It is the process of creating a virtual version of something like
computer hardware. It was initially developed during the mainframe era. It involves
using specialized software to create a virtual or software-created version of a
computing resource rather than the actual version of the same resource. With the help
of Virtualization, multiple operating systems and applications can run on same machine
and its same hardware at the same time, increasing the utilization and flexibility of
hardware. 

In other words, one of the main cost effective, hardware reducing, and energy saving
techniques used by cloud providers is virtualization. Virtualization allows to share a
single physical instance of a resource or an application among multiple customers and
organizations at one time. It does this by assigning a logical name to a physical storage
and providing a pointer to that physical resource on demand. The term virtualization is
often synonymous with hardware virtualization, which plays a fundamental role in
efficiently delivering Infrastructure-as-a-Service (IaaS) solutions for cloud computing.
Moreover, virtualization technologies provide a virtual environment for not only
executing applications but also for storage, memory, and networking. 

Seminar report on cloud computing


18
Cloud Computing
A technology called the Virtual Machine Monitor — also called virtual manager —
encapsulates the very basics of virtualization in cloud computing. It is used to separate
the physical hardware from its emulated parts. This often includes the CPU’s memory,
I/O and network traffic. A secondary operating system that is usually interacting with
the hardware is now a software emulation of that hardware, and often the guest
operating system has no idea it’s on the virtualized hardware. Despite the fact that the
performance of the virtual system is not equal to the functioning of the “true hardware”
operating system, the technology still works because most secondary OSs and
applications don’t need the full use of the underlying hardware. This allows for greater
flexibility, control and isolation by removing the dependency on a given hardware
platform.
The layer of software that enables this abstraction is called “hypervisor”. “a software
layer that can monitor and virtualize the resources of a host machine conferring to the
user requirements.” The most common hypervisor is referred to as Type 1. By talking
to the hardware directly, it virtualizes the hardware platform that makes it available to
be used by virtual machines. There’s also a Type 2 hypervisor, which requires an
operating system

Fig 2.2 virtualization in clou computing

Seminar report on cloud computing


19
Cloud Computing

Types of virtualization

Data Virtualization: -Data that’s spread all over can be consolidated into a
single source. Data virtualization allows companies to treat data as a dynamic supply—
providing processing capabilities that can bring together data from multiple sources,
easily accommodate new data sources, and transform data according to user needs.
Data virtualization tools sit in front of multiple data sources and allows them to be
treated as single source, delivering the needed data—in the required form—at the right
time to any application or user.

Fig 2.3 data virtualization

Desk top virtualization :-Easily confused with operating system virtualization—which


allows you to deploy multiple operating systems on a single machine—desktop
virtualization allows a central administrator (or automated administration tool) to
deploy simulated desktop environments to hundreds of physical machines at once.
Unlike traditional desktop environments that are physically installed, configured, and
updated on each machine, desktop virtualization allows admins to perform mass
configurations, updates, and security checks on all virtual desktops.

Seminar report on cloud computing


20
Cloud Computing

Fig 2.4 desk top virtualization

Server virtualization :-Servers are computers designed to process a high volume of


specific tasks really well so other computers—like laptops and desktops—can do a
variety of other tasks. Virtualizing a server lets it to do more of those specific functions
and involves partitioning it so that the components can be used to serve multiple
functions.

Fig 2.5 server virtualization

Seminar report on cloud computing


21
Cloud Computing

Network virtualization:- Network functions virtualization (NFV) separates a network's


key functions (like directory services, file sharing, and IP configuration) so they can be
distributed among environments. Once software functions are independent of the
physical machines they once lived on, specific functions can be packaged together into
a new network and assigned to an environment. Virtualizing networks reduces the
number of physical components—like switches, routers, servers, cables, and hubs—that
are needed to create multiple, independent networks, and it’s particularly popular in the
telecommunications industry.

Fig 2.7 data virtualization

Seminar report on cloud computing


22
Cloud Computing
Oprating System virtualization:-Operating system virtualization happens at the kernel—the
central task managers of operating systems. It’s a useful way to run Linux and Windows
environments side-by-side. Enterprises can also push virtual operating systems to computers.

Fig 2.3 operating system virtualization

 BENEFITS OF VIRTUALIZATION 
1. More flexible and efficient allocation of resources. 
2. Enhance development productivity. 
3. It lowers the cost of IT infrastructure. 
4. Remote access and rapid scalability. 
5. High availability and disaster recovery. 
6. Pay peruse of the IT infrastructure on demand. 
7. Enables running multiple operating systems.

2.8 Users of cloud computing

The most important Cloud entity, and the principal quality driver and constraining
influence is, of course, the user. The value of a solutions depends very much on the
view it has of its enduser requirements and user categories.There four broad sets of
nonexclusive user categories:System or Cyber infrastructure (CI) developers,
developers (authors) of different component services and underlying applications,

Seminar report on cloud computing


23
Cloud Computing
technology and domain personnel that integrates basic services into composite services
and their orchestrations (workflows) and delivers those to endusers, and finally users of
simple and composite services. User categories also include domain specific groups,
and indirect users such as stakeholders, policy makers, and so on. Functional and
usability requirements derive, in most part, directly from the user profiles.

2.9 Working of Cloud Computing:

Cloud Computing system can be divided it into two sections: the front end and the
back end.They connect to each other through a network, usually the Internet. The front
end is the side the computer user, or client, sees.the back end is the "cloud" section of

the system. On the backend there are various computers,servers and data storage systems
that create the "cloud" of computing services.A central server administers the system,
monitoring traffic and client demands to ensure everything runs smoothly. It followsa
set of rules called protocols Servers and remote computers do most of the work and
store the data.

Seminar report on cloud computing


24
Cloud Computing

Fig 2.2 working on cloud

Chapter three
Enabling Technologies
3.1 Cloud Computing Application Architecture

Fig 3.1 cloud architecture

Seminar report on cloud computing


25
Cloud Computing

This gives the basic architecture of a cloud computing application. We


know that cloud computing is the shift of computing to a host of hardware
infrastructure that is distributed in the cloud. The commodity hardware
infrastructure consists of the various low cost data servers that are connected
to the system and provide their storage and processing and other computing
resources to the application. Cloud computing involves running applications
on virtual servers that are allocated on this distributed hardware
infrastructure available in the cloud. These virtual servers are made in such a
way that the different service level agreements and reliability issues are met.
There may be multiple instances of the same virtual server accessing the
different parts of the hardware infrastructure available. This is to make sure
that there are multiple copies of the applications which are ready to take over
on another one’s failure. The virtual server distributes the processing between
the infrastructure and the computing is done and the result returned. There
will be a workload distribution

Seminar report on cloud computing


26
Cloud Computing

management system, also known as the grid engine, for managing the different
requests coming to the virtual servers. This engine will take care of the
creation of multiple copies and also the preservation of integrity of the data
that is stored in the infrastructure. This will also adjust itself such that even on
heavier load, the processing is completed as per the requirements. The different
workload management systems are hidden from the users. For the user, the
processing is done and the result is obtained. There is no question of where it was
done and how it was done. The users are billed based on the usage of the system - as
said before - the commodity is now cycles and bytes. The billing is usually on the
basis of usage per CPU per hour or GB data transfer per hour.

3.2 Server Architecture

Fig 3.2 server architecture

Cloud computing makes use of a large physical resource pool in the cloud.
As said above, cloud computing services and applications make use of virtual server
instances built upon this resource pool. There are two applications which help in
managing the server instances, the resources and also the management of the
resources by these virtual server instances. One of these is the Xen hypervisor
which provides an abstraction layer between the hardware and the virtual OS so that
the distribution of the resources and the processing is well managed. Another

Seminar report on cloud computing


27
Cloud Computing
application

Seminar report on cloud computing


28
Cloud Computing

that is widely used is the Enomalism server management system which is used for
management of the infrastructure platform.

When Xen is used for virtualization of the servers over the infrastructure, a
thin software layer known as the Xen hypervisor is inserted between the server's
hardware and the operating system. This provides an abstraction layer that allows
each physical server to run one or more "virtual servers," effectively decoupling the
operating system and its applications from the underlying physical server. The Xen
hypervisor is a unique open source technology, developed collaboratively by the
Xen community and engineers at over 20 of the most innovative data center solution
vendors, including AMD, Cisco, Dell, HP, IBM, Intel, Mellanox, Network Appliance,
Novell, Red Hat, SGI, Sun, Unisys, Veritas, Voltaire, and Citrix. Xen is licensed
under the GNU General Public License (GPL2) and is available at no charge in both
source and object format. The Xen hypervisor is also exceptionally lean-- less than
50,000 lines of code. That translates to extremely low overhead and near-native
performance for guests. Xen re-uses existing device drivers (both closed and open
source) from Linux, making device management easy. Moreover Xen is robust to
device driver failure and protects both guests and the hypervisor from faulty or
malicious drivers

The Enomalism virtualized server management system is a complete virtual


server infrastructure platform. Enomalism helps in an effective management of the
resources. Enomalism can be used to tap into the cloud just as you would into a
remote server. It brings together all the features such as deployment planning, load
balancing, resource monitoring, etc. Enomalism is an open source application. It has
a very simple and easy to use web based user interface. It has a module architecture
which allows for the creation of additional system add-ons and plugins. It supports
one click deployment of distributed or replicated applications on a global basis. It
supports the management of various virtual environments including KVM/Qemu,
Amazon EC2 and Xen, OpenVZ, Linux Containers, VirtualBox. It has fine grained
user permissions and access privileges.

Seminar report on cloud computing


29
Cloud Computing

3.3 Google File System

Google File System (GFS) is a scalable distributed file system developed by


Google for data intensive applications. It is designed to provide efficient, reliable
access to data using large clusters of commodity hardware. It provides fault
tolerance while running on inexpensive commodity hardware, and it delivers high
aggregate performance to a large number of clients.

Files are divided into chunks of 64 megabytes, which are only extremely rarely
overwritten, or shrunk; files are usually appended to or read. It is also designed and
optimized to run on computing clusters, the nodes of which consist of cheap,

Seminar report on cloud computing


30
Cloud Computing

"commodity" computers, which means precautions must be taken against the high
failure rate of individual nodes and the subsequent data loss. Other design decisions
select for high data throughputs, even when it comes at the cost of latency.

The nodes are divided into two types: one Master node and a large number of
Chunkservers. Chunkservers store the data files, with each individual file broken up
into fixed size chunks (hence the name) of about 64 megabytes, similar to clusters
or sectors in regular file systems. Each chunk is assigned a unique 64-bit label, and
logical mappings of files to constituent chunks are maintained. Each chunk is
replicated several times throughout the network, with the minimum being three, but
even more for files that have high demand or need more redundancy.

The Master server doesn't usually store the actual chunks, but rather all the
metadata associated with the chunks, such as the tables mapping the 64-bit labels to
chunk locations and the files they make up, the locations of the copies of the
chunks, what processes are reading or writing to a particular chunk, or taking a
"snapshot" of the chunk pursuant to replicating it (usually at the instigation of the
Master server, when, due to node failures, the number of copies of a chunk has
fallen beneath the set number). All this metadata is kept current by the Master
server periodically receiving updates from each chunk server ("Heart-beat
messages").

Permissions for modifications are handled by a system of time-limited, expiring


"leases", where the Master server grants permission to a process for a finite period
of time during which no other process will be granted permission by the Master
server to modify the chunk. The modified chunkserver, which is always the primary
chunk holder, then propagates the changes to the chunkservers with the backup
copies. The changes are not saved until all chunkservers acknowledge, thus
guaranteeing the completion and atomicity of the operation.

Programs access the chunks by first querying the Master server for the locations
of the desired chunks; if the chunks are not being operated on (if there are no
outstanding leases), the Master replies with the locations, and the program then
contacts and receives the data from the chunkserver directly. As opposed to many
file systems, it's not implemented in the kernel of an Operating System but accessed

Seminar report on cloud computing


31
Cloud Computing
through a library to avoid overhead.

Seminar report on cloud computing


32
Cloud Computing

3.4 Hadoop

Hadoop is a framework for running applications on large cluster built of


commodity hardware. The Hadoop framework transparently provides applications
both reliability and data motion. Hadoop implements the computation paradigm
named MapReduce which was explained above. The application is divided into
many small fragments of work, each of which may be executed or re-executed on
any node in the cluster. In addition, it provides a distributed file system that stores
data on the compute nodes, providing very high aggregate bandwidth across the
cluster. Both MapReduce and the distributed file system are designed so that the
node failures are automatically handled by the framework. Hadoop has been
implemented making use of Java. In Hadoop, the combination of the entire JAR
files and classed needed to run a MapReduce program is called a job. All of these
components are themselves collected into a JAR which is usually referred to as the
job file. To execute a job, it is submitted to a jobTracker and then executed.
Tasks in each phase are executed in a fault-tolerant manner. If node(s) fail in
the middle of a computation the tasks assigned to them are re-distributed among the
remaining nodes. Since we are using MapReduce, having many map and reduce
tasks enables good load balancing and allows failed tasks to be re-run with smaller
runtime overhead.
The Hadoop MapReduce framework has master/slave architecture. It has a
single master server or a jobTracker and several slave servers or taskTrackers, one
per node in the cluster. The jobTracker is the point of interaction between the users
and the framework. Users submit jobs to the jobTracker, which puts them in a queue
of pending jobs and executes them on a first-come first-serve basis. The jobTracker
manages the assignment of MapReduce jobs to the taskTrackers. The taskTrackers
execute tasks upon instruction from the jobTracker and also handle data motion
between the ‘map’ and ‘reduce’ phases of the MapReduce job.
Hadoop is a framework which has received a wide industry adoption.
Hadoop is used along with other cloud computing technologies like the Amazon
services so as to make better use of the resources. There are many instances where
Hadoop has been used. Amazon makes use of Hadoop for processing millions of
sessions which it uses for analytics. This is made use of in a cluster which has about
1 to 100 nodes. Facebook uses Hadoop to store copies of internal logs and

Seminar report on cloud computing


33
Cloud Computing
dimension data sources and

Seminar report on cloud computing


34
Cloud Computing

use it as a source for reporting/analytics and machine learning. The New York
Times made use of Hadoop for large scale image conversions. Yahoo uses Hadoop
to support research for advertisement systems and web searching tools. They also
use it to do scaling tests to support development of Hadoop.

Seminar report on cloud computing


35
Cloud Computing

4 Chapter four
Cloud Computing Services

Even though cloud computing is a pretty new technology, there are


many companies offering cloud computing services. Different companies
like Amazon, Google, Yahoo, IBM and Microsoft are all players in the cloud
computing services industry. But Amazon is the pioneer in the cloud
computing industry with services like EC2 (Elastic Compute Cloud) and S3
(Simple Storage Service) dominating the industry. Amazon has an expertise
in this industry and has a small advantage over the others because of this.
Microsoft has good knowledge of the fundamentals of cloud science and is
building massive data centers. IBM, the king of business computing and
traditional supercomputers, teams up with Google to get a foothold in the
clouds. Google is far and away the leader in cloud computing with the
company itself built from the ground up on hardware.

4.1 Amazon Web Services

The ‘Amazon Web Services’ is the set of cloud computing services


offered by Amazon. It involves four different services. They are Elastic
Compute Cloud (EC2), Simple Storage Service (S3), Simple Queue Service
(SQS) and Simple Database Service (SDB).

Seminar report on cloud computing


36
Cloud Computing

1.Elastic Compute Cloud (EC2)

Amazon Elastic Compute Cloud (Amazon EC2) is a web


service that provides resizable compute capacity in the cloud. It is
designed to make web- scale computing easier for developers. It
provides on-demand processing power.
Amazon EC2's simple web service interface allows you to
obtain and configure capacity with minimal friction. It provides you
with complete control of your computing resources and lets you run
on Amazon's proven computing environment. Amazon EC2 reduces
the time required to obtain and boot new server instances to minutes,
allowing you to quickly scale capacity, both up and down, as your
computing requirements change. Amazon EC2 changes the economics
of computing by allowing you to pay only for capacity that you
actually use. Amazon EC2 provides developers the tools to build
failure resilient applications and isolate themselves from common
failure scenarios.

Seminar report on cloud computing


37
Cloud Computing

Amazon EC2 presents a true virtual computing environment,


allowing you to use web service interfaces to requisition machines for
use, load them with your custom application environment, manage
your network's access permissions, and run your image using as many
or few systems as you desire.

To set up an Amazon EC2 node we have to create an EC2 node


configuration which consists of all our applications, libraries, data and
associated configuration settings. This configuration is then saved as
an AMI (Amazon Machine Image). There are also several stock
instances of Amazon AMIs available which can be customized and
used. We can then start, terminate and monitor as many instances of
the AMI as needed.

Amazon EC2 enables you to increase or decrease capacity


within minutes. You can commission one, hundreds or even thousands
of server instances simultaneously. Thus the applications can
automatically scale itself up and down depending on its needs. You
have root access to each one, and you can interact with them as you
would any machine. You have the choice of several instance types,
allowing you to select a configuration of memory, CPU, and instance
storage that is optimal for your application. Amazon EC2 offers a
highly reliable environment where replacement instances can be
rapidly and reliably commissioned. Amazon EC2 provides web
service interfaces to configure firewall settings that control network
access to and between groups of instances. You will be charged at the
end of each month for your EC2 resources actually consumed. So
charging will be based on the actual usage of the resources.

Seminar report on cloud computing


38
Cloud Computing

2.Simple Storage Service (S3)

S3 or Simple Storage Service offers cloud computing storage


service. It offers services for storage of data in the cloud. It provides a
high-availability large-store database. It provides a simple SQL-like
language. It has been designed for interactive online use. S3 is storage
for the Internet. It is designed to make web-scale computing easier for
developers. S3 provides a simple web services interface that can be
used to store and retrieve any amount of data, at any time, from
anywhere on the web. It gives any developer access to the same highly
scalable, reliable, fast, inexpensive data storage infrastructure that
Amazon uses to run its own global network of web sites.

Seminar report on cloud computing


39
Cloud Computing

Amazon S3 allows write, read and delete of objects containing


from 1 byte to 5 gigabytes of data each. The number of objects that
you can store is unlimited. Each object is stored in a bucket and
retrieved via a unique developer-assigned key. A bucket can be
located anywhere in Europe or the Americas but can be accessed from
anywhere. Authentication mechanisms are provided to ensure that the
data is kept secure from unauthorized access. Objects can be made
private or public, and rights can be granted to specific users for
particular objects. Also the S3 service also works with a pay only for
what you use method of payment.

3.Simple Queue Service (SQS)


Amazon Simple Queue Service (SQS) offers a reliable, highly
scalable, hosted queue for storing messages as they travel between
computers. By using SQS, developers can simply move data between
distributed components of their applications that perform different
tasks, without losing messages or requiring each component to be
always available.

Fig 3.5 simple queue service

Seminar report on cloud computing


40
Cloud Computing

With SQS, developers can create an unlimited number of SQS queues, each of
which can send and receive an unlimited number of messages. Messages can be
retained in a queue for up to 4 days. It is simple, reliable, secure and scalable.

Seminar report on cloud computing


41
Cloud Computing

4.simple database access

Amazon SimpleDB is a web service for running queries on


structured data in real time. This service works in close conjunction
with the Amazon S3 and EC2, collectively providing the ability to
store, process and query data sets in the cloud. These services are
designed to make web-scale computing easier and more cost-effective
to developers. Traditionally, this type of functionality is accomplished
with a clustered relational database, which requires a sizable upfront
investment and often requires a DBA to maintain and administer them.
Amazon SDB provides all these without the operational complexity. It
requires no schema, automatically indexes your data and provides a
simple API for storage and access. Developers gain access to the
different functionalities from within the Amazon’s proven computing
environment and are able to scale instantly and need to pay only for
what they use.

Seminar report on cloud computing


42
Cloud Computing

4.2 Google App Engine

Google App Engine lets you run your web applications on Google's
infrastructure. App Engine applications are easy to build, easy to maintain,
and easy to scale as your traffic and data storage needs grow. You can serve
your app using a free domain name on the appspot.com domain, or use
Google Apps to serve it from your own domain. You can share your
application with the world, or limit access to members of your organization.
App Engine costs nothing to get started. Sign up for a free account, and you
can develop and publish your application at no charge and with no
obligation. A free account can use up to 500MB of persistent storage and
enough CPU and bandwidth for about 5 million page views a month.

Google App Engine makes it easy to build an application that runs


reliably, even under heavy load and with large amounts of data. The
environment includes the following features:

Seminar report on cloud computing


43
Cloud Computing

 dynamic web serving, with full support for common web technologies
 persistent storage with queries, sorting and transactions
 automatic scaling and load balancing
 APIs for authenticating users and sending email using Google Accounts
 a fully featured local development environment that simulates
Google App Engine on your computer

Google App Engine applications are implemented using the Python


programming language. The runtime environment includes the full Python
language and most of the Python standard library. Applications run in a
secure environment that provides limited access to the underlying operating
system. These limitations allow App Engine to distribute web requests for
the application across multiple servers, and start and stop servers to meet
traffic demands.

App Engine includes a service API for integrating with Google


Accounts. Your application can allow a user to sign in with a Google
account, and access the email address and displayable name associated with
the account. Using Google Accounts lets the user start using your application
faster, because the user may not need to create a new account. It also saves
you the effort of implementing a user account system just for your
application

App Engine provides a variety of services that enable you to perform


common operations when managing your application. The following APIs
are provided to access these services: Applications can access resources on

the Internet, such as web services or other data, using App Engine's URL
fetch service. Applications can send email messages using App Engine's mail
service. The mail service uses Google infrastructure to send email messages.
The Image service lets your application manipulate images. With this API,
you can resize, crop, rotate and flip images in JPEG and PNG formats.

Seminar report on cloud computing


44
Cloud Computing

Chapter five
Cloud Computing in the Real World
5.1Time Machine
Times machine is a New York Times project in which one can read
any issue from Volume 1, Number 1 of The New York Daily Times, on
September 18, 1851 through to The New York Times of December 30, 1922.
They made it such that one can choose a date in history and flip
electronically through the pages, displayed with their original look and feel.
Here’s what they did. They scanned all their public domain articles from
1851 to 1992 into TIFF files. They converted it into PDF files and put them
online. Using 100 Linux computers, the job took about 24 hours. Then a
coding error was discovered that required the job be rerun. That’s when their
software team decided that the job of maintaining this much data was too
much to do in-house. So they made use of cloud computing services to do the
work.

All the content was put in the cloud, in Amazon. They made use of
100 instances of Amazon EC2 and completed the whole work in less than 24
hours. They uploaded all the TIFF files into the cloud and made a program in
Hadoop which does the whole job. Using Amazon.com's EC2 computing
platform, the Times ran a PDF conversion app that converted that 4TB of
TIFF data into 1.5TB of PDF files. The PDF files were such that they were
fully searchable. The image manipulation and the search ability of the
software were done using cloud computing services.

5.2 IBM Google University Academic Initiative

Google and IBM came up with an initiative to advance large-scale distributed


computing by providing hardware, software, and services to universities. Their

Seminar report on cloud computing


45
Cloud Computing
idea was to prepare students "to harness the potential of modern computing
systems," the companies will provide universities with hardware, software, and
services to advance training in large-scale distributed computing. The two
companies aim to reduce the cost of distributed computing research, thereby
enabling academic institutions and their students to more easily contribute to this
emerging computing paradigm. Eric Schmidt, CEO of Google, said in a statement.
"In order to most effectively serve the long-term interests of our users, it is
imperative that students are adequately equipped to harness the potential of
modern computing systems and for researchers to be able to innovate ways to
address emerging problems."

The first university to join the initiative is the University of


Washington. Carnegie-Mellon University, MIT, Stanford University, the
University of California at Berkeley, and the University of Maryland are also
participating in the program.

Seminar report on cloud computing


46
Cloud Computing

As part of the initiative, Google and IBM are providing a cluster of


several hundred computers -- Google's custom servers and IBM BladeCenter
and System x servers. Over time, the companies expect the cluster to surpass
1,600 processors. The Linux-based servers will run open source software
including Xen's virtualization system and Hadoop, an open source
implementation of Google's distributed file system that's managed by the
Apache Software Foundation.

Students working with the cluster will have access to a Creative


Commons- licensed curriculum for massively parallel computing developed
by Google and the University of Washington.

5.3SmugMug
SmugMug is an online photo hosting application which is fully based
on cloud computing services. They don’t own any hard drives. All their
storage is based in the Amazon S3 instances.

Chapter 6
Advantages and Dis advantage of cloud computing
Advantages of Cloud Computing
The following are some of the possible advantages of cloud computing:
Flexibility
There is a high rate of flexibility when using cloud computing because
people can opt out of  using it whenever they want too. One of the  major
benefit of cloud computing is that there is no limitation of place and
medium. We can access our applications and data anywhere in the world, on
any system. These are the main reasons, which attract people to use  this
method.

Low Cost
Companies can save big by employing cloud computing as it eliminates cost for

Seminar report on cloud computing


47
Cloud Computing
hardware and software. With cloud computing, company uses the resources of the
hosting company to store their data and applications.Companies also pay for use
of the software and programs by paying a subscription fee.
The cost of using cloud resources is very economical for resources such as
centralized, real estate, bandwidth, and power. Users will also save money on
software updates, management costs, and data storage costs. It is a cheaper way to
maintain the software and it will save time, as the developers keep track of
updates and maintain your programs while you use it.
Speed & Scales
Traditional methods to buy and configure hardware and software are time
consuming. There is no need to purchase and setup hardware manually when
using the cloud computing method. Cloud computing provides a rapid
deployment model that enables applications to grow quickly to match
increasing usage requirements. Depending upon their needs the user can
quickly scale up or scale down.
Easier Management of Data and Information
Since all data are located on a centralized location, data are more organized
making it easy to manage. All transactions are also recorded so management
can easily track activities of their employees.
Device Diversity
We can access our applications and data anywhere in the world, on any
system. Cloud Computing Services can be accessed through various different
electronic devices that are able to have access to the internet. These devices would
include and i pad, Smartphone, Laptop, or desktop computer.
Increased Storage Capacity
Increased Storage Capacity is another benefit of the cloud computing, as it can
store more data as compared to a personal computer. So it saves us from the
upgrading computer memory that helps reduce the cost for companies and users.
Easy to Learn and Understand
Thus allowing you to save hundreds and thousands of dollars in implementing any
new system and making arrangements for training on the same. Since people are
quiet used to cloud applications like GMail, Google Docs, so anything related to

Seminar report on cloud computing


48
Cloud Computing
the same is most likely to be understood by the users.
Automatic Updating
It saves companies time and effort to update multiples server. On the other hand,
it also helps users to download updates for the software. Once the server gets
updated the users can get the updates without doing anything.
Customize Setting
Cloud computing also allows you to customize your business applications.
This is a great benefit because the world of online business is very competitive.

Dis advantage of cloud computing


The following are some of the possible disadvantages of cloud computing:
Dependency
One major disadvantages of cloud computing is user’s dependency on the
provider. Internet users don’t have their data stored with them.
Risk
Cloud computing services means taking services from remote servers.
 There is always insecurity regarding stored documents because users do
not have control over their software.
The most obvious disadvantage is that Cloud computing completely relies on
network connections. It makes your business dependent on the reliability of your
Internet connection. When it’s offline, you’re offline. If you do not have an
Internet connection, you can’t access anything, even your own data. A dead
internet connection means no work.Similarly, a low-speed Internet connection,
such as that found with dial-up services, makes cloud computing painful at best
and often impossible. Webbased apps often require a lot of bandwidth to
download, In other words,cloud computing isn’t for the slow connection.
Security
Security and privacy are the biggest concerns about cloud computing.
Companies might feel uncomfortable knowing that their data is stored in a virtual
server which makes responsibility on the security of the data difficult to determine
and even users might feel uncomfortable handing over their data to a third party.
Privacy is another big issue with the cloud computing server. To make cloud
servers more secure to ensure that a clients data is not accessed by any
unauthorized users, cloud service providers have developed password protected
accounts, security servers through which all data being transferred must pass and
data encryption technique.

Conclusion

Seminar report on cloud computing


49
Cloud Computing
Cloud computing is a powerful new abstraction for large scale data
processing systems which is scalable, reliable and available. In cloud
computing, there are large self-managed server pools available which
reduces the overhead and eliminates management headache. Cloud
computing services can also grow and shrink according to need. Cloud
computing is particularly valuable to small and medium businesses, where
effective and affordable IT tools are critical to helping them become more
productive without spending lots of money on in-house resources and
technical equipment. Also it is a new emerging architecture needed to

expand the Internet to become the computing platform of the future.

Seminar report on cloud computing


50
Cloud Computing

References
1. http://www.infoworld.com/article/08/04/07/15FE-cloud-computing-reality_1.html ,
“What Cloud Computing Really Means”

2. http://www.spinnakerlabs.com/CloudComputing.pdf
“Welcome to the new era of cloud computing
PPT”

3. http://www.johnmwillis.com/
“Demystifying Clouds” - discusses many players in the cloud space

Seminar report on cloud computing


51

You might also like