Triển Khai Ứng Dụng Web Và Ứng Dụng Azure App Service
- 15-07-2024
- Toanngo92
- 0 Comments
Mục lục
Giới thiệu
Azure App Service là một nền tảng Azure giúp lưu trữ các ứng dụng Web, REST APIs và các backend di động. Một ứng dụng Web được lưu trữ trong Azure App Service được gọi là Web App. Azure App Services cung cấp một dịch vụ hoặc nền tảng lưu trữ dựa trên HTTP thông qua đó các nhà phát triển có thể xây dựng các ứng dụng di động hoặc Web.
Các nhà phát triển có thể phát triển các ứng dụng này bằng ngôn ngữ mong muốn, như C#, Java, PHP, Ruby, hoặc Python. Trong các môi trường dựa trên Windows hoặc Linux, các ứng dụng này thực thi và mở rộng nhanh chóng.
Lợi ích của Azure App Services
Azure App Services cung cấp ba lợi ích chính như sau:
Phát triển năng suất cao
- Azure App Services giúp xây dựng các ứng dụng Web, di động và API mạnh mẽ một cách nhanh chóng bằng cách sử dụng Java, .NET, Node.js, PHP, .NET Core, Ruby, Python, và Docker.
- Thêm Azure App Service vào các khung công tác hiện tại cung cấp các khả năng nâng cao cho năng suất liên tục. Các khả năng này bao gồm gỡ lỗi các trang web trực tiếp, liên tục tích hợp dịch vụ, và v.v.
- Các ứng dụng Web với Azure App Services có thể được xây dựng bằng cách sử dụng Microsoft Visual Studio IDE hàng đầu trong ngành.
- Ngoài ra, truy cập vào hệ sinh thái của các ứng dụng đã được xây dựng, các trình kết nối và API từ Azure Marketplace và sử dụng các bản cập nhật một cách hiệu quả với các khả năng tích hợp với Visual Studio Team Services, Docker Hub, Github và Bitbucket.
Quản lý hoàn toàn
- Azure App Services cho phép các nhà phát triển sử dụng một nền tảng được quản lý hoàn toàn để thực hiện các hoạt động như bảo trì cơ sở hạ tầng, cân bằng tải, và v.v. để thực thi và mở rộng các ứng dụng mà không có bất kỳ chi phí quản lý nào trên hệ điều hành cơ bản (Windows hoặc Linux).
- Thêm các chứng chỉ SSL, Đăng nhập một lần (SSO), tên miền tùy chỉnh, và tích hợp các dịch vụ định danh vào các ứng dụng dễ dàng hơn.
- Để khắc phục sự cố nhanh chóng, các dịch vụ giúp nhận được thông tin chi tiết về hiệu suất và sức khỏe ứng dụng.
Ứng dụng cấp doanh nghiệp
- Azure App Services mang lại sự tự tin cho các nhà phát triển bằng cách cung cấp mạng trung tâm dữ liệu toàn cầu, bảo mật và tuân thủ cấp doanh nghiệp để xây dựng và lưu trữ các ứng dụng.
- Kết nối giữa các ứng dụng Web hoặc di động và các hệ thống doanh nghiệp hoặc SaaS xảy ra trong vài phút.
- Tích hợp Azure Active Directory (AD) giúp bảo mật các ứng dụng. Hơn nữa, có thể triển khai chúng lên App Service trong các môi trường như đám mây riêng, đám mây công cộng, tại chỗ hoặc mạng ảo.
Các loại ứng dụng
Azure App Service cung cấp một nền tảng được quản lý cho các loại ứng dụng khác nhau.
Web Apps
Azure App Service cung cấp một nền tảng được quản lý hoàn toàn gọi là Web Apps. Các nhà phát triển có thể sử dụng các ứng dụng Web này để xây dựng, triển khai và mở rộng các ứng dụng Web cấp doanh nghiệp trong một thời gian ngắn. Các tính năng chính của ứng dụng Web như sau:
- Hỗ trợ .NET, Java, PHP, Node.js và Python
- Hỗ trợ cân bằng tải và có tích hợp tự động mở rộng
- Đảm bảo độ tin cậy cao với tự động vá lỗi và cung cấp quản lý tự động
- Cung cấp lợi ích của tối ưu hóa DevOps. Các nhà phát triển có thể tận dụng các khả năng của nó như triển khai liên tục từ Azure DevOps, Docker Hub, Github và các nguồn khác, quản lý gói, tên miền tùy chỉnh, môi trường dàn dựng và chứng chỉ SSL
- Hỗ trợ tích hợp liên tục, có các khe triển khai và cung cấp thử nghiệm trong sản xuất và các công việc Web
- Bao gồm danh sách rộng lớn các mẫu như WordPress, Umbraco, Joomla và Drupal
Các ứng dụng Web tương tự như các dịch vụ trang web Azure trước đây. Đây là lý do tại sao các trang web Azure được sử dụng trong Azure hiện nay được gọi là Web Apps như các trang web Azure. Chúng thực thi và cũng lưu trữ các công việc Web như trước đây tùy thuộc vào mức độ do khách hàng chọn với tần suất sao lưu tự động.
Việc thanh toán cho các tài nguyên tính toán Azure thường được thực hiện với App Service. Kế hoạch App Service xác định các tài nguyên bổ sung được thực hiện trên các ứng dụng Web.
Mobile Apps
Mobile Apps trong Azure App Service thêm khả năng backend tùy chỉnh cho các nền tảng di động như iOS, Windows, Android và các môi trường đa nền tảng như Cordova và Xamarin.
Mobile Apps
Những tính năng chính và cải tiến của Mobile Apps như sau:
- Hỗ trợ tự động mở rộng quy mô cho Mobile Apps (tùy thuộc vào tải trọng thực tế, Mobile Apps tự động mở rộng lên/xuống)
- Gửi thông báo đẩy với phân đoạn khách hàng
- Cung cấp trải nghiệm đồng bộ gốc, cho phép ứng dụng hoạt động ngoại tuyến
- Hỗ trợ tích hợp xã hội với Facebook, Twitter và Google
- Hỗ trợ quản lý lưu lượng (giúp mở rộng ứng dụng trên toàn thế giới)
- Hỗ trợ tích hợp/triển khai liên tục với Visual Studio Online, GitHub và Bitbucket
- Cung cấp kết nối lai và hỗ trợ mạng ảo cho các trung tâm dữ liệu tại chỗ để truy cập dữ liệu một cách an toàn
- Hỗ trợ triển khai theo giai đoạn và thử nghiệm sản xuất
- Đối với các tác vụ nền dài hạn, ứng dụng cung cấp hỗ trợ WebJobs Mobile Apps cung cấp một nền tảng mở rộng cao để phát triển ứng dụng di động cho các nhà tích hợp hệ thống và nhà phát triển doanh nghiệp.
Logic Apps
Logic Apps của Azure App Service cung cấp cho người dùng kỹ thuật hoặc không kỹ thuật khả năng tự động hóa quy trình thực thi trên các dịch vụ thương mại phổ biến, người tiêu dùng và các API tùy chỉnh tại chỗ. Các tính năng chính của Logic Apps như sau:
- Tạo các quy trình kinh doanh và quy trình làm việc một cách trực quan
- Giúp cung cấp các khả năng tích hợp trong Web, Mobile và API Apps
- Hỗ trợ tích hợp với các ứng dụng SaaS và doanh nghiệp
- Hỗ trợ tự động hóa EAI/B2B và quy trình kinh doanh
- Giúp kết nối với dữ liệu tại chỗ
API Apps
API Apps trong Azure App Service có thể được sử dụng để xây dựng, tiêu thụ và phân phối các API trong đám mây và mạng tại chỗ. API Apps cung cấp một nền tảng và hệ sinh thái phong phú để phát triển các API bằng bất kỳ ngôn ngữ nào. Các tính năng chính của API Apps:
- Hỗ trợ tích hợp với các ứng dụng SaaS và doanh nghiệp
- Giúp tự động hóa các phiên bản và triển khai API Apps
- Bảo mật API với Đăng nhập một lần, Active Directory và OAuth
- Hỗ trợ chia sẻ nội bộ API với thư viện tổ chức
API Apps giúp nâng cao trải nghiệm tạo, triển khai, xuất bản, tiêu thụ, xử lý và kiếm tiền từ RESTful Web APIs. API hiện tại có thể sử dụng nền tảng API Apps mà không cần thay đổi và kết nối với Azure Active Directory. Kết nối với các nền tảng SaaS dễ dàng với API Apps.
Azure Functions
Một thành phần kích hoạt sự kiện có thể lưu trữ mã logic và xử lý mà không cần máy chủ được gọi là điện toán serverless (không máy chủ). Các nhà phát triển có thể sử dụng Azure Functions, được xây dựng trên cơ sở hạ tầng của App Service, để chạy các script hoặc đoạn mã để phản hồi lại các sự kiện khác nhau, chẳng hạn như các sự kiện do các dịch vụ Azure hoặc dịch vụ bên thứ ba phát sinh.
Azure Function hỗ trợ nhiều ngôn ngữ như C#, F#, PHP, Python, v.v. Các nhà phát triển cũng có thể bảo mật Azure Functions bằng cách sử dụng OAuth hoặc các nhà cung cấp định danh khác như Azure AD.
Giá của Azure App Service
Giá của Azure App Services thay đổi theo sự lựa chọn các tiêu chí khác nhau như Hệ điều hành, Vùng, Loại Môi trường, Tải công việc, v.v. Các danh mục cho các kế hoạch bao gồm Basic, Standard, Premium, v.v. Ví dụ, một số giá tiêu chuẩn cho các máy Windows theo kế hoạch trả phí theo mức sử dụng được hiển thị trong Hình bên dưới.
Azure App Service Pricing
Giá của Azure App Services thay đổi theo sự lựa chọn các tiêu chí khác nhau như hệ điều hành, vùng, loại môi trường, tải công việc, v.v. Các danh mục cho các kế hoạch bao gồm Basic, Standard, Premium, v.v. Ví dụ, một số giá tiêu chuẩn cho các máy Windows theo kế hoạch trả phí theo mức sử dụng được hiển thị trong Hình 15.1.
Bạn có thể kiểm tra công cụ tính giá của Azure có sẵn trên trang web chính thức của Azure tại: https://azure.microsoft.com/en-in/pricing/calculator/
Options for Creating Web Apps
Azure Marketplace
Azure Marketplace là một cửa hàng trực tuyến với hàng ngàn ứng dụng và dịch vụ IT từ các công ty công nghệ hàng đầu.
Visual Studio Code
Visual Studio Code kết hợp sự đơn giản của trình biên tập mã nguồn với các công cụ phát triển mạnh mẽ như tự động hoàn thành mã và gỡ lỗi thông minh.
Visual Studio IDE
Môi trường Phát triển Tích hợp (IDE) là một chương trình hỗ trợ các đặc điểm khác nhau của phát triển phần mềm. Visual Studio IDE là một bệ phóng sáng tạo mà các nhà phát triển có thể sử dụng để chỉnh sửa, gỡ lỗi và xây dựng mã phát triển và xuất bản ứng dụng của họ. Ngoài trình biên tập và gỡ lỗi tiêu chuẩn được cung cấp bởi hầu hết các IDE, Visual Studio còn bao gồm các trình biên dịch, công cụ hoàn thành mã, thiết kế đồ họa và nhiều tính năng khác để cải thiện quy trình phát triển phần mềm.
Create Apps
Creating Web App, API App, or Logic Apps
Dưới đây là các bước để tạo Web App, API App, và Logic App tương ứng:
Bước 1: Đăng nhập vào Azure Portal với thông tin đăng nhập của bạn, sẽ hiển thị Bảng điều khiển hoặc trang Chào mừng.
Bước 2: Trong menu chính bên trái, nhấp vào +Create a resource sẽ tải trang tạo tài nguyên. Menu Web liệt kê ba dịch vụ App trong menu con như được đánh dấu trong Hình bên dưới.
Bước 3: Các nhà phát triển có thể nhấp vào dịch vụ mà họ lựa chọn sau khi quyết định tạo Web App, Logic App, hoặc API App.
Bước 4: Thực hiện theo quy trình từng bước trong Azure portal, điều này rất dễ hiểu. Hình bên dưới mô tả các bước tạo Web App, API App, và Logic Apps.
Tạo Ứng Dụng Di Động
Làm theo các bước sau để tạo tài nguyên ứng dụng di động:
Bước 1: Sau khi đăng nhập thành công vào Azure portal, ở phía bên trái, nhấp vào +Create a resource, sẽ tải trang tạo tài nguyên như được hiển thị trong Hình bên dưới. Dưới menu Mobile, dịch vụ Mobile App được liệt kê trong menu con, như được hiển thị trong Hình.
Bước 2: Thực hiện theo quy trình từng bước trong Azure portal, điều này rất dễ hiểu. Hình tiếp theo mô tả quá trình tạo dịch vụ ứng dụng di động.
Ghi Log
Trong Azure, có một danh sách toàn diện các tùy chọn ghi log và kiểm tra bảo mật có thể được cấu hình. Những tùy chọn này giúp xác định các lỗ hổng trong cơ chế và chính sách bảo mật. Log cũng cung cấp dữ liệu để giữ cho các ứng dụng hoạt động liên tục. Do đó, có thể khắc phục sự cố đã xảy ra trước đó và đồng thời, ngăn chặn những sự cố mới. Điều này giúp cải thiện hiệu suất và khả năng bảo trì của ứng dụng. Ngoài ra, các hành động có thể được tự động hóa để không cần can thiệp thủ công.
Các loại log trong Azure bao gồm:
- Control/Management Logs
- Cung cấp chi tiết về các hoạt động của Azure Resource Manager như CREATE, DELETE, và UPDATE.
- Data Plane Logs
- Cung cấp chi tiết về các sự kiện được trình bày như một phần của việc sử dụng tài nguyên Azure. Ví dụ: log hệ thống sự kiện Windows, log bảo mật, log chẩn đoán được cấu hình qua Azure Monitor, và log ứng dụng trong VM.
- Processed Events
- Cung cấp chi tiết về các sự kiện đã được phân tích hoặc các cảnh báo đã được xử lý thay cho người dùng. Ví dụ: cảnh báo của Azure Security Center. Trong đó, Azure Security Center hoàn thành việc xử lý và phân tích đăng ký và cung cấp các cảnh báo bảo mật ngắn gọn.
Triển Khai Ứng Dụng Web Azure
Sau khi xây dựng một ứng dụng web, cần triển khai ứng dụng đó trong môi trường sản xuất nơi người dùng có thể thực sự sử dụng nó. Các nhà phát triển có thể chọn triển khai ứng dụng hoặc dịch vụ của họ vào môi trường riêng với các máy chủ của họ hoặc họ có thể chọn Azure. Bên cạnh việc chọn nơi chạy ứng dụng, các nhà phát triển còn phải đối mặt với các thách thức khác trong các ứng dụng phức tạp. Những thách thức này có thể liên quan đến việc cấu hình cơ sở dữ liệu, assemblies, cài đặt IIS, chứng chỉ và các chi tiết cấu hình khác.
Để vượt qua những thách thức này, nên sử dụng Microsoft Azure để triển khai.
Nguồn Triển Khai (GitHub, Docker, Bitbucket, OneDrive)
Mã ứng dụng được lưu trữ trong một nguồn triển khai. Nguồn triển khai cho các ứng dụng sản xuất thường là một kho lưu trữ được quản lý bởi phần mềm kiểm soát phiên bản như GitHub, Docker, Bitbucket hoặc OneDrive. Nguồn triển khai cho các mục đích phát triển và thử nghiệm có thể được lưu trữ trên máy cục bộ. Các thư mục đám mây như OneDrive và Dropbox giúp dễ dàng bắt đầu với App Service, nhưng chúng vẫn chưa thường được sử dụng cho các ứng dụng sản xuất cấp doanh nghiệp.
Tạo và Triển Khai Ứng Dụng Web ASP.NET Core
Azure Web Apps cung cấp dịch vụ lưu trữ web có khả năng mở rộng cao, tự vá lỗi/cập nhật. Các bước sau đây cho thấy cách triển khai một ứng dụng web ASP.NET vào Azure Web Apps. Khi nhà phát triển thành công trong quá trình triển khai, họ sẽ có một nhóm tài nguyên bao gồm một App Service plan và một Azure Web app với ứng dụng web đã được triển khai.
Bước 1: Tạo một ứng dụng web ASP.NET Core bằng cách sử dụng quy trình thông thường. Tham khảo Hình bên dưới để xem một ví dụ.
Bước 2: Khi tạo một ứng dụng web, đảm bảo rằng xác thực được đặt thành No Authentication và tất cả các tùy chọn khác đều được bật, như được hiển thị trong Hình tiếp theo và nhấp vào Create.
Bước 3: Thêm mã mong muốn vào ứng dụng. Xây dựng ứng dụng.
Bước 4: Chọn Debug -> Start Without Debugging từ menu để chạy ứng dụng web cục bộ.
Bước 5: Khởi chạy trình hướng dẫn publish; trong Solution Explorer, nhấp chuột phải vào tên dự án và chọn Publish. Trình hướng dẫn publish sẽ tự động khởi chạy. Bây giờ, chọn App Service -> Publish, như được hiển thị trong Hình bên dưới. Điều này sẽ mở hộp thoại Create App Service, như được hiển thị trong Hình tiếp theo.
Bước 6: Nhấp vào Add an account và đăng nhập bằng tài khoản Azure hợp lệ.
Bước 7: Tạo một nhóm tài nguyên và một kế hoạch lưu trữ App Service, như được hiển thị trong Hình bên dưới.
Bước 8: Nhấp vào Create để xuất bản ứng dụng Web.
Mở Rộng Quy Mô
Mở rộng quy mô (Scale-out) là quá trình tạo nhiều bản sao của Website của nhà phát triển và thêm bộ cân bằng tải để phân phối tải trên các Website của họ. Khi mở rộng quy mô Website trên Azure Websites, nhà phát triển không cần phải cấu hình riêng bộ cân bằng tải do nền tảng cung cấp.
Mở rộng quy mô (Scale-out) và nâng cấp quy mô (Scale-up) là hai quy trình chính để mở rộng quy mô.
Mở Rộng Quy Mô (Scale-Out)
Về cơ bản, đây là việc thêm nhiều phiên bản của ứng dụng chạy trên ứng dụng đó, tức là, tùy thuộc vào mức giá, tăng số lượng phiên bản VM lên đến 30. Tuy nhiên, nhà phát triển có thể mở rộng quy mô lên đến 100 phiên bản ở mức cao nhất, tùy thuộc vào yêu cầu của họ. Nhà phát triển cũng có thể thực hiện các tính toán mở rộng quy mô theo cách thủ công hoặc đặt nó tự động mở rộng theo một số quy tắc.
Các nhà phát triển có thể thực hiện mở rộng quy mô từ cổng Azure, như được hiển thị trong Hình bên dưới.
Nhà phát triển có thể chọn Scaling từ thanh điều hướng bên trái, sau đó chọn Manual Scaling và đặt số lượng phiên bản theo yêu cầu hoặc có thể chọn Auto Scaling theo một số quy tắc. Xem Hình bên dưới.
Nhà phát triển nên tự động mở rộng tên tham số với tên nhóm tài nguyên. Có một số tùy chọn khác, chẳng hạn như chế độ mở rộng, quy tắc, giới hạn phiên bản và lịch biểu. Do đó, quá trình Mở rộng quy mô (tức là mở rộng quy mô trong Azure App Services) có thể đạt được.
Mở Rộng Quy Mô (Scale-up)
Tùy chọn mở rộng quy mô này cho phép nhà phát triển thay đổi hiệu suất của phiên bản của họ về CPU, bộ nhớ và dung lượng đĩa, ảnh hưởng trực tiếp đến chi phí. Việc mở rộng này được thực hiện bằng cách thay đổi mức giá của kế hoạch Dịch vụ Ứng dụng. Ngoài ra, tùy thuộc vào mức giá, có một số tính năng hữu ích có sẵn trong Azure App Service, chẳng hạn như tên miền tùy chỉnh và chứng chỉ, khe trung gian, tự động mở rộng, phiên bản, sao lưu hàng ngày và nhiều hơn nữa.
Giới Hạn và Hạn Ngạch
Azure sử dụng các giới hạn và hạn ngạch để tránh các tình huống chi tiêu ngân sách gian lận và tuân thủ các giới hạn về khả năng của Azure.
Một số dịch vụ có giới hạn có thể cấu hình:
- Bảng bên dưới sử dụng tiêu đề Limit nếu dịch vụ không có giới hạn tùy chỉnh. Trong trường hợp này, giới hạn mặc định và tối đa là như nhau.
- Nếu giới hạn có thể điều chỉnh, bảng bao gồm các tiêu đề Default Limit và Maximum Limit, nơi giới hạn có thể tăng vượt quá giới hạn mặc định, nhưng không vượt quá giới hạn tối đa.
Tài Nguyên | Giới Hạn |
Tài nguyên mỗi nhóm tài nguyên | Các tài nguyên không bị giới hạn bởi nhóm tài nguyên. Thay vào đó, chúng bị giới hạn bởi loại tài nguyên trong một nhóm tài nguyên. |
Tài nguyên mỗi loại tài nguyên trong nhóm tài nguyên | 800 – Một số loại tài nguyên có thể vượt quá giới hạn 800. |
Triển khai mỗi nhóm tài nguyên trong lịch sử triển khai | 800 |
Tài nguyên mỗi triển khai | 800 |
Khóa quản lý mỗi tài nguyên duy nhất | 20 |
Số lượng thẻ mỗi tài nguyên hoặc nhóm tài nguyên | 50 |
Chiều dài khóa thẻ | 512 |
Chiều dài giá trị thẻ | 256 |
Hạn ngạch xác định giới hạn về tài nguyên mà người dùng đăng ký có thể cung cấp hoặc sử dụng. Hạn ngạch tồn tại cho các Azure Static Web Apps như được hiển thị trong Hình bên dưới (có thể thay đổi tùy thuộc vào Microsoft).
Các Bản Đang Khác Nhau – DEV, UAT, và PROD
Kiểm thử đảm bảo rằng ứng dụng được gửi đến người dùng cuối là chất lượng cao. DEV, UAT, và PROD là các giai đoạn khác nhau của quá trình kiểm thử:
- DEV: Môi trường phát triển, nơi các nhà phát triển phần mềm thực hiện các thử nghiệm.
- UAT: Kiểm thử chấp nhận của người dùng, được thực hiện bởi khách hàng và một nhóm nhỏ các người kiểm thử đăng ký. Ở giai đoạn này, có thể nhận được nhiều phản hồi về các tính năng và trải nghiệm người dùng.
- PROD: Môi trường sản xuất, nơi ứng dụng được cung cấp cho người dùng cuối.
Triển Khai Dịch Vụ Dữ Liệu WCF
Trong giai đoạn phát triển, ứng dụng được cung cấp cho công chúng. Một nhóm người dùng khám phá các tính năng mới và liệt kê các vấn đề và lỗi không mong muốn mà sau đó được các chuyên gia sửa chữa.
Khung .NET cung cấp WCF Data Services, trước đây được biết đến với tên ADO.NET Data Services, mà các nhà phát triển có thể sử dụng để tạo dịch vụ sử dụng giao thức Open Data (OData). OData là giao thức dựa trên REST cho phép các nhà phát triển thực hiện các thao tác trên tài nguyên, chẳng hạn như Create, Read, Update, và Delete (CRUD) thông qua Uniform Resource Locators (URLs). Sử dụng OData, các nhà phát triển có thể tiết lộ dữ liệu như các tài nguyên có thể được địa chỉ bằng URIs. Điều này làm cho dữ liệu truy cập được và cho phép thay đổi sử dụng cú pháp REST. OData sử dụng Mô hình Dữ liệu Thực thể của Framework Thực thể để tiết lộ tài nguyên như các thực thể có liên quan. Các nhà phát triển có thể thực hiện các hoạt động CRUD trên các thực thể bằng cách sử dụng các phương thức HTTP chuẩn như GET, PUT, POST, và DELETE. Kết quả được trả về bởi dịch vụ dữ liệu WCF có thể là các định dạng Atom dựa trên XML và JSON.
Các bước sau mô tả cách tạo và triển khai dịch vụ dữ liệu WCF:
Bước 1: Đi tới File > New Project và chọn ASP.NET Web Application để tạo một ứng dụng Web ASP.NET có tên WCFDataServiceDemo và nhấn Create như được hiển thị trong Hình bên dưới.
Bước 2: Chọn Empty project từ hộp thoại như trong Hình tiếp theo và nhấn Create.
Bước 3: Trong Solution Explorer, chuột phải vào dự án ASP.NET, sau đó chọn Add > New Item.
Bước 4: Trong hộp thoại Add New Item, chọn Web > WCF Data Service 5.6.4 và đặt tên là ProductsWcfDataService.svc như trong Hình bên dưới.
Mặc định, mẫu dịch vụ dữ liệu WCF sẽ không hiển thị trong hộp thoại Thêm Mục Mới của Visual Studio 2022. Các nhà phát triển phải thêm nó bằng cách tải xuống và cài đặt tiện ích mở rộng.
Bước 5: Chuột phải vào dự án và chọn Add > New Item.
Bước 6: Trong hộp thoại Add New Item, chọn ADO.NET Entity Data Model và nhấn Add.
Bước 7: Chọn EF Designer from database và nhấn Next.
Bước 8: Nhấn New Connection. Điều này mở hộp thoại cài đặt kết nối.
Bước 9: Chỉ định tên máy chủ và nguồn dữ liệu hợp lệ và nhấn Test Connection, như trong Hình bên dưới. Một thông báo hiện lên cho biết kết nối thử nghiệm thành công. Nhấn OK để lấy tất cả chi tiết từ máy chủ cơ sở dữ liệu.
Bước 10: Chọn các ô đánh dấu dbo và Tables và nhấn Finish. Tham khảo Hình bên dưới.
Bước 11: Chỉnh sửa tệp ProductsWcfDataService.svc.cs. Thay đổi <TODO: put your data source class name here>
thành tên của mô hình thực thể. Tham khảo Hình tiếp theo.
Bước 12: Bây giờ, khởi động định dạng XML bằng cách sử dụng menu ngữ cảnh của ứng dụng trong Solution Explorer. Tham khảo Hình tiếp theo.
Bước 13: Trong Solution Explorer, chuột phải vào ứng dụng Web WCFDataServiceDemo và chọn Add → Service Reference, như được hiển thị trong Hình bên dưới. Hộp thoại Add Service Reference được hiển thị.
Bước 14: Nhập địa chỉ dịch vụ dữ liệu vào trường Address và nhấn OK như trong Hình 15.23. Địa chỉ có thể được truy cập từ trình duyệt như được hiển thị ở Bước 12.
Bước 15: Trong Solution Explorer, chuột phải vào dự án Web và chọn Set as StartUp Project, như được hiển thị trong Hình bên dưới.
Bước 16: Bây giờ, gọi ứng dụng bằng tên dịch vụ WCF. Kết quả được hiển thị như trong Hình bên dưới.
Bước 17: Tiếp tục, chuột phải vào dự án WCFDataServiceDemo trong Solution Explorer và chọn Publish. Hộp thoại Publish Azure Application sẽ hiển thị, Tham khảo Hình tiếp theo.
Bước 18: Nhấn Next. Hộp thoại Create Cloud Service and Storage Account sẽ hiển thị.
Bước 19: Nhập tên duy nhất cho dịch vụ lưu trữ vào trường Tên. Tham khảo Hình bên dưới. Nếu cần, chọn một khu vực phù hợp từ danh sách thả xuống Khu vực hoặc Nhóm liên kết.
Bước 20: Nhấn nút Create. Điều này mở hộp thoại Cấu hình Desktop từ xa để thêm thông tin đăng nhập như tên người dùng và mật khẩu để kích hoạt đăng nhập từ xa cho máy ảo. Tham khảo Hình tiếp theo.
Bước 21: Chỉ định các thông tin đăng nhập và nhấn OK.
Bước 22: Nhấn Publish để triển khai. Ứng dụng sẽ được triển khai.
Azure Stack Edge, HCI, và Hub
Hãy khám phá về Azure Stack Edge, HCI và Hub.
Azure Stack Edge Azure Stack Edge là cách hiệu quả nhất để chuyển dữ liệu lên đám mây. Nó hoạt động như cổng gateway lưu trữ mạng, chuyển dữ liệu lên Azure với tốc độ cao. Các nhà phát triển có thể quản lý Edge trực tiếp từ cổng Azure. Mô hình có thể được xây dựng và huấn luyện trong Azure, chạy trên Azure Stack Edge và các tập dữ liệu có thể được trả về Azure. Nó tích hợp với Đơn vị xử lý đồ họa (GPU) và Mảng lập trình được Cấu hình (FPGA) để tăng tốc quá trình xây dựng và đào tạo mô hình.
Azure Stack Hub Azure Stack Hub là một tiện ích mở rộng Azure cho phép bạn chạy ứng dụng trên nơi và cung cấp các dịch vụ Azure trong trung tâm dữ liệu của bạn. Nó được xây dựng trên phần cứng tiêu chuẩn ngành và được quản lý bằng các công cụ giống như các công cụ mà các nhà phát triển sử dụng để quản lý các đăng ký Azure. Kiến trúc Azure Stack Hub giúp cung cấp các dịch vụ Azure tại các vị trí biên của các địa điểm xa ngay cả khi không kết nối với Internet.
Azure Stack HCI Azure Stack HCI là một giải pháp cụm hạ tầng hội tụ siêu hợp (HCI) có thể được sử dụng để lưu trữ các tải trọng ảo hóa Windows và Linux. Nó cũng cho phép lưu trữ trong môi trường lai, là sự kết hợp hoàn hảo giữa cơ sở hạ tầng vật lý và các dịch vụ đám mây Azure. Các dịch vụ lai Azure bổ sung cho cụm bằng cách cung cấp sao lưu VM, giám sát dựa trên đám mây, khôi phục dữ liệu và quản lý tập trung tất cả các triển khai Azure Stack HCI trong cổng Azure. Cụm này có thể được quản lý với các công cụ hiện có, bao gồm Trung tâm Quản trị Windows và PowerShell.
Quy định bảo vệ dữ liệu
Các quy định bảo vệ dữ liệu là các luật hoặc khung pháp lý được thiết kế để bảo vệ sự riêng tư, bí mật và tính toàn vẹn của dữ liệu cá nhân. Những quy định này nhằm mục đích điều khiển cách các công ty thu thập, xử lý, lưu trữ và chia sẻ thông tin cá nhân. Điều này đảm bảo rằng cá nhân có quyền kiểm soát dữ liệu của họ và dữ liệu được xử lý một cách thích hợp.
Nghị định bảo vệ dữ liệu chung (GDPR)
GDPR: Áp dụng cho việc xử lý dữ liệu cá nhân về các cá nhân trong EU. Yêu cầu sự đồng ý rõ ràng để xử lý dữ liệu cá nhân. Cho phép người dùng kiểm soát dữ liệu của họ (di động, xóa, sửa đổi và cân bằng). Yêu cầu giảm thiểu dữ liệu và bảo mật thông qua các kỹ thuật như mã hóa. Yêu cầu thông báo với các bên có liên quan và cơ quan giám sát về các vi phạm dữ liệu. Có thể yêu cầu một số tổ chức chỉ định một Quản lý Bảo vệ Dữ liệu.
Đạo luật Bảo hiểm Sức khỏe Di động và Cá nhân (HIPAA)
HIPAA: Kiểm soát cách thông tin sức khỏe được bảo vệ (PHI) được sử dụng và tiết lộ. Thiết lập hướng dẫn cho bảo mật, quyền riêng tư và thông báo vi phạm PHI. Yêu cầu các thực thể bảo vệ sử dụng biện pháp bảo mật để bảo vệ dữ liệu PHI điện tử. Yêu cầu thông báo với các bên liên quan và cơ quan về các vi phạm liên quan đến PHI không được bảo vệ. Được thực hiện bởi Văn phòng Quyền Dân sự (OCR), và vi phạm được xử lý bằng cả dân sự và hình sự.
Tương tự như các quy định bảo vệ dữ liệu khác (ví dụ như CCPA, LGPD, v.v.):
- Quản lý việc xử lý dữ liệu cá nhân với phạm vi lãnh thổ cụ thể.
- Cấp quyền cho cá nhân quyền hạn trên dữ liệu của họ (truy cập, xóa và từ chối).
- Yêu cầu tổ chức triển khai các biện pháp bảo mật để bảo vệ dữ liệu cá nhân.
- Yêu cầu thông báo về các vi phạm dữ liệu với cơ quan giám sát và cá nhân.
Môi trường Dịch vụ Ứng dụng Azure (ASE)
Azure App Service Environment (ASE) cung cấp môi trường dành riêng và cấu hình hoàn toàn cho việc lưu trữ và quản lý các ứng dụng Web. Đây là một dịch vụ cao cấp trong Azure App Service, phù hợp cho các doanh nghiệp đang cần hiệu suất, khả năng mở rộng và bảo mật cao hơn cho các ứng dụng của họ.
Các ý tưởng chính về ASE và các đặc điểm nổi bật của nó được giải thích như sau:
Môi trường Cô lập
- Các ứng dụng Web có thể được lưu trữ trong một môi trường hoàn toàn cô lập và được phân chia từ ASE. Điều này được thực hiện thông qua việc sử dụng tài nguyên mạng ảo Azure (VNet) riêng biệt. Doanh nghiệp có thể hoàn toàn kiểm soát lưu lượng mạng và truy cập.
Bảo mật Nâng cao
- ASE cung cấp các tính năng bảo mật nâng cao như cô lập mạng, mạng riêng, tích hợp với ExpressRoute và Azure Virtual Network (VNet) để kết nối mạng an toàn. Điều này được thực hiện bằng cách hoạt động trong một môi trường VNet riêng biệt.
- Để bảo vệ môi trường ASE của họ hơn nữa, các tổ chức có thể cài đặt các cơ chế bảo mật bổ sung như Azure Firewall, Application Gateway và Network Security Groups (NSG).
Khả năng Cao và Mở rộng
- ASE khuyến khích sự sẵn có cao và khả năng mở rộng bằng cách cho phép triển khai nhiều phiên bản trên nhiều Vùng Khả dụng hoặc khu vực.
- Nó bao gồm khả năng tự động mở rộng tài nguyên dựa trên nhu cầu ứng dụng, đảm bảo hiệu suất và độ tin cậy tối ưu.
Tùy chỉnh và Kiểm soát
- ASE cung cấp sự kiểm soát và linh hoạt hoàn toàn đối với cơ sở hạ tầng cơ bản, bao gồm khả năng chọn kích thước VM, quản lý mạng và tương tác với các dịch vụ Azure khác.
- Các tổ chức có thể sử dụng môi trường ASE để cài đặt phần mềm tùy chỉnh, thành phần bên thứ ba và các phụ thuộc khác, mang lại cho họ sự linh hoạt và kiểm soát hơn đối với triển khai ứng dụng.
Tài nguyên Máy tính và Lưu trữ Dành riêng
- ASE cung cấp các tài nguyên tính toán và lưu trữ dành riêng để đảm bảo hiệu suất và độ tin cậy nhất quán cho các ứng dụng được lưu trữ.
- Nó tích hợp với Azure SQL Database, Azure Storage và các dịch vụ Azure khác để lưu trữ và quản lý dữ liệu.
Tuân thủ và Yêu cầu Quy định
- ASE cho phép doanh nghiệp đáp ứng các tiêu chuẩn tuân thủ và quy định bằng cách cung cấp một môi trường cô lập và kiểm soát cho các công việc và dữ liệu nhạy cảm.
- Nó hỗ trợ các chứng nhận như ISO, SOC, HIPAA và PCI DSS, làm cho nó lý tưởng cho các ngành công nghiệp có các tiêu chuẩn tuân thủ nghiêm ngặt.
Bài tập
Dưới đây là một bài tập khác với yêu cầu và cấu trúc khác:
## Yêu cầu:
1. Sử dụng ASP.NET Core để tạo API.
2. Kết nối đến cơ sở dữ liệu SQL Server.
3. Sử dụng ReactJS cho giao diện người dùng.
4. Mã phải được viết rõ ràng, dễ hiểu và có chú thích đầy đủ.
### Câu hỏi 1: Quản lý danh sách sách và mượn trả sách
#### Data Model:
Tạo file `Book.cs` với các thuộc tính sau:
- `Id` (int, primary key)
- `Title` (string, required, min length 3, max length 255)
- `Author` (string, required, max length 100)
- `PublishedDate` (datetime)
- `Genre` (string, max length 50)
- `AvailableCopies` (int, required)
Tạo file `Borrowing.cs` với các thuộc tính sau:
- `Id` (int, primary key)
- `BookId` (int, foreign key)
- `BorrowerName` (string, required, max length 100)
- `BorrowDate` (datetime)
- `ReturnDate` (datetime)
#### API
Tạo API với các endpoint sau:
- GET `/api/books`: Lấy danh sách sách.
- GET `/api/books/{id}`: Lấy thông tin chi tiết của sách theo ID.
- POST `/api/books`: Thêm sách mới.
- PUT `/api/books/{id}`: Cập nhật thông tin của sách theo ID.
- DELETE `/api/books/{id}`: Xóa sách theo ID.
- GET `/api/borrowings`: Lấy danh sách mượn trả sách.
- GET `/api/borrowings/{id}`: Lấy thông tin chi tiết của mượn trả sách theo ID.
- POST `/api/borrowings`: Thêm thông tin mượn sách mới.
- PUT `/api/borrowings/{id}`: Cập nhật thông tin mượn trả sách theo ID.
- DELETE `/api/borrowings/{id}`: Xóa thông tin mượn trả sách theo ID.
#### Giao diện ReactJS
Tạo giao diện đơn giản bằng ReactJS để:
- Hiển thị danh sách sách.
- Thêm sách mới.
- Hiển thị danh sách mượn trả sách.
- Thêm thông tin mượn sách mới.
### Câu hỏi 2: Phân trang, Sắp xếp và Tìm kiếm
#### Phân trang
Sử dụng thư viện Swashbuckle.AspNetCore để thêm swagger vào API. Cho phép phân trang danh sách sách và mượn trả sách bằng swagger.
#### Sắp xếp
Cho phép sắp xếp danh sách sách theo tiêu đề, tác giả, hoặc ngày xuất bản. Cho phép sắp xếp danh sách mượn trả sách theo tên người mượn hoặc ngày mượn.
#### Tìm kiếm
Cho phép tìm kiếm sách theo tiêu đề, tác giả, hoặc thể loại. Cho phép tìm kiếm mượn trả sách theo tên người mượn hoặc tên sách.