You are on page 1of 34

A Framework for Implementing and Managing Platform as

a Service in a Virtual Cloud Computing Lab


A PROJECT REPORT

Submitted by

C.MANIKANDAN (90107132022)
M.J.SAHUL HAMEED (90107132053)

in partial fulfillment for the award of the degree

Of

BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

ACCET, KARAIKUDI 630 004

APRIL 2011
BONAFIDE CERTIFICATE

Certified that this project report titled “A Framework for Implementing and
Managing Platform as a Service in a Virtual Cloud Computing Lab”, is a bonafide
work of C.Manikandan(90107132022) and M.J.Sahul Hameed(90107132053) who
carried out the work under my supervision, for the partial fulfillment of the
requirements for the award of the degree of Bachelor of Engineering in Computer
Science & Engineering. Certified further that to the best of my knowledge and
belief, the work reported herein does not form part of any
other thesis or dissertation on the basis of which a degree or an award was
conferred on an earlier occasion.

Place: Karaikudi Dr.C.Umarani, M.E.,ph.D,


Date : Assistant Professor,
Dept.of Computer Sciense & Engineering,
A.C.College of Engg& Technology,
Karaikudi-630 004

COUNTERSIGNED

HEAD
Dept. of Computer Science & Engineering
A.C.College Of Engg & Tech
Karaikudi-630 004.
TABLE OF CONTENTS PAGE NUMBER

1 . ABSTRACT 1

2 . INTRODUCTION
2.1 AIM 2
2.2SYNOPSIS 3

3 SYSTEM ANALYSIS
3.1 EXISTING SYSTEM 5
3.2 PROPOSED SYSTEM 6
3.3 OUTLINE OF PROJECT 8

4 REQUIREMENT SPECIFICATIONS

4.1 INTRODUCTION 9
4.2 HARDWARE REQUIREMENT 9
4.3 SOFTWARE ENVIRONMENT 9

5 . LIST OF FIGURES
5.1 FLOW DIAGRAM 17
5.2 SEQUENCE DIAGRAM 18
5.3 USE CASE DIAGRAM 19

6 . SYSTEM STUDY
6.1 ECONOMICAL FEASIBILITY 21
6.2 TECHNICAL FEASIBILITY 21
6.3 SOCIAL FEASIBILITY 21
7 . MODULE EXPLANATION
7.1 IMPLEMENTATION 22
7.2 MAIN MODULES 22
7.3 CLOUD SERVER 23
7.4 USER MANAGEMENT 24
7.5 RESOURCE ALLOCATION 25
7.6 DYNAMIC RESOURCE ALLOCATOR 25

8 DATABASE USED
8.1 RESOURCE DATABASE 26
8.2 CLOUD DATABASE 26

9 TESTING
9.1 SYSTEM TESTING 27
9.2 UNIT TESTING 27
9.3 INTEGRATION TESTING 28
9.4 FUNCTIONALITY TEST 29
9.5 SYSTEM TEST 29
9.6 WHITE BOX TEST 29
9.7 BLACK BOX TEST 29
9.8 UNIT TEST 30
9.9 TEST STRATEGY AND APPROACH 30
9.10 ACCEPTANCE TESTING 31
10 SCREEN SHOTS
10.1 RESOURCE DESCRITPION PAGE 32
10.2 RAILWAY RESOURCE PAGE 33
10.3 NATIVE OBJECT RESOURCE PAGE 34
10.4 MATHS RESOURCE PAGE 35
CONCLUSION 36
FURTHUR ENHANCEMENT 37
REFERENCE 38

CHAPTER 1
ABSTRACT
With the rapid development of Internet and Cloud computing, there are
more and more network resources. Sharing, management and on-demand
allocation of network resources are particularly important in Cloud computing.
platform as a Service (PaaS) is one of the key services in Cloud computing.PaaS is
very attractive for schools, research institutions and enterprises which need
reducing IT costs, improving computing platform sharing and meeting license
constraints. However,nearlPage 6 of 34

