A Prototype Implementation of Database-as-a-Service
for the Cloud
Kashif Laeeq
Asst. Professor and PhD ScholarDept. of Computer Science
National University of Computer & Emerging Sciences, Karachi, Pakistan
Abstract— nowadays, the demand of distributed computing is increasing drastically, among this computing paradigm the most attractive is cloud computing, offering plentiful resources as a service over internet. It can reduce operational cost with profuse ease to any business or individual user. As a result, organizations are focusing more on their business-data migration from traditional to cloud environment, even individual user has started to shift their data on to the cloud. This paper appraises the main features of cloud computing and also design a prototype model of database as-a-service for cloud. This model explains how a database service can established for a cloud computing environment, step by step process to establish a service than deploy onto Amazon platform, for exploiting the cloud environment. This paper investigates how a service can establish, deploy and use for a cloud computing that will indubitably reduce the hype to establish and deploy cloud computing services.
Keywords- Database as-a-service; Cloud Computing; Cloud Features; Distributed Computing; Vulnerabilities in Cloud Computing; Cloud Challenges.
I. INTRODUCTION
The enhanced and specialized version of Grid Computing is Cloud Computing. Cloud computing term became known in 2007 after the declaration of Google’s and IBM’s alliance on IBM07a and Loh07 that was followed by IBM’s pronouncement of Blue Cloud effort [4].
It is more distributed and smart computing method offering provisional resources as a service over internet [13]. The National Institute of Standards and Technology (NIST) defines, “Cloud computing model composed of five characteristics (On-demand, Broad network access, Resource pooling, Rapid elasticity, Measured service), three service models (SaaS, PaaS, IaaS) and four deployment models (Private, Public, Community, Hybrid) [1]”. The next generation computing, cloud computing, can reduce the operational cost with flexibility to any business organization
by pay-as-you-go approach. As a result, organization can focus more on their businesses and profit rather then IT [5]. The core concept of cloud computing is to provide all hardware, software, infrastructure and other resources of computing at rental basis via internet connection by using any standard browser to reduce the business cost, time and technical employment issues[3]. With all its blessings, inherently this technology is prone to security risk. Tyson Hartman Avanade, global chief technology officer said, “Fears about security and control of data are limiting the broad adoption of cloud computing [2]”. For securing cloud technologies the researchers have been doing enormous efforts but the security perspective of this technology has not been answered to the end users’ level of satisfaction. Due to this inadequacy, the users still have doubt about this new computing technology. According to one of the cloud computing surveys [2], “By a 5-to-1 ratio executives report that they trust existing internal systems over cloud-based systems due to fear about security threats and loss of control of data and systems”. Cloud security is really a complex challenge it might be threatened internally or externally. The security responsibility of cloud goes to three parties, user, provider and third party (data keeper). The major goal of this paper is to spell out the foremost security issues, challenges, security requirements for cloud computing.
The rest of paper is organized as follows. Section 2 provides an overview of Cloud Computing, section 3 describes cloud security issues and challenges, section 4 provides some suggestions towards improving the cloud computing and finally conclude the paper in section 8.
II. CLOUD COMPUTING ARCHITECTURE
In [8] the author defined “cloud computing is a new architecture that supports enterprises to fulfill their need of technology resources through already existing internet services and infrastructure rather than to establish the entire
infrastructure.” The three major players engross in this new computing technology i.e. cloud-provider, service users and services [9]. Cloud Provider IaaS SaaS PaaS Cloud Services Cloud Users
Fig. 1 Cloud Computing Environment
A. Attributes of Cloud Computing
If we observe cloud computing at a glance, we can find six major attributes that prevail in cloud computing:
On Demand Self Service: cloud computing needs no advance booking, it is used when it is needed. Consumers are free to use without any prior subscription.
Ubiquitous Network Resource Access: cloud technology provides network infrastructures and computing resources everywhere, it is omnipresent for their users.
Location-Independence: Cloud users are utilizing all facilities of network with shared bases via internet, and internet is totally location independence. Cloud store data in different locations that can be access from any location.
Homogeneity: Cloud services are homogenous, it means that if one cloud user is using X service the same X service can be provided to number of cloud users at the same time. It is because cloud uses multi tenancy delivery model.
Elastically Scalable:Cloud computing resources such as computing power, processing, storage, hosting all are elastic in nature. These resources shared together to strengthen computing power.
Measured Services:All services that provided by cloud computing is measured and generate bill for usage. Just like a utility bills, we pay as we use the cloud services.
B. Cloud Service Model
The main services provided by cloud computing are discussed as follows:
1) Infrastructure as a Service (IaaS):Infrastructure includes the operating system, hardware and physical layout. In Iaas number of cloud users virtually received dedicated CPU, hardware and computing resources to manage their
computing with shared common infrastructure. In IaaS the user can controls everything except for the datacenter infrastructure [6].
2) Platform as a Service (Paas): It includes application development, software, programming and development tools, middleware, web server and database. PaaS provides a plateform for developers onto the web. In this platform cloud suers have power to manage the hosting environment.
3) Software as a Service (SaaS): Software development is always tidious, costly and need level of expertise, SaaS overcomes this problem. Cloud providers develop different level of software, users can fulfill their need by utilizing these software. Millions of cloud users access same software via any suitable browser. In provider aspects they only worry to maintain one software that saves time, cost and space.
TABLE 1. Attributes of Cloud Services Model
SaaS PaaS IaaS
Level User Level (Consume)
Developer Level (Build)
IT level (Host)
Utilization Business Users Developers System Managers Available Services CRM, Email, Web-testing, Office Automation, Blog, Virtual Desktop Integration and Deployment, Testing of Application & Service, Deployment Operating System, Virtual Machines, Networks, CPU, Backup Services. Benefits Business Needs Fulfillment Create Application & Services for Users
Provide platforms for application test, application development and deployment. Examples Flikr, Gmail,
Salesforce.co m IBM Bluehouse,My space.com Google App Engine, MS SQL Server Data Service, Engine Yard Amazon EC2, Akamai, Nirvanix Storage Delivery Network
C. Cloud Deployment Model
NIST (National Institute of Standards and Technology) defined three major deployment models, the forth one is the composition of others three models [7].
1) Public Cloud: The public cloud models offers infrastructure that is available for everyone. The users only pay for computing resources. Security and privacy is the major concern of this model.
2) Private Cloud: In private cloud model computing and other resources are managed by particular organization. This model mostly deploys by enterprises for their data center and control by internally or by third party. Security and privacy point of view this model is excellent.
3) Community Cloud: When different organizations with same goals, utilize the cloud infrastructure, we used community cloud model. When different organizations work together they share their clouds, polices and other concern that indicate community cloud model.
4) Hybrid Cloud: Hybrid cloud model is a composition of private and public cloud models that utilizes the good features for both models.
III. DATABASE AS A SERVICE MODEL
Traditionally businesses have been exploiting database systems for keeping records and manipulating data. Initially it was totally left to database managers or developer to manage all needs of database system. In case of very big-data the administration tax was pity and the cost and fault/error chances were tremendously high. The solution is provided by cloud computing, such as managing the logs, backup, recovery, etc., all these activities are control by cloud providers. Due to these reason organizations are migrating their datacenters from traditional to cloud computing environment.
A. Component are Used in the Model
This database as-a-service model has common components for backend, frontend, web application and connections.
As a programming language we used Java-programming language. It is supported rich internet applications and easily run at any operating system. For web-application this model has used Vaadin, a
Java framework for building modern web application that look great, perform well and easy to manage. For create structures, share and transport information
we used XML, it is a good tool to create common information and format that share both the data and formats on the World Wide Web.
MySQL is the best open source database management system that is used for managing users profile in our model.
B. Model Overview
This prototype database model has almost all feature of any standard database. For example any user can generate his user id and password by standard signup process than next time that user easily enters just by sign in process. User can create a file, update data, maintain record, backup and all other
common feature of a traditional database system. This database model is attractive GUI bas that utilizes web-application. Due to web-application any user can get access from anywhere at any location. This database service has all common component mostly utilized four tools i.e. Java, MySQL, XML and Vaadin. Our main objective is to develop a common traditional service but not use it traditionally, use and deploy that service on cloud environment so that utilize the features of cloud computing.
C. File Structure
The following diagram explains our system’s file structure. We have utilized XML as the main component for file storage but for maintaining the user profile this system utilizes the service of MySQL. The hierarchical structure of DaaS file structure is given below.
Main directory (username)
Databases (all databases has there own directory)
Tables (all tables has there own directory)
Table.xml (stores each and every record of table in it)
Tables.xml (it stores every table name in it)
Database.xml (stores name of all database)
Fig. 2 File Structure
D. System Architecture
The complete system architecture for the database-as-a-service for cloud is defined in the following section. The flow is represented in pictorial view for ease of understand the system architecture.
The following section has described the overall structure of the system; we have started this structure from very beginning i.e. from user view DaaS.
UserView
Sign up Login
Database View
Databases
Add Database Database Remove Edit Database
Table View
Add Table Remove Table Edit Table (by clicking on table it will enable all its Operations)
Table Data View You can add/modify/re move rows from table
Table Query View
Select Query Delete Query
Import database Export Database Table Structure View You can modify/delete/ add new Columns Fig. 3 Complete System Architecture
E. Deployment on Cloud Environemt
The main idea of this database system design is not to run or utilizes on standalone or traditional network environments but the service deploy onto the cloud environment, with handles all cloud resources as services. As a cloud platform we have Selected Amazon, and deployed our DaaS system on Amazon. The process of deployment has explained in the following diagram, that explain in details how DaaS service deployed on cloud environment by utilizing the service of Amazon.
File System Storage instances Server A
• Contains load balancer which is used for load balancing among server A and Server B
• It contains our site
Server B
• Contains our site • And contain MySQL
database. Which is use for user credentials Send user traffic to server through load balancer
And communicate with MySQL server for user authentication
CONCLUSION
Cloud Computing is emerging as a main technology that provide services by utilizing the already existing internet infrastructure, in simple and well-organized way. The in-hand cloud computing is in infancy and trying to achieve all the features that present in its defination, literature or in theories.This paper introduced Database as a Service (DaaS) model for cloud computing environemnt. This paper has explained how to develop a service and than how to deploy that service on cloud computing environment. The step by step component development, connections and finally migration the database service onto the cloud will definitely overcome the hype of services deployment on cloud computing. As a leasson we have learnt numerious things from this project like how to do a team work, time management, technical learning for desiging a database service and the most important the learning of Amazon plateform and its utilization by deployment of services . Our proposed Daas model is well but has some limitation like execute limited query, limited database features etc. as a future work we will add more queries and extend DaaS to handle a very big data or files.
REFERENCES
[1] NIST Website http://www.csrc.nist.gov/groups/SNS/cloud- computing/
[2] www.circleid.com, “survey: Cloud computing ‘No hype’, But Fear of Security and Control Slowing Adoption”, CircleID Report
[3] J.Yang, Z.Chen “Cloud Computing Research and Security Issues”IEEE computer society
[4] G.Kulkarni, J.GambhirAmruta, “ Security in Cloud Computing” International journal of Computer Engineering & Technology (IJCET), 3(1), 258 - 265. 2012
[5] Archana Sharma, “Data management and deployment of cloud applications in financial institution and its adoption challenges”, International Journal of Scientific & Technology Research, Volume 1, Issue 1, Feb 2012.
[6] Y.Chen, V.Paxson, “What’s New About Cloud Computing Security?” Technical Report No. UCB/EECS-2010-,http://www.eecs.berkeley.edu/Pubs/TechRpts/2010/EECS-2010-5.html, 2010
[7] Peter Mell and Timothy Grance, “The NIST Defination of Cloud Computing” Technical Report SP 800-145 Draft, National Institute of Standards and Technology, Information Technology Laboratory, January 2011.
[8] David C.Wyld, “The Utility of Cloud Computing As A New Pricing-And Consumption-Model For Information Technology”, International Journal of Database Management Systems (IJDMS), Vol- 1 No. 1, 2009. [9] A.Singh, Dr. M.Sharivastava, “Overview of Attacks on Cloud Computing ”, International Journal of Engineering and Innovative Technology (IJEIT), Volume 1 Issue 4, April 2012
[10] K. Zunnurhain, S.V.Vrbsky, “Security Attacks and Solutions in Clouds”, IEEE computer Society.
[11] J.Viega, “Cloud Computing and the Common Man”, IEEE Computer Society, Volume 42, Issue 8, Pages 106-108, August 2009.
[12] www. Hp.com/ Services/ ConvergedCloudWorkshop
[13] C.K.Gomathy, “Cloud Computing: Business Management for Effective Service Oriented Architecture”, International Journal of Power Control Signal and Computation (IJPCSC) Vol. 1 No. 4, ISSN: 0976-268X. [14] B. Reddy, R.Paturi, “Cloud Security Issues”, IEEE International
Conference on Services Computing, 2009
[15] T.Dillon, “ Cloud Computing : Issues and Challenges”, 24th IEEE
International Conference on Advanced Information Networking and Application, 2010.