Cloud Google Gloud

Khóa học Google Cloud – App Engine phần 1

congdonglinux-google-app-engine-2

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:

congdonglinux-google-app-engine-1

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

congdonglinux-google-app-engine-4

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

congdonglinux-google-app-engine-5

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:                  

congdonglinux.com

              [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

Click here to post a comment

Đă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ý !