all current available cloud computing platforms are either proprietary or their
software infrastructure is invisible to the research community except for a few
open-source platforms. For universities and research institutes, more open and
testable experimental platforms are needed in a lab-level with PCs. In this paper, a
framework for managing PaaS in a virtual Cloud
computing lab is developed. The framework implements the user management,
resource management and access management. The system has good expandability
and can improve resource’s sharing and utilization.
The term “cloud computing” is known byany other names, including on-
demandcomputing, elastic computing, utility computing, grid computing, and
everything-as-a-service. While each captures facets of the phenomenon, these
terms fail to tell the whole story.Here, we define cloud computing as the dynamic
provisioning of IT capabilities (for example, hardware, software or services) from
third parties over a network. By combining virtualization and one-to-many
architecture with a pay-as-you-go business model, cloud computing represents a
new paradigm that will significantly impact the way IT infrastructure, platform,
application, and business processes capabilities are procured, delivered and
supported. 1
CHAPTER 2

INTRODUCTION

AIM

Cloud computing is heralded as the next big thing in enterprise IT. While
corporate data centers and on-premise software are not going away anytime soon,
“the clouds” will likely have a growing impact on enterprise IT andbusiness
activities in many large organizations. CIOs and other business leaders must look
beyond the hype to see what opportunities and challenges lie in the cloud—and
how this approach can be used to further the organization’s strategy to achieve
high performance.Now cloud computing is used only by big IT giants like
Oracle,Microsoft so in this project we try to implement the cloud computing
technology for medium-sized enterprise (SME) and consumer.There are three
types of cloud computing Platform as a service , Infrastructure as a service and
lastly Software as a service.In this project we implement platform as a service and
requesting for Infrastructure from the cloud provider dynamically.

Scalability is proportional to Resource Manangement of the server.As there


are many specification to achieve the scalabilty and use the resources properly but
this can be acheived only by big companies who invest lots of money for
Enterprise application and cloud computing is the key technology for the medium-
sized enterprise.In this project we virtually built the resources (on-line reservation
page ,calculator ….)and we dynamically request for the additional resources (web
server,business server ,database server…).We implemented dynamically by
calculating the number of request that hit the particular resource. 2
SYNOPSIS

Cloud computing is developing based on years achievement on


virtualization, Grid computing ,Web computing, utility computing and related
technologies. Cloud computing provides both platforms and applications on-
demand through Internet or intranet Some examples of emerging Cloud computing
platforms are Google App Engine, IBM blue Cloud ,Amazon EC2 and Microsoft
Azure . The Cloud allows sharing, allocation and aggregation of software,
computational and storage network resources on-demand. Some of the key benefits
of Cloud computing include hiding and abstraction of complexity, virtualized
resources and efficient use of distributed resources ; Cloud computing is still
considered in its infancy, there are many challenging issues waiting for tackling.
Platform as a Service (PaaS) is one of the key services in Cloud computing. “PaaS
is the delivery of a computing platform and solution stack as a service without
software downloads or installation for developers, IT managers or end-users,… It's
also known as Cloudware.” [14] It is very important to develop an on-demand
resource management system for PaaS in Cloud environments.
In this paper, a framework for platform as a service is developed. It is also
possible to apply the proposed solution to real and vitual Cloud computing
environment. The system implements the user management, resource management
and remote access.Cloud computing is developing based on years’ achievement on
virtualization, Grid computing, Web computing, utility computing and related
technologies. Cloud computing provides both platforms and applications on-
3
demand through Internet or intranet. Some examples of emerging Cloud computing
platforms are Google App Engine, IBM blue Cloud, Amazon EC2 and Microsoft
Azure. The Cloud allows sharing, allocation and aggregation of software,
computational and storage network resources on-demand. Some of the key benefits
of Cloud computing include hiding and abstraction of complexity, virtualized
resources and efficient use of distributed resources; Cloud computing is still
considered in its infancy, there are many challenging issues waiting for tackling.
Platform as a Service (PaaS) is one of the key services in Cloud computing. “PaaS
is the delivery of a computing platform and solution stack as a service without
software downloads or installation for developers, IT managers or end-users,… It's
also known as Cloudware.” It is very important to develop an on-demand resource
management system for PaaS in Cloud environments. In this paper, a framework
for platform as a service is developed. It is also possible to apply the proposed
solution to real and vitual Cloud computing environment. The system implements
the user management, resource management and remote access.

