1. Google App Engine là gì ?
Google App Engine là một dịch vụ của Google, trong đó nó hỗ trợ tính năng giúp người dùng có thể chạy ứng dụng của mình mà không cần quan tâm tới cấu trúc hạ tầng bên dưới. App Engine được biết đến là một Serverless
Điều này nghĩa là bạn chỉ quan tâm tới phần code, và lo tập trung phát triển code. Sau đó cứ đưa code này lên Google App Engine để chạy, không cần phải cài đặt, cấu hình máy chủ, network rườm rà.
2. Google App Engine có bao nhiêu thành phần ?
Google app Engine gồm 4 thành phần chính, bao gồm:
- Application
- Service
- Version
- Instance
Trong đó, Application được biết lớp cao nhất và nó phải có ít nhất một service kèm theo. Trong quá trình phát triển, code của chúng ta tất nhiên sẽ cần nhiều phiên bản khác nhau để fix bug, cập nhật, nâng cấp, … Do đó, App cũng hỗ trợ nhiều phiên khác nhau của cho service.
Để hiểu rõ hơn về trúc cấu của Google App Engine, bạn có thể tham khảo hình sau:
Nhìn hình trên, bạn có thấy được các thành phần, cấu trúc cũng như tính năng hỗ trợ đa phiên bản của Google App Engine. Bên dưới mỗi version sẽ tương ứng với một Instance trên Google Cloud.
3. Deploying an App Engine Application
Sau khi tìm hiểu qua các thành phần của App Engine, tiếp theo chúng ta sẽ đi qua bước để có thể triển khai ( Deploy) ứng dụng của mình lên Google Cloud.
Trong bài này, tôi sẽ hướng dẫn bạn deploy bằng Cloud Shell và SDK. Tôi sẽ lấy ví dụ cho App của Python.
Deploying App bằng Cloud Shell và SDK
Đầu tiên, bạn cần truy cập Cloud Shell và chạy câu lệnh sau để cài đặt các thư viện cần thiết của python.
Lưu ý: Tùy vào Code của bạn là loại gì thì cài thư viện tương ứng, ở đây python là để ví dụ.
gcloud components install app-engine-python
Sau khi thư viện python đã được cài đặt hoàn tất, ta sẽ truy cập vào thư mục chứa code của python “python-docs-samples”. Nếu chưa có, bạn có thể tải về tại đây.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Tiếp theo, di chuyển vào thư mục như sau:
cd python-docs-samples/appengine/standard/hello_world
Tại đây, chúng ta sẽ thấy 3 file như sau:
■ app.yaml
■ main.py
■ main_test.py
tiếp theo, ta sẽ mở file app.yaml để xem cấu hình của nó
cat app.yaml
Ok, giờ tiến hành deploy code python này lên Google Cloud nào:
gcloud app deploy app.yml
Ngoài ra, để deploy App Engine ta có thêm một vài tùy chọn bổ sung.
■ –version dùng để chỉ định version ID
■ –project dùng để chỉ định project ID
■ –no-promote dùng để deploy lên google cloud mà không cho phép traffic vào.
Tùy chọn “–no-promote” đôi khi khá hữu ích trong quá trình triển khai và vận hành. Ví dụ, bạn có một service mới cần triển khai, và Leader của bạn đã cho phép triển khai lên Production, nhưng vì còn dính thủ tục giấy tờ nên bộ phận BA chưa cho triển khai.
Lúc này, bạn có thể dùng tính năng “–no-promote” này, nó sẽ giúp bạn triển khai Service mình lên, nhưng không cho traffic vào. Khi nào thủ tục đầy đủ, bạn chỉ cần Enable service lên là xong, sẽ tiết kiệm được thời gian…
Khi quá trình triển khai diễn ra, bạn sẽ thấy các Output như sau
You can see the output of the Hello World program by navigating in a browser to your
project URL, such as https://gcpace-project.appspot.com. The project URL is the project name followed by .appspot.com. For example, Figure 9.4 shows the output.
Bạn có thể truy cập vào chương trình “Hello World” bằng cách truy cập URL của trình duyệt : https://gcpace-project.appspot.com
Lưu ý: URL của app sẽ được đặt tên theo qui tắc: https://< Tên Project>.appspot.com
4.Tổng kết
Chúng ta vừa tìm hiểu qua định nghĩa, các thành phần và cách để có thể triển khai App Engine, cũng như những lưu ý trong quá trình sử dụng App Engine.
Trong phần 2, tôi sẽ nói tiếp về cách để Scale App Engine và làm thế nào để phân chia traffic nhiều phiên bản khác nhau.
Cám ơn bạn đã quan tâm.
Nguồn:
[maxbutton id=”2″ ] [maxbutton id=”3″ ]
Đăng ký liền tay Nhận Ngay Bài Mới
Subscribe ngay
Cám ơn bạn đã đăng ký !
Lỗi đăng ký !
Add Comment