50
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

A Framework for Implementing and Managing Platform as A

Embed Size (px)

Citation preview

A Framework for Implementing and Managing Platform as a Service in a Virtual Cloud Computing LabA 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 CERTIFICATECertified that this project report titled A Framework for Implementing and

Managing Platform as a Service in a Virtual Cloud Computing Lab, is a bonafidework 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 Date :

Dr.C.Umarani, M.E.,ph.D, 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 CONTENTS1 . ABSTRACT

PAGE NUMBER1

2 . INTRODUCTION 2.1 AIM 2.2SYNOPSIS 2 3

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

4 REQUIREMENT SPECIFICATIONS 4.1 INTRODUCTION 4.2 HARDWARE REQUIREMENT 4.3 SOFTWARE ENVIRONMENT 5 . LIST OF FIGURES 5.1 FLOW DIAGRAM 5.2 SEQUENCE DIAGRAM 5.3 USE CASE DIAGRAM 17 18 19 9 9 9

6 . SYSTEM STUDY

6.1 ECONOMICAL FEASIBILITY 6.2 TECHNICAL FEASIBILITY 6.3 SOCIAL FEASIBILITY

21 21 21

7 . MODULE EXPLANATION 7.1 IMPLEMENTATION 7.2 MAIN MODULES 7.3 CLOUD SERVER 7.4 USER MANAGEMENT 7.5 RESOURCE ALLOCATION 7.6 DYNAMIC RESOURCE ALLOCATOR 22 22 23 24 25 25

8 DATABASE USED 8.1 RESOURCE DATABASE 8.2 CLOUD DATABASE 26 26

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

10.4 MATHS RESOURCE PAGE

35

CONCLUSION FURTHUR ENHANCEMENT REFERENCE

36 37 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 resources sharing and utilization. The term cloud computing is known byany other names, including ondemandcomputing, 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 2INTRODUCTION 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 cloudand how this approach can be used to further the organizations 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 mediumsized 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 ondemand 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 on3

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.

4

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, todays 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 INTRODUCTIONThe 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 FEASIBILITYThe 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 IMPLEMENTATIONImplementation 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 its 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 SERVERThe 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 MANAGEMENTUser 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 ALLOCATIONResource 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 UserName Password : Number : Text : Number(16)

MemoryAlloted : Text

26

Memory table: Mid Sname : Number :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 transforms 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, ITs migration into the cloud will take years. Significant uncertainties and challenges still lie aheadboth technological and orga-nizational. Whats 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 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 todays increasingly multi-polar marketplace. 36 have in cost and

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,],Googles 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 opensource systems for implementing on-premise private and hybrid clouds using the hardware and software infrastructure. Eucalyptus adds capabilities such as enduser 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 2008.

Analysis 2008 (ICACIA08), Dec.

[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 June, Issues, 2008.7, Research [14] and wiki,

Implementations,ITI08,

pp.23-26-31,

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