CHAPTER 3
SYSTEM ANALYSIS

3.1 EXISTING SYSTEM

The abave picture clearly shows that how the present enterprise application
works. 4Although the term “cloud computing” is quite recent, elements of the
concept have been around for years. For instance, timesharing and virtual machines
date back to the mainframe era in the 1960s. The notion of “the network is the
computer” was first coined by Sun Microsystems in 1982. Grid computing, in use
the scientific community since the early 1990s, has been widely deployed in

5
financial services for the past five or six years, especially in securities and
tradingoperations. Even the on-demand business model dates back to the late
1990s, when it wasserved up by organizations known as application service
providers, or ASPs.

Before 1990s the network was not that much popular because the network
were used only by the research institutes and defence by government but after that
the network was introduced for public usage then there comes the rapid change in
the network field.Like that cloud computing was introduced by big IT giants and
were used only by them now .So they try to implement this technology into the
existing enterprise application.The existing system is that the client makes the
request for the resourcs in the remote server and the server process the request
performs necessary changes in the underlying database then the web server
generates the response for the client.And the distributed computing is not the same
as the cloud computing technology.So we are the new technology comes into
existence and explained in the proposed system.

3.2 PROPOSED SYSTEM

Though the grid computing and Distributed computing suited for large
application scalabilty and resource management still cannot be achieved in web
application of medium scale. everal forces are converging to create the recent surge
of interest in the cloud. On the business front, today’s macro- economic conditions
continue to put pressure on overall business spending, which drives ongoing IT
rationalization, datacenter consolidation, outsourcing and now cloud computing.
For orga- nizations eager to delay, reduce or eliminate capital spending, especially
on one-off or marginal projects, the pay-as-you-go model provides an attractive
6
option. Increasingly, companies also are turning to cloud-based solutions as a way
to counter the high licensing costs of enterprise software.In our project both the use
of cloud technology which gives as a resource management just by allocating
dynamically and scalability .

An outline of our project is this ,


 The client enters into our page looks for the required resource.
 After he locates the resource cheks whether the resource is currently
available.And the important thing is that the there is no possibility for the
resource to become unavailable.(explained in detail in module explanation).
 Then the client takes the resource at that time the cient enters into a time
limit for using the resource .
 While a client enters the count in the database which gives us the load that
the server can handle gets decremented.
 When the client reaches the deadline he will not be able to use the resource
this is done not with scripting language but with session management.
 Some other resource are there which have to be opened until the client wants
to get out and store the current state of the individual user before he exits
completing the database transaction.For them additional charges have to be
paid for using additional resource(memory).
 Finally this application can request for the additional server by keeping track
of the number of client entering into the application .
 All the resource addition and charging for the cost are done automatically
and it has been implemented virtually.
 Everyone can keep track of what had happened to our resource in the past
and can it can be used for the development of the business
7
3.3 OUTLINE OF PROJECT:

8
CHAPTER 4

REQUIREMENT SPECIFICATIONS

4.1 INTRODUCTION

The requirements specification is a technical specification of


requirements for the software products. It is the first step in the requirements
analysis process it lists the requirements of a particular software system including
functional, performance and security requirements. The requirements also provide
usage scenarios from a user, an operational and an administrative perspective. The
purpose of software requirements specification is to provide a detailed overview of
the software project, its parameters and goals. This describes the project target
audience and its user interface, hardware and software requirements. It defines how
the client, team and audience see the project and its functionality.

4.2 HARDWARE REQUIREMENTS

 Web Server : Apache tomcat version 6.0.32.


 Bussiness server : Glassfish Server V3.

4.3 Software Environment

