Google App Engine

Google App Engine (gọi tắt là GAE hay App Engine) là một môi trường phát triển ứng dụng dựa trên công nghệ điện toán đám mây. Ở đó Google cung cấp một hệ thống gồm: ngôn ngữ lập trình, hệ cơ sở dữ liệu, các thư viện lập trình, người lập trình sẽ viết ứng dụng và ứng dụng này sẽ chạy trên các máy chủ của Google.

Google App Engine được cung cấp miến phí cho mỗi ứng dụng trong một giới hạn, khi các ứng dụng vượt qua mức quá hạn mức thì phải trả thêm khoản phí cho mức vượt quá này.

Các nền tảng được hỗ trợ
Hiện App Engine hỗ trợ hai loại ngôn ngữ chính là: Python và Java hiện tại thêm ngôn ngữ Go (đang ở mức thử nghiệm). Một số ngôn ngữ khác như PHP cũng có thể chạy được nếu cài cùng với bộ chuyển từ PHP sang Java.

Danh sách các thư viện dịch vụ
App Identity (Python, Java, Go) 
Blobstore (Python, Java, Go)
Capabilities (Python, Java, Go)
Channel (Python, Java, Go)
Google Cloud Endpoints (Python, Java, Go)
Images (Python, Java, Go): xử lý hình ảnh
Logs (Python, Java, Go): ghi nhật ký
Mail (Python, Java, Go): dịch vụ gửi thư điện tử
Memcache (Python, Java, Go): cache
Multitenancy (Python, Java, Go)
OAuth (Python, Java, Go): đăng nhập sử dụng OAth
Prospective Search (Python, Java, Go)
Search (Python, Java, Go): tìm kiếm
Task Queues (Python, Java, Go): lập lịch công việc cho máy chủ
Sockets (Python, Java, Go)
URL Fetch (Python, Java, Go)
Users (Python, Java, Go): thông tin người dùng đang đăng nhập
XMPP (Python, Java, Go)

Giới hạn
Các tệp tin khi lưu trữ lên App Engine chỉ có thể đọc-xóa (không sửa chữa).
App Engine chỉ có thể chạy qua các yêu cầu HTTP (các dịch vụ khác có thể chạy lệnh qua Console terminal) (Các task queue cũng chạy thông qua yêu cầu HTTP).
Các ứng dụng dùng python có thể sử dụng các thư viện python ngoài các thư viện được cung cấp bởi App Engine nhưng phải là các thư viện viết bằng python C và Pyrex không được hỗ trợ.
Các ứng dụng java chỉ sử dụng được tập các (The JRE Class White List) các lớp viết từ JRE tiêu chuẩn.
Không hỗ trợ tên miền 'naked' (không có tiền tố www) ví dụ http://example.com sẽ không chạy trên Appengine mà phải là http://www.example.com
Datastore không lọc (filter) được hai thuộc tính cùng một lúc ví dụ age > 4 and age < 10.

Sự khác biệt với các dịch vụ khác
So với các dịch vụ điện toán đám mây khác như Amazon EC2, hoặc với các hình thức viết trên máy chủ dịch vụ truyền thống App Engine cung cấp một môi trường thuận lợi hơn để viết đặc biệt cho các ứng dụng có nhu cầu mở rộng cho nhiều người dùng đồng thời. Nhưng điểm giới hạn là phải viết trên các dịch vụ mà App Engine cung cấp. App Engine giải quyết các khó khăn trong việc phát triển và quản trị hệ thống khi xây dựng một ứng dụng lớn (hàng trăm yêu cầu trên giây).

Khi các mô hình khác yêu cầu người dùng cài đặt và thiết lập cấu hình thì App Engine chỉ cần một màn hình quản trị để quản trị cũng như mở rộng hay thu nhỏ mức cung ứng dịch vụ.

Các dịch vụ tương tự
 Amazon Web Services
 Engine Yard
 Heroku
 Force.com
 Skytap
 VMware
 Rackspace Cloud
 GoGrid
 Windows Azure
 OpenShift
 Jelastic

Tham khảo

Liên kết ngoài
 
 Google App Engine - Run your web applications on Google's infrastructure - a technical talk by Google engineer Guido van Rossum at Stanford University. (online video archive )
 Java Frameworks and libraries supported 
 Web2py book -- online documentation -- Google App Engine deployment recipe 
 Google Cloud SQL Sample Projects

Cloud platforms
App Engine
Dịch vụ Google