1 / 18

Google App Engine

Google App Engine. 2008.10.07 Yoo Hyunjeong. 1. What is ‘Google App Engine’?. Google web application platform Easy to build, easy to maintain, and easy to scale as user’s traffic and data storage needs grow

pegeen
Télécharger la présentation

Google App Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Google App Engine 2008.10.07 YooHyunjeong

  2. 1. What is ‘Google App Engine’? • Google web application platform • Easy to build, easy to maintain, and easy to scale as user’s traffic and data storage needs grow • No servers to maintain, with App Engine : just upload an application, and it’s ready to serve your users. • Providing a platform including database • 호스팅을GAE에서 담당하여 개발자로 하여금 서비스 개발에 집중할 수 있도록 제공

  3. 1. What is ‘Google App Engine’? • GAE에서 제공하는 기능 • Python이 제공하는 기본 기능 • BigTable/GFS 기술이 뒷받침하는 견고한 Datastore • 확장성을 제공하는 호스팅 공간 • Googleaccount • SDK를 이용한 로컬 개발 및 테스트

  4. 1. What is ‘Google App Engine’? • App Engine을 통해 웹 서비스 개발자들은 또 다른 “Web Development that doesn’t hurt”(Ruby on Rails’s모토) 고통 없이 개발할 수 있는 선택권을 갖게 된다. 다만, 이 선택에는 세가지의 제약이 따른다. • 1. 모든 코드는 반드시 Python으로 작성해야 한다. • 2. 사용량 제한을 통해 비용 지불의 가능성이 존재한다. • 3.모든 데이타는구글 플랫폼에서 움직이며 구글이 갖게 된다는 점이다. 이는, 구글플랫폼에 종속된 어플리케이션은 쉽게 구글 플랫폼을 벗어나지 못하게 할 것이다.

  5. 1.1 Application environment • Google App Engine makes it easy to build an application that runs reliably, even under heavy load and with large amounts of data. The environment includes the following features: • dynamic web serving, with full support for common web technologies • persistent storage with queries, sorting and transactions • automatic scaling and load balancing • APIs for authenticating users and sending email using Google Accounts • a fully featured local development environment that simulates Google App Engine on your computer

  6. 1.2 Send Box • Application run in a secure environment that provides limited access to the underlying operating system. • These limitations allow App Engine to distribute web requests for the application across multiple servers, and start and stop servers to meet traffic demands. • The sendbox isolates your application.

  7. 1.2 Send Box • Examples of the limitations of the secure sandbox environment include: • An application can only access other computers on the Internet through the provided URL fetch and email services and APIs. Other computers can only connect to the application by making HTTP(s) requests on the standard ports. • An application cannot write to the file system. An app can read files, but only files uploaded with the application code. The app must use the App Engine datastore for all data that persists between requests. • Application code only runs in response to a web request, and must return response data within a few seconds. A request handler cannot spawn a sub-process or execute code after the response has been sent.

  8. 1.3 The Python Runtime Environment • App Engine provides a runtime environment that uses the Python programming language. • Python version 2.5.2. • App Engine also provides a simple Python web application framework called webapp to make it easy to start building applications. • App Engine also includes the Django web application framework, version 0.96.1

  9. 1.4 The Datastore • Providing a powerful distributed data storage service • The App Engine datastore is not like a traditional relational database. Data objects, or "entities," have a kind and a set of properties. Queries can retrieve entities of a given kind filtered and sorted by the values of the properties.

  10. 1.5 App Engine Services • The following APIs are provided to access these services: • URL Fetch • Applications can access resources on the Internet using App Engine's URL fetch service. The URL fetch service retrieves web resources using the same high-speed Google infrastructure that retrieves web pages for many other Google products. • Mail

  11. 1.5 App Engine Services • The following APIs are provided to access these services: • Memcache • providing your application with a high performance in-memory key-value cache that is accessible by multiple instances of your application. • useful for data that does not need the persistence and transactional features of the datastore, such as temporary data. • Image Manipulation

  12. 2. The Development Environment • Developing and uploading applications for Google App Engine using the App Engine software development kit (SDK). • The SDK includes a web server application that simulates the App Engine environment, including a local version of the datastore, Google Accounts, and the ability to fetch URLs and send email directly from your computer using the App Engine APIs. • The SDK runs on any computer with Python 2.5, and versions are available for Windows, Mac OS X and Linux.

  13. 3. Hello, World! • Creating a simple request handler • Helloworld.py • Creating the Configuration File • App.yaml

  14. 3. Hello, World! • Testing the Application • Start web server • Dev_appserver.py • Appcfg.py • Dev_appserver.py hyunjeong/

  15. 4. Using the webapp Framework • The CGI standard is simple, but it would be cumbersome to write all of the code that uses it by hand. • Web application frameworks handle these details for you, so you can focus your development efforts on your application's features. • App Engine includes a simple web application framework of its own, called webapp.

  16. 4.1 Hello, webapp! • A webapp application has three parts: • one or more RequestHandlerclasses • a WSGIApplicationinstance • a main routine • Edit Helloworld.py

  17. 4. Hello, webapp! • Testing

  18. 5. Using the User Service • Edit Helloworld.py

More Related