Java Technology

Java technology is both a programming language and a platform.

9
16

CHAPTER 5

LIST OF DIAGRAMS

5.1 FLOW DIAGRAM


17
5.2 SEQUENCE DIAGRAM
18
5.3 USE CASE DIAGRAM
Request

user

Request for a resource

Queue

Resource allocated

Resource management report send

Resource allocated

user Time Management

19
CHAPTER 6

SYSTEM STUDY

6 FEASIBILITY STUDY

The feasibility of the project is analyzed in this phase and business


proposal is put forth with a very general plan for the project and some cost
estimates. During system analysis the feasibility study of the proposed system is
to be carried out. This is to ensure that the proposed system is not a burden to
the company. For feasibility analysis, some understanding of the major
requirements for the system is essential.

Three key considerations involved in the feasibility analysis are

 ECONOMICAL FEASIBILITY
 TECHNICAL FEASIBILITY
 SOCIAL FEASIBILITY

20
6.1 ECONOMICAL FEASIBILITY

This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into the
research and development of the system is limited. The expenditures must be
justified. Thus the developed system as well within the budget and this was
achieved because most of the technologies used are freely available. Only the
customized products had to be purchased.

6.2 TECHNICAL FEASIBILITY

This study is carried out to check the technical feasibility, that is, the
technical requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands on the
available technical resources. This will lead to high demands being placed on the
client. The developed system must have a modest requirement, as only minimal or
null changes are required for implementing this system.

6.3 SOCIAL FEASIBILITY

The aspect of study is to check the level of acceptance of the system by the
user. This includes the process of training the user to use the system efficiently.
The user must not feel threatened by the system, instead must accept it as a
necessity. The level of acceptance by the users solely depends on the methods that

21
are employed to educate the user about the system and to make him familiar withit.
His level of confidence must be raised so that he is also able to make some
constructive criticism, which is welcomed, as he is the final user of the system.

CHAPTER 7

7.1 IMPLEMENTATION
Implementation is the stage of the project when the theoretical design is
turned out into a working system. Thus it can be considered to be the most critical
stage in achieving a successful new system and in giving the user, confidence that
the new system will work and be effective.

The implementation stage involves careful planning, investigation of the


existing system and it’s constraints on implementation, designing of methods to
achieve changeover and evaluation of changeover methods.

7.2 MAIN MODULES

 Cloud Server
 User Management
 Resource Allocation
 Dynamic Resource Allocator (Scalabilty ).

22
7.3 CLOUD SERVER

The management system includes a user management module resource


allocation module and connection management module. These three modules can
be divided into the corresponding sub-modules .This module has been
implemented virtually since it is provided by many cloud provider .We made
request to allocate the server(memory) for the particular application that has been
provided as Platform as a service . n our project this module is a separate
application running in another remote server (different IP) listening for the request
to allocate the server(Web server , Business Server ,Database server).This cloud
provider not only gives us the memory but also the necessary software that has
been installed with the hardware architecture .The information about the server
(virtual cloud) has been stored in the database .The database has been described in
the Database section.

The following picture shows the over all working of the cloud.All the
stuffs that has been placed with in the square are the cloud and this has been
virtually implemented in our project.

23
7.4 USER MANAGEMENT

User Management module includes basic information management and user


access management. Basic information management is mainly concerned with
users’ information changes to database records; user login management is mainly
responsible for the user login and authentication, as well as the user interface.

There are many resources that has been virtually implemented .Consider
one of the resource for example railway reservation page.If the reailway
reservation page gives the necessary authentication for maintain the project .The
resource will be available in the resource page .If the resource is available then the
resource can be picked by the user and before the request is forwarded to the
railway reservation page the request has to pass through the Filter .The main
advantage of filter is that it can be used for any servlet .(One filter per Servlet).So
while the request gets passed through the servlet the request has to be passed
through the Filter.So If the if the first request comes in the filter notes the time and
stores that in the paramter of the application(Servlet Config).So after this whenever
the request comes to the particular resource the filter checks the current time with
the previous time that has been stored in the parameter .there are two possibility

 If the difference between the two time is less than one hour then the
