Evaluating Google App Engine for Enterprise Application Development

Context: Google App Engine (GAE) is a cloud computing platform, which allows developers to develop and deploy web based applications on it. It is composed of hundreds of thousands of commodity servers, distributed globally. GAE scales computing resources automatically, and developers only pay for th...

Full description

Bibliographic Details
Main Authors: Khan, Kashif, Jan, Asar
Format: Others
Language:English
Published: Blekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation 2011
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:bth-4780
id ndltd-UPSALLA1-oai-DiVA.org-bth-4780
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-bth-47802018-01-12T05:13:58ZEvaluating Google App Engine for Enterprise Application DevelopmentengKhan, KashifJan, AsarBlekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikationBlekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation2011Google App EngineEnterprise application developmentfeasibility of application development on cloudAmazon EC 2Computer SciencesDatavetenskap (datalogi)Software EngineeringProgramvaruteknikContext: Google App Engine (GAE) is a cloud computing platform, which allows developers to develop and deploy web based applications on it. It is composed of hundreds of thousands of commodity servers, distributed globally. GAE scales computing resources automatically, and developers only pay for the amount of time their application uses GAE resources. It imposes some restrictions and limitations on the design and development of applications such as execution time limit, lack of global transactions, way of communication with other applications etc. Objectives: In this study, we evaluate Google App Engine from enterprise application development point of view. We analyzed the behavior and architecture of Google App Engine to evaluate its feasibility for enterprise application development and compared it with Amazon Elastic Compute 2 (Amazon cloud service). We also studied Google App Engine storage system, Bigtable, which is a distributed non-SQL based data store. Methods: In this research study, we performed a literature study of the related cloud computing technologies and then a prototype enterprise application was developed for experiment. Results: Our literature study showed that Google App Engine has some limitations and restrictions on the development tools and environment. It does not provide support for global transaction, lacks strict consistency mechanisms, and provides highly virtualized and abstract view of the platform to the developer. Despite these limitations, the literature study and our experiment showed that Google App Engine is suited for applications with high read, searching and large write-stream operations. Google App Engine showed consistent performance as compared to Amazon Elastic Compute 2 in our experiment. Conclusions: We conclude that Google App Engine is a scalable platform while maintaining consistent performance but has some limitations due to its architecture and restrictions imposed on the development tools and environment. These limitations make it non-feasible for some types of enterprise applications, such as applications with high and intensive data computation requirement. But in other cases, such as simple data management and non-transactional applications, Google App Engine is an attractive platform. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:bth-4780Local oai:bth.se:arkivex8731E09062623358C12578F000617240application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Google App Engine
Enterprise application development
feasibility of application development on cloud
Amazon EC 2
Computer Sciences
Datavetenskap (datalogi)
Software Engineering
Programvaruteknik
spellingShingle Google App Engine
Enterprise application development
feasibility of application development on cloud
Amazon EC 2
Computer Sciences
Datavetenskap (datalogi)
Software Engineering
Programvaruteknik
Khan, Kashif
Jan, Asar
Evaluating Google App Engine for Enterprise Application Development
description Context: Google App Engine (GAE) is a cloud computing platform, which allows developers to develop and deploy web based applications on it. It is composed of hundreds of thousands of commodity servers, distributed globally. GAE scales computing resources automatically, and developers only pay for the amount of time their application uses GAE resources. It imposes some restrictions and limitations on the design and development of applications such as execution time limit, lack of global transactions, way of communication with other applications etc. Objectives: In this study, we evaluate Google App Engine from enterprise application development point of view. We analyzed the behavior and architecture of Google App Engine to evaluate its feasibility for enterprise application development and compared it with Amazon Elastic Compute 2 (Amazon cloud service). We also studied Google App Engine storage system, Bigtable, which is a distributed non-SQL based data store. Methods: In this research study, we performed a literature study of the related cloud computing technologies and then a prototype enterprise application was developed for experiment. Results: Our literature study showed that Google App Engine has some limitations and restrictions on the development tools and environment. It does not provide support for global transaction, lacks strict consistency mechanisms, and provides highly virtualized and abstract view of the platform to the developer. Despite these limitations, the literature study and our experiment showed that Google App Engine is suited for applications with high read, searching and large write-stream operations. Google App Engine showed consistent performance as compared to Amazon Elastic Compute 2 in our experiment. Conclusions: We conclude that Google App Engine is a scalable platform while maintaining consistent performance but has some limitations due to its architecture and restrictions imposed on the development tools and environment. These limitations make it non-feasible for some types of enterprise applications, such as applications with high and intensive data computation requirement. But in other cases, such as simple data management and non-transactional applications, Google App Engine is an attractive platform.
author Khan, Kashif
Jan, Asar
author_facet Khan, Kashif
Jan, Asar
author_sort Khan, Kashif
title Evaluating Google App Engine for Enterprise Application Development
title_short Evaluating Google App Engine for Enterprise Application Development
title_full Evaluating Google App Engine for Enterprise Application Development
title_fullStr Evaluating Google App Engine for Enterprise Application Development
title_full_unstemmed Evaluating Google App Engine for Enterprise Application Development
title_sort evaluating google app engine for enterprise application development
publisher Blekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation
publishDate 2011
url http://urn.kb.se/resolve?urn=urn:nbn:se:bth-4780
work_keys_str_mv AT khankashif evaluatinggoogleappengineforenterpriseapplicationdevelopment
AT janasar evaluatinggoogleappengineforenterpriseapplicationdevelopment
_version_ 1718606941880582144