MS LAB 09a 20 minutes Lab chính thức Microsoft

Lab 09a: Implement Web Apps

Cấu hình và scale Azure web apps. Học cách cấu hình web app để hiển thị ứng dụng Hello World từ repository GitHub bên ngoài, tạo deployment slots và cấu hình autoscaling để đáp ứng thay đổi nhu cầu.

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.
Architecture diagram of Lab 09a tasks
1

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. 1 Đăng nhập vào Azure portalhttps://portal.azure.com.
  2. 2 Tìm kiếm và chọn App Services.
  3. 3 Chọn + Create, từ menu thả xuống, chọn Web App. Lưu ý các lựa chọn khác.
  4. 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
    SubscriptionAzure subscription của bạn
    Resource groupaz104-rg9 (Nếu cần, chọn Create new)
    Web app nametên duy nhất trên toàn cầu bất kỳ
    PublishCode
    Runtime stackPHP 8.2
    Operating systemLinux
    RegionEast US
    Pricing plansPremium V3 P1V3
    Zone redundancychấp nhận mặc định
  5. 5 Nhấn Review + create, rồi nhấn Create.
Lưu ý: Chờ cho đến khi Web App được tạo xong trước khi chuyển sang task tiếp theo. Quá trình này mất khoảng một phút.
Lưu ý: Nếu triển khai thất bại, hãy đổi sang region khác và thử lại. Nguyên nhân là do hạn mức quota khác nhau giữa các region.
  1. 6 Sau khi triển khai xong, chọn Go to resource.
2

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. 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. 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. 3

    Nhấn Add slot và thêm slot mới với các cài đặt sau:

    Setting Value
    Namestaging
    Clone settings fromDo not clone settings
  4. 4 Chọn Add để tạo slot.
  5. 5 Làm mới trang để xem các slot Production và Staging.
  6. 6 Chọn mục đại diện cho staging slot vừa tạo.
Lưu ý: Thao tác này sẽ mở blade hiển thị các thuộc tính của staging slot.
  1. 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.
3

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. 1 Trong slot staging, chọn Configuration rồi General settings.
Lưu ý: Đảm bảo bạn đang ở blade của staging slot (không phải production slot).
  1. 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.
  2. 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.
  3. 4 Trong danh sách thả xuống Source, chọn External Git. Lưu ý các lựa chọn khác.
  4. 5 Trong trường repository, nhập https://github.com/Azure-Samples/php-docs-hello-world
  5. 6 Trong trường branch, nhập master.
  6. 7 Chọn Save.
  7. 8 Từ staging slot, chọn Overview.
  8. 9 Chọn liên kết Default domain và mở URL trong tab mới.
  9. 10 Xác nhận staging slot hiển thị trang Hello World.
Lưu ý: Quá trình deployment có thể mất một phút. Nhớ Refresh trang ứng dụng.
4

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. 1 Quay lại blade Deployment slots, rồi chọn Swap.
  2. 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. 3 Quay về trang chủ portal. Bạn sẽ thấy cả production web app lẫn staging slot.
  4. 4 Tìm kiếm App Services và chọn App Service web app của bạn. Thao tác này đưa bạn về Production Deployment slot.
  5. 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. 6 Xác nhận trang web production hiện hiển thị trang Hello World!.
Lưu ý: Sao chép URL Default domain — bạn sẽ cần nó để load testing trong task tiếp theo.
5

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. 1 Trong ngăn bên trái, trong phần App Service plan, chọn Scale out.
Lưu ý: Đảm bảo bạn đang làm việc trên production slot, không phải staging slot.
  1. 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.
  2. 3 Trong trường Maximum burst, chọn 2. Đặt Minimum instances thành 1.
  3. 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 Shell
    az webapp update --resource-group az104-rg9 --name <your-web-app-name> --slot staging --minimum-elastic-instance-count 1
Lưu ý: Thay <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.
Screenshot of the autoscale page
  1. 5 Chọn Save.
  2. 6 Chọn Diagnose and solve problems (ngăn bên trái của trang chính web app).
  3. 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.
  4. 8 Chờ load test được tạo xong, rồi chọn Go to resource.
  5. 9 Từ Overview | Create by adding HTTP requests, chọn Create.
  6. 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.
  7. 11 Chọn Review + create rồi nhấn Create.
Lưu ý: Có thể mất vài phút để tạo bài test. Theo dõi các thông báo.
  1. 12 Điều hướng đến bài test (được liệt kê trên trang chủ).
  2. 13 Làm mới và xem lại các chỉ số trực tiếp bao gồm Virtual users, Response timeRequests/sec.
  3. 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ó.
Zalo