Categories
Software Architecture

Microsoft Azure Trong Hành Động 4: Sẵn Sàng Cho Sản Xuất

Sẵn sàng cho sản xuất

Khi ứng dụng của bạn đang chạy, giờ đây bạn có thể sử dụng Azure để làm cho ứng dụng trở nên mạnh mẽ hơn và cập nhật dễ dàng hơn.

Thiết lập phân phối liên tục với GitHub

Cho đến nay, chúng ta đã đẩy mã từ kho lưu trữ Git cục bộ của mình sang Azure. Điều này tốt nếu bạn làm việc một mình, nhưng nếu bạn làm việc theo nhóm, bạn sẽ cần một loại kiểm soát nguồn khác, chẳng hạn như Azure Repos, một trong những dịch vụ trong Azure DevOps hoặc GitHub.

Bạn có thể sử dụng kho lưu trữ GitHub để đẩy mã của mình và sau đó liên kết mã đó với ứng dụng web của bạn để các thay đổi được triển khai tự động trong một quy trình phân phối liên tục.

Phân phối liên tục có thể được định cấu hình bằng cách sử dụng tính năng Trung tâm triển khai của Ứng dụng web thông qua cổng Azure. Tính năng này cho phép bạn chọn vị trí mã của mình cũng như các tùy chọn để xây dựng và triển khai lên đám mây.

Thiết lập môi trường dàn dựng

Khi sử dụng Ứng dụng web Azure App Service, bạn có thể thiết lập một vị trí dàn dựng để thử nghiệm các phiên bản mới của ứng dụng của mình thông qua các vị trí triển khai (deployment slots). Vị trí triển khai là các dịch vụ ứng dụng mà bạn có thể kiểm tra mã của mình trước khi quảng bá nó cho vị trí tiếp theo.

Có các vị trí triển khai để dàn dựng, thử nghiệm tải và sản xuất, đây luôn là dịch vụ ứng dụng gốc — trong ví dụ của chúng tôi là ứng dụng web .NET Core. Trên thực tế, bạn có thể có nhiều vị trí triển khai tùy thích mà không phải chịu thêm chi phí.

Tất cả các vị trí triển khai đều chạy trong cùng một gói Dịch vụ ứng dụng, đó là những gì bạn phải trả cho. Hãy nhớ rằng việc có thêm các vị trí triển khai trong gói Dịch vụ ứng dụng sẽ tiêu tốn tài nguyên như CPU và bộ nhớ, vì vậy hãy lưu ý đến việc các vị trí bổ sung có thể ảnh hưởng như thế nào đến quá trình sản xuất.

Bạn tạo các vị trí triển khai mới từ mục menu Vị trí triển khai trong ứng dụng web. Bạn cần chạy ứng dụng web ở mức giá tiêu chuẩn hoặc cao cấp vì gói miễn phí không đi kèm với các vị trí triển khai bổ sung.

Trong mỗi vùng triển khai bạn tạo, bạn có thể định cấu hình các tùy chọn triển khai như chúng tôi đã làm trước đó để triển khai mã tự động. Bạn thậm chí có thể làm việc trên các nhánh mã nguồn khác nhau cho các môi trường khác nhau và tự động triển khai các nhánh cụ thể đến các vị trí triển khai cụ thể.

Ngoài ra, bạn có thể kiểm tra phiên bản cuối cùng của mình trong vùng triển khai và sau đó hoán đổi nó với phiên bản trong vùng sản xuất. Điều này làm nóng ứng dụng trước khi nó hoán đổi, dẫn đến việc triển khai mà không có thời gian chết.

Mở rộng quy mô ứng dụng web

Khi bạn có nhiều người dùng, bạn cần các ứng dụng web mở rộng quy mô để đáp ứng lưu lượng truy cập tăng lên. Khi chúng không bận rộn, bạn cần chúng thu hẹp quy mô để giảm chi phí. Bạn có thể làm điều này với tính năng Thay đổi quy mô tự động (Automatic Scaling) của Dịch vụ ứng dụng. Bạn cần chạy các ứng dụng web trong bậc giá Chuẩn hoặc Đặc biệt để sử dụng tính năng này.

Ngoài ra, bậc Miễn phí có thể được sử dụng để chạy một phiên bản ứng dụng web.

Ứng dụng Web có một mục menu được gọi là Scale Out, như trong Hình 8-10. Bạn có thể sử dụng điều này để mở rộng quy mô theo cách thủ công hoặc tự động. Mở rộng quy mô có nghĩa là bạn thêm nhiều phiên bản hơn của ứng dụng của mình để xử lý tải:

Fugure 8-10: Mục menu Scale Out.

Fugure 8-10: Mục menu Scale Out

Sử dụng nhật ký chẩn đoán

Một cách hiệu quả để giám sát ứng dụng là sử dụng nhật ký chẩn đoán để xem nhật ký chẩn đoán trực tiếp từ ứng dụng web. Bạn thậm chí có thể chuyển các bản ghi vào cửa sổ bảng điều khiển. Để thực hiện việc này, hãy chạy lệnh sau trong Cloud Shell:

az webapp log tail --name <app_name> --resource-group <myResourceGroup>

Bạn sẽ thấy ghi nhật ký khi bạn sử dụng ứng dụng trong ứng dụng web để tạo ra một số lưu lượng truy cập.

Thiết lập giám sát và cảnh báo

Azure Monitor Application Insights cung cấp một cách mạnh mẽ khác để theo dõi các ứng dụng. Công cụ giám sát này cung cấp thông tin về ứng dụng của bạn, chẳng hạn như có bao nhiêu khách truy cập đã sử dụng nó, bao nhiêu ngoại lệ đã xảy ra và chúng đã xảy ra ở đâu trong mã. Không giống như nhật ký chẩn đoán, Thông tin chi tiết về ứng dụng yêu cầu một khoản phí nhỏ.

Thêm lớp cổng bảo mật (Secure Sockets Layer)

Khi một ứng dụng đã sẵn sàng để sản xuất, bạn cần xác nhận rằng ứng dụng đó an toàn. Bên cạnh xác thực và ủy quyền, cung cấp ứng dụng web qua HTTPS là một trong những biện pháp bảo mật quan trọng nhất mà bạn có thể thực hiện. Điều này là do, không có HTTPS, những kẻ xâm nhập có thể thấy lưu lượng truy cập giữa các tài nguyên của bạn và sử dụng thông tin này cho các mục đích xấu, chẳng hạn như đăng nhập vào ứng dụng của bạn. Ngoài ra, HTTPS là một yêu cầu đối với các tính năng tiên tiến hàng đầu như nhân viên dịch vụ (service workers).

Có thể cung cấp lưu lượng truy cập vào ứng dụng web của bạn qua Lớp cổng bảo mật (SSL) bằng cách nhập chứng chỉ SSL vào Ứng dụng web và liên kết chứng chỉ đó với một trong các tên miền tùy chỉnh của bạn. Bạn có thể nhập chứng chỉ SSL của riêng mình hoặc mua chứng chỉ SSL thông qua Chứng chỉ dịch vụ ứng dụng Azure (Azure App Service Certificates). Dịch vụ này giúp bạn dễ dàng mua và xác nhận các chứng chỉ. Sau khi nhập chứng chỉ, hãy ghép chứng chỉ với một trong các ràng buộc tên miền của ứng dụng web của bạn. Bạn có thể thực hiện tất cả điều này từ cài đặt TLS / SSL trong ứng dụng web.

Thông báo cho người dùng về các phiên bản mới

Doanh nghiệp của bạn sẽ được lợi khi làm cho người dùng biết về các bản phát hành sản xuất mới. Bằng cách mở rộng quy trình tích hợp liên tục / phân phối liên tục (CI / CD) trong các bản dựng Azure, bạn có thể sử dụng quy trình làm việc Ứng dụng Logic để quản lý giao tiếp trên mạng xã hội, chẳng hạn như gửi tweet hoặc xuất bản bài đăng có ghi chú phát hành.

Một đường dẫn Azure có thể là công cụ để kích hoạt ứng dụng logic thực thi sau khi một đường dẫn phát hành hoàn thành việc xuất bản các thay đổi ứng dụng mới. Ngoài ra, tính năng Sự kiện của ứng dụng web Dịch vụ ứng dụng có thể được định cấu hình để kích hoạt ứng dụng logic dựa trên các sự kiện phát ra từ Dịch vụ ứng dụng Azure, chẳng hạn như khi các vị trí triển khai được hoán đổi.

Đọc thêm

Tìm hiểu thêm về kiến trúc các giải pháp Azure trong các tài nguyên miễn phí sau:

Azure dành cho kiến trúc sư

Kiến trúc các giải pháp tuyệt vời trong Azure learning Path trên Microsoft Learn

Leave a Reply

Your email address will not be published. Required fields are marked *