count hit will be incremented in another parameter(Railway counter).
 Otherwise the (Railway counter) parameter is checked if that is
greater than a specific limit say 100.then the request will be generated
to the cloud and request for the extra resource and the parameter are to
reset.If it is not upto the specified limit then both the parameter has to
be reset to 0.
24
7.5 RESOURCE ALLOCATION

Resource allocation subsystem is the core of the management system,


including resource usage, resource status and resource renewal subsystem.
Resource usage manages the immediate users and books resources for future users;
resources status management maintenances status of all resources; resources
renewal management lets user renew the use of resources if possible.

Resource allocation is simple since it has to check the database and alot the
requested resource to the user. Thus the resource management module isonly a
database transaction .

7.6 DYNAMICA RESOURCE ALLOCATOR:

The module is controlled by the cloud provider and this moudule is


used for the amount transation .The request when comes to this module for the
allotment of resource then it checks for the available resource with in the cloud if
yes it checks for the user authentication wether the particular user has been
registered in the cloud .After allotting the resource the module updates both the
table in the database .Thus this is upto the cloud provider.

25
CHAPTER 8

DATABASE USED:

Two database is to used one for the resource provider to track the
number of resource currently available then the next one for the cloud
provider to keep the record of the users already registered.

8.1 RESOURCE DATABASE:

Resource table:

Rid :Number

Rname :Text

Rstatus :Text

Rlink :Text

8.2 CLOUD DATABASE:

User table:

UserId : Number

UserName : Text

Password : Number(16)

MemoryAlloted : Text

26
Memory table:

Mid : Number

Sname :Text

AllotedMemory :Text

FreeMemory :Text

31

CHAPTER 11

11.1 RESOURCE DESCRIPTION PAGE:


32
11.2 RAILWAY RESOURCE PAGE:

33

11.3 NATIVE OBJECT RESOURCE PAGE:


34

11.5 MATHS RESOURCE PAGE:


35

CONCLUSION
Cloud computing will have significant impact on enterprise IT as it trans-
forms to fulfill its role of enabling high performance within a rapidly changing
business Environment. With the unprec- edented economies of scale and elasticity
of the cloud, companies will no longer be limited by their in-house capabili- ties.
Instead, IT will become a dynamic resource that adapts automatically to business
demand. By relying on the standard Web platform, the cloud will also help
improve collaboration, access and overall user experience. Businessusers will be
able to buy, share, cus-tomize, and even create their own applications directly.
Collectively,these capabilities will help reshape IT into a true utility that
enablesbusinesses to innovate faster and compete more effectively.

Just as the shift from isolated powergeneration to an electricity grid tookseveral


decades to make an impact nationwide, IT’s migration into the cloud will take
years. Significant uncertainties and challenges still lie ahead—both technological
and orga-nizational. What’s interesting is that the ranks of the early adopters
include many emerging-market enterprises.10 Gaining access to the cloud may
further add to the advantages these companies already have in cost and
nimbleness.

The message for large enterprises is stark. Although many leading businesses and
government organizations are starting to experiment with the cloud, a more
comprehensive approach should be considered. Unless they seriously consider
making the cloud a part of their strategy, these companies may find themselves
disadvantaged when competing in today’s increasingly multi-polar marketplace.

36

