Google App Engine là gì? Tổng quát về Google App Engine
Là người phát triển ứng dụng trên máy tính bàn, chắc hẳn bạn biết về Google App Engine. Tuy vậy bạn vẫn chưa hiểu hoàn toàn về nền tảng và tính năng này. Hãy cùng Thiên Sơn Computer tìm hiểu thêm tổng quát về Google App Engine nhé.
1. Google App Engine là gì
Google App Engine thường viết tắ GAE hoặc App Engine- 1 nền tảng phát triển dựa vào công nghệ đám mây do Google phát triển, cho ra mắt vào năm 2008.
GAE hỗ trợ các ngôn ngữ lập trình: Python, Java và Go. Nền tảng cung cấp người dùng với tài nguyên gồm:
- Ngôn ngữ lập trình
- Thư viện lập trình
- Hệ cơ sở dữ liệu để phát triển và khai thác các ứng dụng trên cơ sở hạ tầng máy chủ Google
2. Tổng quan và tính năng
Thành phần
Google App Engine có những thành phần:
- Môi trường thực thi: GAE hỗ trợ 2 môi trường chính cho việc phát triển ứng dụng, là Java và Python. 2 môi trường này sử dụng mô hình chung: ứng dụng được triển khai lên máy chủ, kích hoạt , xử lý yêu cầu của khách hàng trước lúc trả kết quả.
- Sever tĩnh và Cache: GAE cung cấp các máy chủ riêng biệt để xử lý các tệp tĩnh. Hướng dẫn trình duyệt save lại bản sao tệp trong bộ nhớ cache.
- Kho dữ liệu: Với phần lớn ứng dụng web, quản lý dữ liệu là điều quan trọng. GAE cung cấp giải pháp tổ chức và phân phối dữ liệu của ứng dụng thật hiệu quả.
- Thực thể và thuộc tính: Ứng dụng GAE có chứa nhiều thực thể dữ liệu, mỗi thực thể có nhiều thuộc tính khác nhau. Khi cần truy xuất dữ liệu, kho dữ liệu sẽ thực hiện các câu truy vấn để kiếm các thực thể tương tích.
- Dịch vụ: GAE đi kèm với nhiều dịch vụ hữu ích như URL Fetch, cho phép người dùng truy cập tài nguyên web từ các sever khác. Việc này giúp xử lý các yêu cầu liên quan đến việc gửi và nhận dữ liệu từ chỗ nguồn bên ngoài.
- Tài khoản Google: Người dùng có thể sử dụng tài khoản Google của mình để đăng nhập vào tất cả các ứng dụng. Việc này giúp giảm độ phức tạp của việc quản lý nhiều tài khoản khác nhau cho từng ứng dụng khác nhau.
- Công cụ lập trình: Google sẽ cung cấp SDK free cho phát triển ứng dụng GAE bằng Python và Java. Người dùng tải SDK phù hợp với hệ điều hành của mình từ web của Google.
Chức năng
GAE cung cấp 1 loạt tính năng và công cụ quan trọng cho phát triển ứng dụng
- Popular Languages: Phát triển ứng dụng hoặc lựa chọn ngôn ngữ từ 1 loạt các tùy chọn gồm Node.js, Java, Ruby, Python, PHP.
- Application Versioning: Quản lý phiên bản ứng dụng 1 cách tiện lợi, tạo và duy trì các môi trường như development, test, staging, production thật dễ dàng.
- Open & Flexible: Tùy chỉnh runtime để tích hợp bất kỳ thư viện và framework bằng cách sử dụng Docker container.
- Traffic Splitting: Điều hướng yêu cầu của bạn cho các phiên bản khác nhau của ứng dung. Thực hiện thí nghiệm A/B và triển khai tính năng linh hoạt.
- Fully Managed: Tạo môi trường quản lý hoàn toàn tập trung vào sự phát triển, App Engine có chức anwng quản lý cơ sở hạ tầng.
- Application Security: Bảo vệ ứng dụng qua xác định access rule sử dụng tường lửa và sử dụng chỉ SSL/TLS
- Monitoring, Logging & Diagnostics: Sử dụng Google Stackdriver để đoán và giám sát tình trạng, hiệu suất của ứng dụng.
- Services Ecosystem: Tận dụng hệ sinh thái GCP để tích hợp các dịch vụ ứng dụng của người dùng và tạo ra các công cụ phát triển đám mây nhiều dịch vụ.
3. Ưu điểm và nhược điểm của Google App Engine
Ưu điểm
- Cung cấp 1 môi trường tiện lợi cho việc phát triển và mở rộng ứng dụng.
- Giải quyết các thách thức quản trị & phát triển hệ thống khi xây dựng các ứng dụng lớn.
- Chỉ cần 1 giao diện để quản lí và điều chỉnh quy mô dịch vụ của người dùng mà không cần xử lý các cài đặt chi tiết
Nhược điểm
- Các tập tin lưu trữ trên GAE chỉ có quyền đọc và không thay đổi hoặc xóa.
- GAE chỉ chấp nhận các yêu cầu HTTP để thực hiện ứng dụng, nếu bạn muốn thực hiện các dịch vụ khác, người dùng có thể dùng lệnh thông qua Console terminal.
- Ngoài các thư viện được cung cấp bởi GAE, các thư viện viết bằng Python, Pyrex và C sẽ không hỗ trợ.
- Google App Engine hỗ trợ tên miền có tiền tố” www” ví dụ: “https://www.thiensoncomputer.vn.com”
- Kho dữ liệu sẽ không lọc 2 thuộc tính cùng 1 lúc.
4. Một vài dịch vụ đi kèm
Có 1 vài dịch vụ đi kèm mà Google App Engine gồm:
- App Identity: Xác định quyền chạy ứng dụng trên máy tính của người dùng.
- Blobstore: Dịch vụ lưu trữ dữ liệu đám mây
- Users: Cung cấp thông tin người dùng.
- Images: Xử lý hình ảnh
- Google Cloud Endpoints: Dịch vụ điện toán đám mây chạy trên cơ sở hạ tầng Google
- OAuth: Đăng nhập và xác thực OAuth.
- Task Queues: Lên lịch, quản lý công việc trên máy chủ.
- Search: Tìm kiếm thông tin trên ứng dụng.
Coi thêm: Fix lỗi máy tính không nhận card màn hình