Giới thiệu Lab
Trong lab này, bạn tìm hiểu về Azure web apps. Bạn học cách cấu hình web app để hiển thị ứng dụng Hello World từ một repository GitHub bên ngoài. Bạn học cách tạo staging slot và swap với production slot. Bạn cũng tìm hiểu về autoscaling để đáp ứng thay đổi nhu cầu.
Lab này yêu cầu một Azure subscription. Loại subscription của bạn có thể ảnh hưởng đến tính khả dụng của một số tính năng. Bạn có thể đổi region, nhưng các bước trong hướng dẫn được viết dựa trên East US.
Tình huống
Tổ chức của bạn quan tâm đến Azure Web apps để lưu trữ các website của công ty. Hiện tại các website đang được lưu trữ trong trung tâm dữ liệu nội bộ, chạy trên máy chủ Windows với PHP runtime stack. Phần cứng sắp hết vòng đời và sẽ sớm cần thay thế. Tổ chức của bạn muốn tránh chi phí mua phần cứng mới bằng cách dùng Azure để lưu trữ các website.
Kỹ năng
- Task 1: Tạo và cấu hình Azure web app.
- Task 2: Tạo và cấu hình deployment slot.
- Task 3: Cấu hình cài đặt deployment của web app.
- Task 4: Swap deployment slots.
- Task 5: Cấu hình và kiểm tra autoscaling của Azure web app.
Task 1: Tạo và cấu hình Azure web app
Trong task này, bạn tạo một Azure web app. Azure App Services là giải pháp Platform As a Service (PAAS) dành cho các ứng dụng web, mobile và các ứng dụng web khác. Azure web apps là một phần của Azure App Services, hỗ trợ hầu hết các runtime environment như PHP, Java và .NET. App service plan bạn chọn sẽ quyết định compute, storage và các tính năng của web app.
-
1
Đăng nhập vào Azure portal —
https://portal.azure.com. -
2
Tìm kiếm và chọn
App Services. - 3 Chọn + Create, từ menu thả xuống, chọn Web App. Lưu ý các lựa chọn khác.
-
4
Trên tab Basics của blade Create Web App, điền các cài đặt sau (để mặc định các phần còn lại):
Setting Value Subscription Azure subscription của bạn Resource group az104-rg9(Nếu cần, chọn Create new)Web app name tên duy nhất trên toàn cầu bất kỳ Publish Code Runtime stack PHP 8.2 Operating system Linux Region East US Pricing plans Premium V3 P1V3 Zone redundancy chấp nhận mặc định - 5 Nhấn Review + create, rồi nhấn Create.
- 6 Sau khi triển khai xong, chọn Go to resource.
Task 2: Tạo và cấu hình deployment slot
Trong task này, bạn sẽ tạo một staging deployment slot. Deployment slots cho phép bạn thực hiện kiểm thử trước khi công khai ứng dụng cho người dùng cuối. Sau khi kiểm thử xong, bạn có thể swap slot từ môi trường development hoặc staging sang production. Nhiều tổ chức dùng slots để thực hiện kiểm thử trước khi đưa vào production. Ngoài ra, nhiều tổ chức chạy nhiều slots cho mỗi ứng dụng (ví dụ: development, QA, test và production).
- 1 Trên blade của Web App vừa triển khai, nhấn liên kết Default domain để hiển thị trang web mặc định trong tab trình duyệt mới.
- 2 Đóng tab trình duyệt mới, quay lại Azure portal, trong phần Deployment của blade Web App, nhấn Deployment slots.
-
3
Nhấn Add slot và thêm slot mới với các cài đặt sau:
Setting Value Name stagingClone settings from Do not clone settings - 4 Chọn Add để tạo slot.
- 5 Làm mới trang để xem các slot Production và Staging.
- 6 Chọn mục đại diện cho staging slot vừa tạo.
- 7 Xem lại blade của staging slot và lưu ý rằng URL của nó khác với URL được gán cho production slot.
Task 3: Cấu hình cài đặt deployment của Web App
Trong task này, bạn sẽ cấu hình cài đặt deployment của Web App. Cài đặt deployment cho phép continuous deployment, đảm bảo app service luôn có phiên bản mới nhất của ứng dụng.
- 1 Trong slot staging, chọn Configuration rồi General settings.
- 2 Bên dưới SCM Basic Auth Publishing Credentials, bật checkbox và chọn Apply. Tiếp theo, chọn Deployment Center rồi Settings.
- 3 Nếu xuất hiện banner thông báo "SCM basic authentication is disabled for your app", chọn Enable here và hoàn thành các bước để bật tính năng này.
- 4 Trong danh sách thả xuống Source, chọn External Git. Lưu ý các lựa chọn khác.
-
5
Trong trường repository, nhập
https://github.com/Azure-Samples/php-docs-hello-world -
6
Trong trường branch, nhập
master. - 7 Chọn Save.
- 8 Từ staging slot, chọn Overview.
- 9 Chọn liên kết Default domain và mở URL trong tab mới.
- 10 Xác nhận staging slot hiển thị trang Hello World.
Task 4: Swap deployment slots
Trong task này, bạn sẽ swap staging slot với production slot. Swap slot cho phép bạn đưa code đã kiểm thử trong staging slot lên production. Azure portal cũng sẽ nhắc bạn nếu cần di chuyển các cài đặt ứng dụng đã tùy chỉnh cho slot. Swap slots là tác vụ phổ biến đối với các nhóm phát triển và hỗ trợ ứng dụng, đặc biệt khi triển khai các bản cập nhật định kỳ và sửa lỗi.
- 1 Quay lại blade Deployment slots, rồi chọn Swap.
- 2 Xem lại các cài đặt mặc định và nhấn Start Swap. Chờ thông báo xác nhận swap hoàn tất.
- 3 Quay về trang chủ portal. Bạn sẽ thấy cả production web app lẫn staging slot.
-
4
Tìm kiếm
App Servicesvà chọn App Service web app của bạn. Thao tác này đưa bạn về Production Deployment slot. - 5 Chọn App Service web app và trên blade Overview của Web App, chọn liên kết Default domain để hiển thị trang chủ website.
- 6 Xác nhận trang web production hiện hiển thị trang Hello World!.
Task 5: Cấu hình và kiểm tra autoscaling của Azure Web App
Trong task này, bạn sẽ cấu hình autoscaling cho Azure Web App. Autoscaling giúp duy trì hiệu suất tối ưu cho web app khi lưu lượng truy cập tăng lên. Để xác định khi nào app nên scale, bạn có thể theo dõi các chỉ số như mức sử dụng CPU, bộ nhớ hoặc băng thông.
- 1 Trong ngăn bên trái, trong phần App Service plan, chọn Scale out.
- 2 Trong phần Scaling, chọn Automatic. Lưu ý tùy chọn Rules Based. Scaling dựa trên quy tắc có thể được cấu hình cho các chỉ số app khác nhau.
- 3 Trong trường Maximum burst, chọn 2. Đặt Minimum instances thành 1.
-
4
Nếu bạn có staging slot, mở Azure Cloud Shell và chạy lệnh sau để đặt số lượng elastic instance tối thiểu của staging slot thành 1 trước khi chọn Save:
Bash— Azure Cloud Shellaz webapp update --resource-group az104-rg9 --name <your-web-app-name> --slot staging --minimum-elastic-instance-count 1
<your-web-app-name> bằng tên app của bạn. Sau khi lệnh thành công, quay lại Scale out trên production web app và chọn Save.
- 5 Chọn Save.
- 6 Chọn Diagnose and solve problems (ngăn bên trái của trang chính web app).
-
7
Trong hộp Load Test your App, chọn Create Load Test.
- Chọn + Create và đặt tên cho load test. Tên phải là duy nhất.
- Chọn Review + create rồi nhấn Create.
- 8 Chờ load test được tạo xong, rồi chọn Go to resource.
- 9 Từ Overview | Create by adding HTTP requests, chọn Create.
-
10
Trên tab Test plan, nhấn Add request. Trong URL field, dán URL Default domain của bạn vào. Đảm bảo URL được định dạng đúng và bắt đầu bằng
https://. Chọn Add để lưu thay đổi. - 11 Chọn Review + create rồi nhấn Create.
- 12 Điều hướng đến bài test (được liệt kê trên trang chủ).
- 13 Làm mới và xem lại các chỉ số trực tiếp bao gồm Virtual users, Response time và Requests/sec.
- 14 Chọn Stop để khởi tạo yêu cầu dừng, rồi chọn Stop lần nữa trong hộp thoại xác nhận để hoàn tất lần chạy test. Bạn không cần chờ bài test hoàn thành.
Dọn dẹp tài nguyên
Nếu bạn đang dùng subscription của chính mình, hãy dành chút thời gian xóa các tài nguyên của lab. Điều này đảm bảo tài nguyên được giải phóng và chi phí được tối thiểu hóa. Cách đơn giản nhất để xóa tài nguyên lab là xóa resource group của lab.
- Trong Azure portal, chọn resource group, chọn Delete the resource group, Enter resource group name, rồi nhấn Delete. Khi hộp thoại xác nhận Delete thứ hai xuất hiện, nhấn Delete lần nữa.
- Dùng Azure PowerShell:
Remove-AzResourceGroup -Name resourceGroupName - Dùng CLI:
az group delete --name resourceGroupName
Tổng kết
Chúc mừng bạn đã hoàn thành lab. Dưới đây là những điểm chính của lab này.
- Azure App Services cho phép bạn nhanh chóng xây dựng, triển khai và scale web apps.
- App Service hỗ trợ nhiều môi trường phát triển bao gồm ASP.NET, Java, PHP và Python.
- Deployment slots cho phép bạn tạo các môi trường riêng biệt để triển khai và kiểm thử web app.
- Bạn có thể scale web app thủ công hoặc tự động để đáp ứng nhu cầu tăng thêm.
- Có rất nhiều công cụ chẩn đoán và kiểm thử đa dạng sẵn có.