RELATED WORK
There may be no consistent definition for Cloud computing yet, however,
practitioners are designing and implementing some application examples such
as Google App Engine, IBM blue Cloud, Amazon EC2 and Microsoft Azure.
There are many pioneering work in this area, many people think that Cloud
computing becomes popular after IBM and Google jointly announced Cloud
computing plan in 2007. IBM introduces its blue Cloud in,],Google’s App
Engineand related Google file system, BigTable and MapReduce are considered to
have laid foundation for Cloud computing. A virtual computing lab (and then
Cloud computing) was built since 2004 . Cloud implementation and research
related issues are discussed. As this writing, more than 30,000 teachers and
students use VCL at NCSU each year. Eucalyptus is among one of a few an open-
source systems for implementing on-premise private and hybrid clouds using the
hardware and software infrastructure. Eucalyptus adds capabilities such as end-
user customization, self-service provisioning, and legacy application support to
data center virtualization features, making IT customer service easier, more fully
featured, and less expensive. To understand Cloud computing better and quantify
the performance of scheduling and allocation policy on a Cloud infrastructure,
simulation tool CloudSim is proposed. Approaches of dimensioning a virtual
computing lab with job priorities and QoS constraints is discussed in Three
techniques to improve the efficiency of virtual Cloud computing lab based on
queueing model are introduced in some of these techniques are applied in this
paper. Adaptive dimensioning approaches of Cloud datacenters are introduced in.
There are many other related work and many more to come in Cloud
computing. 37

REFERENCES
[1] Armbrust, M., et al.: Above the Clouds: A Berkeley View of Cloud Computing,
Tech. Reprot No. UCB/EECS-2009-28, 2009.
[2] Boss, G., et al.: Cloud Computing, IBM Corporation white paper, Oct. 2007.
[3] Calheiros, R. N. , et al. : Cloudsim: A Novel Framework for Modeling and
Simulation of Cloud Computing Infrastructures and Services, Technical Report,
GRIDS-TR-2009-1, Grid Computing and Distributed Systems Laboratory, The
University of Melbourne, Australia, March 13, 2009.
[4] Chang, F. et al., Bigtable: A Distributed Storage System for Structured Data, in
the proceedings of OSDI 2006.
[5] Chen, K., and Zheng, WM. , Cloud Computing: System Instances and Current
Research, Journal of Software, Vol.20, No.5, May 2009, pp.1337􀃭1348.
[6] Dean, J., And Ghemawat, S. , MapReduce: Simplied data processing on large
clusters. In Proc. of the 6th OSDI(Dec. 2004), pp. 137.150.
[7] Daniel, N., et al., The Eucalyptus Open-source Cloud-computing System, in
Proceedings of 9th IEEE International Symposium on Cluster Computing and the
Grid, Shanghai, China, 2008.
[8] Ghemawat, S., Gobioff, H., and Leung, S.-T. The Google file system. In Proc.
of the 19th ACM SOSP (Dec.2003), pp. 29.43.
[9] Tian, WH. and Perros, H. G., Dimensioning a Virtual Computing Lab with Job
Priorities and QoS Constraints, In the proceedings of 2nd International Conference
on the Virtual Computing Initiative , pp.103-110, May 2008, Research Triangle
Park, IBM headquarter, NC, USA.
[10] Tian, WH., Three Ways to Improve the Efficiency of Virtual/Clould
38

Computing Lab. In the proceedings of The IEEE International Conference on


Apperceiving Computing and Intelligence Analysis 2008 (ICACIA’08), Dec.
2008.
[11] Tian, WH., Adaptive Dimensioning of Cloud Datacenters, accepted for
publication in the proccedings of The 8th International Conference on Dependable,
Autonomic and Secure Computing (DASC-09), Chengdu, China, December 12-14,
2009.
[12] Vouk, Mladen., et al., “Powered by VCL” - Using Virtual Computing
Laboratory (VCL) Technology to Power Cloud Computing, Published in the
Prelim. Proceedings of the 2nd International Conference on Virtual Computing
Initiative, 15-16 May 2008, RTP, NC, pp. 1-10
[13] Vouk, Mladen A., Cloud Computing – Issues, Research and
Implementations,ITI08, pp.23-26-31, June, 2008.7, [14] wiki,
http://en.wikipedia.org/wiki/Platform_as_a_service
[15] Google App Engine, http://code.google.com/intl/zh-CN/appengine/
[16] IBM blue cloud, http://www.ibm.com/grid/
[17] Amazon EC2,http://aws.amazon.com/ec2/
[18]Microsoft-Azure,http://www.microsoft.com/windowsazure/windowsazure

39

You might also like