词条 | Google App Engine |
释义 |
| name = Google App Engine | title = | logo = File:Google_App_Engine.svg | screenshot = | caption = | collapsible = | author = | developer = Google | released = {{start date and age|2008|4|7}} | discontinued = | latest release version = 1.9.63 | latest release date = {{release date|df=yes|2018|02|27}} | latest preview version = | latest preview date = | programming language = Python, Java, Go, PHP, Node.js | operating system = linux (glibc), Windows | platform = little-endian 32bits | size = | language = | genre = Web framework, cloud computing platform | license = Proprietary, LGPL | website = {{URL|https://cloud.google.com/appengine/}} }}Google App Engine (often referred to as GAE or simply App Engine) is a web framework and cloud computing platform for developing and hosting web applications in Google-managed data centers. Applications are sandboxed and run across multiple servers.[1] App Engine offers automatic scaling for web applications—as the number of requests increases for an application, App Engine automatically allocates more resources for the web application to handle the additional demand.[2] Google App Engine is free up to a certain level of consumed resources and only in standard environment but not in flexible environment. Fees are charged for additional storage, bandwidth, or instance hours required by the application.[3] It was first released as a preview version in April 2008 and came out of preview in September 2011. Supported features/restrictionsRuntimes and frameworkSupported programming languages in Standard Environment include Python, Java (and, by extension, other JVM languages such as Kotlin, Groovy, JRuby, Scala, Clojure), Go, PHP and Node.js (beta).[4][5] All programming languages available in Standard Environment are also available in flexible environment. Ruby and C#[6] are only available in the flexible environment. Google has said that it plans to support more languages in the future, and that the Google App Engine has been written to be language independent.[7] Arbitrary Docker containers are also supported.[8] Python web frameworks that run on Google App Engine include Django, CherryPy, Pyramid, Flask, web2py and webapp2,[9] as well as a custom Google-written webapp framework and several others designed specifically for the platform that emerged since the release.[10] Any Python framework that supports the WSGI using the CGI adapter can be used to create an application; the framework can be uploaded with the developed application. Third-party libraries written in pure Python may also be uploaded.[11][12] Google App Engine supports many Java standards and frameworks. Core to this is the servlet 2.5 technology using the open-source Jetty Web Server,[13] along with accompanying technologies such as JSP. JavaServer Faces operates with some workarounds. A newer release of App Engine Standard Java in Beta supports Java8, Servlet 3.1 and Jetty9. Though the integrated database, Google Cloud Datastore, may be unfamiliar to programmers, it is accessed and supported with JPA, JDO, and by the simple low-level API.[14] There are several alternative libraries and frameworks you can use to model and map the data to the database such as Objectify,[15] Slim3[16] and Jello framework.[17] The Spring Framework works with GAE. However, the Spring Security module (if used) requires workarounds. Apache Struts 1 is supported, and Struts 2 runs with workarounds.[18] The Django web framework and applications running on it can be used on App Engine with modification. Django-nonrel[19] aims to allow Django to work with non-relational databases and the project includes support for App Engine.[20] Reliability and SupportAll billed App Engine applications have a 99.95% uptime SLA.[21] App Engine is designed in such a way that it can sustain multiple datacenter outages without any downtime. This resilience to downtime is shown by the statistic that the High Replication Datastore saw 0% downtime over a period of a year.[22] Paid support from Google engineers is offered as part of Premier Accounts.[23] Free support is offered in the App Engine Groups, Stack Overflow, Server Fault, and GitHub. However assistance by a Google staff member is not guaranteed.[24] Bulk downloadingSDK version 1.2.2 adds support for bulk downloads of data using Python.[25] The open source Python projects gaebar,[26] approcket,[27] and gawsh[28] also allow users to download and back up App Engine data. No method for bulk downloading data from GAE using Java currently exists. Restrictions
Major differencesDifferences with other application hostingCompared to other scalable hosting services such as Amazon EC2, App Engine provides more infrastructure to make it easy to write scalable applications, but can only run a limited range of applications designed for that infrastructure. App Engine's infrastructure removes many of the system administration and development challenges of building applications to scale to hundreds of requests per second and beyond.[31] Google handles deploying code to a cluster, monitoring, failover, and launching application instances as necessary. While other services let users install and configure nearly any *NIX compatible software, App Engine requires developers to use only its supported languages, APIs, and frameworks. Current APIs allow storing and retrieving data from the document-oriented Google Cloud Datastore database; making HTTP requests; sending e-mail; manipulating images; and caching. Google Cloud SQL[32] can be used for App Engine applications requiring a relational MySQL compatible database backend.[33] Per-day and per-minute quotas restrict bandwidth and CPU use, number of requests served, number of concurrent requests, and calls to the various APIs, and individual requests are terminated if they take more than 60 seconds or return more than 32MB of data. Differences between SQL and GQLGoogle App Engine's integrated Google Cloud Datastore database has a SQL-like syntax called "GQL". GQL does not support the Join statement.[34] Instead, one-to-many and many-to-many relationships can be accomplished using ReferenceProperty().[35] This shared-nothing approach allows disks to fail without the system failing.[36] Switching from a relational database to Cloud Datastore requires a paradigm shift for developers when modeling their data. Portability concernsDevelopers worry that the applications will not be portable from App Engine and fear being locked into the technology.[37] In response, there are a number of projects to create open-source back-ends for the various proprietary/closed APIs of app engine, especially the datastore. AppScale, CapeDwarf and TyphoonAE[38] are a few of the open source efforts. AppScale automatically deploys and scales unmodified Google App Engine applications over popular public and private cloud systems and on-premises clusters.[39] AppScale can run Python, Java, PHP, and Go applications on EC2, Google Compute Engine, Softlayer, Azure and other cloud vendors. TyphoonAE[38] can run Python App Engine applications on any cloud that support linux machines. Web2py web framework offers migration between SQL Databases and Google App Engine, however it doesn't support several App Engine-specific features such as transactions and namespaces.[40]Kubernetes is an open-source job control system invented by Google to abstract away the infrastructure so that open-source (e.g. Docker) containerized applications can run on any type of infrastructure, such as Google App Engine, Amazon Web Services, Microsoft Azure, and others. This is one of Google's answers to the portability concern. BackendsIn Google I/O 2011, Google announced App Engine Backends, which are allowed to run continuously, and consume more memory.[41][42] The Backend API was deprecated as of March 13, 2014 in favor of the Modules API.[43] Google Cloud SQLIn Oct 2011, Google previewed a zero maintenance SQL database, which supports JDBC and DB-API.[44] This service allows creating, configuring, and using relational databases with App Engine applications. Google Cloud SQL offers MySQL 5.5 and 5.6.[45] Usage quotasGoogle App Engine requires a Google account to get started, and an account may allow the developer to register up to 25 free applications and an unlimited number of paid applications.[46] Google App Engine defines usage quotas for free applications. Extensions to these quotas can be requested, and application authors can pay for additional resources.[47] ==See also==
References1. ^{{cite web|url=https://code.google.com/appengine/docs/python/runtime.html |title=Python Runtime Environment - Google App Engine - Google Code |publisher=Code.google.com |date=1999-02-22 |accessdate=2012-02-14}} 2. ^{{cite book |last=Sanderson |first=Dan |title=Programming Google App Engine: Build and Run Scalable Web Apps on Google's Infrastructure |publisher=O'Reilly Media |year=2009 |isbn=978-0-596-52272-8}} 3. ^{{cite web|url=https://cloud.google.com/appengine/docs/quotas |title=Quotas - Google App Engine - Google Code |publisher=Code.google.com |date=1999-02-22 |accessdate=2012-02-14}} 4. ^https://cloud.google.com/appengine/docs/ 5. ^https://cloudplatform.googleblog.com/2018/06/Now-you-can-deploy-your-Node-js-app-to-App-Engine-standard-environment.html 6. ^{{cite web|url=http://www.infoworld.com/article/3179151/application-development/google-app-engine-adds-c-nodejs-and-ruby-options.html|title=Google App Engine adds C#, Node.js, and Ruby options|first=Paul|last=Krill|publisher=}} 7. ^{{cite book |last=Sanderson |first=Dan |title=Programming Google App Engine: Build and Run Scalable Web Apps on Google's Infrastructure |publisher=O'Reilly Media |year=2010 |isbn=978-0-596-52272-8}} 8. ^{{cite web|url=https://cloud.google.com/appengine/docs/flexible/custom-runtimes/build|title=Building Custom Runtimes - Custom runtimes for the App Engine flexible environment - Google Cloud Platform|website=Google Cloud Platform}} 9. ^{{cite web|url=https://webapp-improved.appspot.com/ |title=Welcome to webapp2! — webapp2 v2.5.1 documentation |publisher=Webapp-improved.appspot.com |date= |accessdate=2012-02-14}} 10. ^{{cite web|url=https://code.google.com/p/tipfy/wiki/AppEngineFrameworks |title=AppEngineFrameworks - tipfy - The almighty little framework for Google App Engine - Google Project Hosting |publisher=Code.google.com |date= |accessdate=2012-02-14}} 11. ^{{cite web|url=https://cloud.google.com/appengine/docs/whatisgoogleappengine?csw=1 |title=What Is Google App Engine? - Google App Engine - Google Code |publisher=Code.google.com |date=1999-02-22 |accessdate=2012-02-14}} 12. ^{{cite web|url=https://cloud.google.com/appengine/docs/python/tools/webapp/ |title=webapp Overview - Google App Engine - Google Code |publisher=Code.google.com |date=1999-02-22 |accessdate=2012-02-14}} 13. ^{{cite web|url=http://www.infoq.com/news/2009/08/google-chose-jetty |title=Google Chose Jetty for App Engine |publisher=Infoq.com |date=2012-07-13 |accessdate=2012-07-17}} 14. ^{{Cite web|url=https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/package-summary|title=Google App Engine Datastore low-level API|last=|first=|date=|website=|publisher=|access-date=}} 15. ^{{Cite web|url=https://github.com/objectify/objectify|title=Objectify library|last=|first=|date=|website=|publisher=|access-date=}} 16. ^{{Cite web|url=https://sites.google.com/site/slim3appengine/Home|title=Slim3 framework|last=|first=|date=|website=|publisher=|access-date=}} 17. ^{{Cite web|url=http://jello-framework.com|title=Jello Framework|last=|first=|date=|website=|publisher=|access-date=}} 18. ^{{cite web|url=https://code.google.com/p/googleappengine/wiki/WillItPlayInJava |title=WillItPlayInJava - googleappengine - Lists the level of compatibility of various Java technologies and App Engine - Google App Engine - Google Project Hosting |publisher=Code.google.com |date= |accessdate=2012-02-14}} 19. ^{{cite web|url=http://www.allbuttonspressed.com/projects/django-nonrel |title=Django-nonrel - NoSQL support for Django |publisher=All Buttons Pressed |date=2010-02-04 |accessdate=2012-07-17}} 20. ^{{cite web|url=http://www.allbuttonspressed.com/projects/djangoappengine |title=djangoappengine - Django App Engine backends (DB, email, etc.) |publisher=All Buttons Pressed |date= |accessdate=2012-07-17}} 21. ^{{cite web|url=https://code.google.com/appengine/sla.html |title=App Engine Service Level Agreement - Google App Engine - Google Code |publisher=Code.google.com |date=1999-02-22 |accessdate=2012-02-14}} 22. ^{{cite web|url=http://googleappengine.blogspot.com/2012/01/happy-birthday-high-replication.html |title=Google App Engine Blog: Happy Birthday High Replication Datastore: 1 year, 100,000 apps, 0% downtime |publisher=Googleappengine.blogspot.com |date=2012-01-05 |accessdate=2012-02-14}} 23. ^{{cite web|url=https://code.google.com/appengine/docs/premier/index.html |title=Premier Accounts - Google App Engine - Google Code |publisher=Code.google.com |date=1999-02-22 |accessdate=2012-02-14}} 24. ^{{cite web|url=https://cloud.google.com/support |title=Google Cloud Platform - Support}} 25. ^{{cite web|url=https://cloud.google.com/appengine/docs/adminconsole/datastoreadmin?csw=1#backup_and_restore |title=Uploading and Downloading Data - Google App Engine - Google Code |publisher=Code.google.com |date=1999-02-22 |accessdate=2012-02-14}} 26. ^{{cite web|author=aral |url=https://github.com/aral/gaebar/tree/master |title=aral/gaebar |publisher=GitHub |date= |accessdate=2012-02-14}} 27. ^{{cite web|url=https://code.google.com/p/approcket/ |title=approcket - Live synchronization between AppEngine and MySQL - Google Project Hosting |publisher=Code.google.com |date= |accessdate=2012-02-14}} 28. ^{{cite web|url=https://code.google.com/p/gawsh/ |title=gawsh - Google Apps Web Service Helpers - Google Project Hosting |publisher=Code.google.com |date= |accessdate=2012-02-14}} 29. ^{{cite web|url=https://code.google.com/p/gae-filestore/ |title=gae-filestore - Simple Virtual File System on Google App Engine DataStore - Google Project Hosting |publisher=Code.google.com |date= |accessdate=2012-02-14}} 30. ^{{cite web|url=https://cloud.google.com/appengine/docs/java/jrewhitelist |title=The JRE Class White List - Google App Engine - Google Developers |publisher=cloud.google.com |date=1999-02-22 |accessdate=2013-06-14}} 31. ^{{cite web | url = https://cloud.google.com/appengine/docs/python/?csw=1#Quotas_and_Limits | title = Python Runtime Environment - Google App Engine | accessdate = 2009-11-10| date = 2009-11-10}} 32. ^{{cite web|url=https://cloud.google.com/sql/docs|title=Google Cloud SQL Databases - Cloud SQL - Google Cloud Platform|website=Google Cloud Platform}} 33. ^{{cite web|url=https://cloud.google.com/appengine/docs/java/cloud-sql/|title=Using Google Cloud SQL - App Engine standard environment for Java - Google Cloud Platform|website=Google Cloud Platform}} 34. ^{{cite web|url=https://www.youtube.com/watch?v=oG6Ac7d-Nx8|title=Campfire One: Introducing Google App Engine (pt. 3)|first=|last=Google Developers|date=7 April 2008|publisher=|via=YouTube}} 35. ^{{cite web|url=https://code.google.com/appengine/articles/modeling.html |title=Modeling Entity Relationships - Google App Engine — Google Developers |publisher=Code.google.com |date=2012-06-26 |accessdate=2012-07-17}} 36. ^{{cite web|author=Saturday |url=http://highscalability.com/google-architecture |title=Google Architecture |publisher=High Scalability |date=2008-11-22 |accessdate=2012-07-17}} 37. ^{{cite web|last=Gallagher |first=Sean |url=https://arstechnica.com/old/content/2008/04/analysis-google-app-engine-alluring-will-be-hard-to-escape.ars |title=Analysis: Google App Engine alluring, will be hard to escape |publisher=Ars Technica |date=2008-04-09 |accessdate=2012-07-17}} 38. ^1 {{cite web|url=https://code.google.com/p/typhoonae/ |title=typhoonae - Typhoon App Engine - Google Project Hosting |publisher=Code.google.com |date= |accessdate=2012-07-17}} 39. ^[https://techcrunch.com/2013/06/24/appscale-launches-as-an-open-source-backup-equivalent-to-google-app-engine/ AppScale Launches As An Open-Source Backup Equivalent To Google App Engine]. TechCrunch (2013-06-24). Retrieved on 2013-09-18. 40. ^ {{webarchive|url=https://web.archive.org/web/20100220195348/http://web2py.com/book/default/section/11/13|date=February 20, 2010}} 41. ^{{YouTube|id=-kepYfCBg6w||title=Google I/O 2011: App Engine Backends}} 42. ^{{cite web|url=https://cloud.google.com/appengine/docs/python/backends/?csw=1|title=Backends Python API Overview - App Engine standard environment for Python - Google Cloud Platform|website=Google Cloud Platform}} 43. ^{{cite web|url=https://cloud.google.com/appengine/docs/python/backends/|title=Backends Python API Overview - App Engine standard environment for Python - Google Cloud Platform|website=Google Cloud Platform}} 44. ^{{cite web|url=http://googlecode.blogspot.com/2011/10/google-cloud-sql-your-database-in-cloud.html|title=Google Cloud SQL: your database in the cloud - The official Google Code blog|date=6 October 2011|publisher=}} 45. ^{{cite web|url=https://cloud.google.com/sql/faq#version|title=Cloud SQL FAQ - Cloud SQL Documentation - Google Cloud Platform|website=Google Cloud Platform}} 46. ^{{Cite web|title = Google App Engine General Questions|url = https://cloud.google.com/appengine/kb/general#create|website = Google Developers|accessdate = 2015-06-18}} 47. ^{{cite web | url = https://cloud.google.com/appengine/docs/quotas | title = Understanding Application Quotas with Google App Engine | accessdate = 2010-04-16}} Bibliography{{refbegin}}
| first1 = Dan | last1 = Sanderson | date = October 26, 2012 | title = Programming Google App Engine | edition = 2nd | publisher = O'Reilly Media | page = 536 | isbn = 978-1449398262 | url = http://shop.oreilly.com/product/0636920017547.do }}
| first1 = Adriaan | last1 = de Jonge | date = October 31, 2011 | title = Essential App Engine: Building High-Performance Java Apps with Google App Engine | edition = 1st | publisher = Addison-Wesley Professional | page = 304 | isbn = 0-321-74263-X | url = http://www.informit.com/store/product.aspx?isbn=0132484781 }}
| first1 = Daniel | last1 = Guermeur | first2 = Amy | last2 = Unruh | date = November 24, 2010 | title = Google App Engine Java and GWT Application Development | edition = 1st | publisher = Packt Publishing | page = 480 | isbn = 1-84969-044-8 | url = https://www.packtpub.com/google-app-engine-java-and-gwt-application-development/book }}
| first1 = Kyle | last1 = Roche | first2 = Jeff | last2 = Douglas | date = December 31, 2009 | title = Beginning Java Google App Engine | edition = 1st | publisher = Apress | page = 375 | isbn = 1-4302-2553-X | url = http://www.apress.com/9781430225539 }}
| first1 = Dan | last1 = Sanderson | date = November 23, 2009 | title = Programming Google App Engine | edition = 1st | publisher = O'Reilly Media | page = 400 | isbn = 0-596-52272-X | url = http://oreilly.com/catalog/9780596522735 }}
| first1 = Charles | last1 = Severance | date = May 22, 2009 | title = Using Google App Engine | edition = 1st | publisher = O'Reilly Media | page = 262 | isbn = 0-596-80069-X | url = http://oreilly.com/catalog/9780596800697 }}
| first1 = Eugene | last1 = Ciurana | date = February 2, 2009 | title = Developing with Google App Engine | edition = 1st | publisher = Apress | page = 164 | isbn = 1-4302-1831-2 | url = http://www.apress.com/9781430218319 }}{{refend}} External links
Stanford University. ([https://web.archive.org/web/20090326060917/http://stanford-online.stanford.edu/courses/ee380/081105-ee380-300.asx online video archive])
4 : Google services|Cloud platforms|Serverless computing|Computer-related introductions in 2008 |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。