Categories
Software Architecture

Ứng Dụng Gốc Đám Mây 6: Cách Xây Dựng Các Ứng Dụng Gốc Đám Mây Trên Azure

Cách xây dựng các ứng dụng gốc đám mây trên Azure

Tùy thuộc vào yêu cầu của phần mềm bạn đang xây dựng, bạn có thể phải thực hiện các cách tiếp cận kiến trúc khác nhau để phù hợp với nhu cầu kinh doanh. Microsoft Azure cung cấp các công cụ và dịch vụ có thể đáp ứng mọi tình huống.

Một số ví dụ về các tình huống có thể xảy ra là:

  • Các ứng dụng quan trọng trong kinh doanh
  • Các ứng dụng ưu tiên API (API-first)
  • Xử lý dữ liệu thời gian thực
  • Các ứng dụng được phân phối theo địa lý

Chúng ta hãy xem xét kỹ hơn từng kịch bản và xem nó yêu cầu những gì.

Các ứng dụng quan trọng trong kinh doanh

Có một số điều bạn cần cân nhắc khi xây dựng các ứng dụng quan trọng trong kinh doanh hiện đại:

  • Mở rộng quy mô để xử lý lưu lượng truy cập tăng và bùng nổ
  • Độ trễ thấp để người dùng có trải nghiệm giống nhau ở mọi nơi trên thế giới
  • Tính sẵn sàng cao để đạt được thời gian hoạt động tối đa

Một ví dụ thiết kế cho các ứng dụng quan trọng trong kinh doanh hiện đại được thể hiện trong Hình 3.1:

An example of modern business-critical application design in Azure

Hình 3.1: Thiết kế ứng dụng quan trọng trong kinh doanh trong Azure

Bạn có thể mở rộng quy mô đàn hồi, tức thì để xử lý các đợt bùng nổ lưu lượng và bán hàng mà không cần quản lý cơ sở hạ tầng bằng cách sử dụng một số dịch vụ — ví dụ: bạn có thể sử dụng AKS. Có thể đạt được khả năng truy cập dữ liệu có độ trễ thấp từ mọi nơi trên thế giới để có trải nghiệm người dùng mạnh mẽ, nhanh chóng với Azure Cosmos DB. Cuối cùng, để có tính khả dụng cao, bạn có thể đặt dịch vụ trên nhiều trung tâm dữ liệu và đảm bảo rằng một ứng dụng hoàn toàn không có thời gian chết.

Các ứng dụng ưu tiên API

Với cách tiếp cận dựa trên API, thách thức lớn nhất là làm thế nào để bảo mật, quản lý và lập danh mục các API. Bạn có thể tạo cổng API (API gateway) và cổng nhà phát triển (developer portal) chỉ trong vài phút và dễ dàng xuất bản các API để sử dụng nội bộ hoặc bên ngoài.

An example of API-first design in Azure

Hình 3.2: Thiết kế API đầu tiên trong Azure

Cách tiếp cận này cho phép bạn dễ dàng xử lý bất kỳ thay đổi lược đồ dữ liệu nào và nhanh chóng thích ứng với những thay đổi nhanh chóng. Bạn có thể kết nối với các dịch vụ back-end đang chạy ở bất kỳ đâu và quản lý, bảo mật và tối ưu hóa tất cả các API ở một nơi cho dù chúng chạy ở đâu.

Xử lý dữ liệu thời gian thực

Xử lý dữ liệu thời gian thực có thể là một thách thức khi nhiều nguồn dữ liệu đang hoạt động. Azure cung cấp các công cụ có thể giúp xử lý và nhập dữ liệu theo thời gian thực, có khả năng phát hiện và thông báo trong vòng vài giây.

An example of real-time data processing design in Azure

Hình 3.3: Thiết kế xử lý dữ liệu thời gian thực trong Azure

Bằng cách này, mọi thay đổi dữ liệu có thể được xử lý ngay sau khi thay đổi xảy ra. Với cổng API an toàn, bạn có thể kết nối với các dịch vụ back-end đang chạy ở bất kỳ đâu. Cung cấp khả năng tính toán co giãn mà không cần quản lý cơ sở hạ tầng, cho phép bạn tập trung vào dữ liệu và tiết kiệm chi phí trong quá trình này.

Các ứng dụng được phân phối theo địa lý

Phương pháp phân bổ theo địa lý có hai mục tiêu chính:

  • Cung cấp trải nghiệm liền mạch cho người dùng ở mọi nơi trên thế giới.
  • Cung cấp tính khả dụng cao và thời gian hoạt động tối đa.

Trong Hình 3.4, bạn có thể thấy một kiến trúc khả thi cho một ứng dụng phân tán theo địa lý. AKS được đặt ở một số khu vực khác nhau và lưu lượng mạng được kiểm soát bằng Trình quản lý lưu lượng (Traffic Manager) để hướng người dùng đến phiên bản AKS có sẵn gần nhất để hoàn thành yêu cầu.

An example of geo-distributed application design in Azure

Hình 3.4: Thiết kế ứng dụng phân tán theo địa lý trong Azure

Cơ sở hạ tầng Microsoft Azure bao gồm hơn 160 trung tâm dữ liệu ở hơn 60 khu vực khác nhau. Với các dịch vụ như Azure Front Door hoặc Traffic Manager, bạn có thể tạo các ứng dụng phân tán trên toàn cầu. Bằng cách này, bạn có thể đảm bảo rằng các ứng dụng đang hoạt động ngay cả khi có sự cố ở một trong các trung tâm dữ liệu. Vì ứng dụng được lưu trữ ở nhiều vị trí, người dùng được chuyển đến phiên bản gần nhất, cung cấp độ trễ và trì hoãn tối thiểu.

Xây dựng các ứng dụng gốc đám mây là tận dụng các dịch vụ đám mây được xây dựng theo mục đích cho phép bạn phát triển nhanh hơn, triển khai thường xuyên hơn, đổi mới và có thể mở rộng. Microsoft Azure cung cấp hàng tá dịch vụ để bạn lựa chọn khi thiết kế và xây dựng các ứng dụng gốc đám mây. Các dịch vụ này đi kèm với sự hỗ trợ cho nhiều ngôn ngữ lập trình, khuôn khổ và thời gian chạy, đồng thời cung cấp khả năng tích hợp tuyệt vời. Chúng cũng đi kèm với các tính năng tích hợp mạnh mẽ có thể giúp bạn giám sát, bảo mật và cải thiện các ứng dụng của mình.

Cho dù trong đám mây hay tại chỗ, việc quản lý cơ sở hạ tầng như AKS dễ dàng hơn bao giờ hết bằng Azure Arc. Và với các dịch vụ hỗ trợ Azure Arc như Dịch vụ ứng dụng, bạn có thể triển khai một cách an toàn các ứng dụng tới các cụm cục bộ để thử nghiệm, biết rằng chúng sẽ hoạt động theo cùng một cách trên đám mây.

Với việc đầu tư vào các lĩnh vực quan trọng trong cộng đồng nguồn mở, Microsoft tiếp tục xây dựng thế mạnh của việc sử dụng các giải pháp nguồn mở, đặc biệt là với các ứng dụng gốc đám mây. Từ hỗ trợ ngôn ngữ cho nhiều ngôn ngữ lập trình chính cho đến những đóng góp cho cộng đồng, như DAPR, cơ hội nắm bắt các dịch vụ mã nguồn mở trong ứng dụng của riêng bạn đang phổ biến hơn bao giờ hết.

Được trang bị thư viện các mẫu thiết kế, trường hợp nghiệp vụ và phương tiện để triển khai chúng, hành trình thiết kế và phát triển ứng dụng gốc đám mây của bạn được cải thiện đáng kể khi sử dụng Azure. Với các khuôn khổ thiết kế như Khuôn khổ chấp nhận đám mây (Cloud Adoption Framework) và Khuôn khổ được kiến trúc tốt (Well-Architected Framework), bạn có hướng dẫn thực địa vững chắc về cách áp dụng hiệu quả các công nghệ đám mây và phát triển các ứng dụng tập trung vào các đặc điểm riêng của đám mây.

Có một số điểm chung mà tất cả các ứng dụng đều có, với mục tiêu là microservices và cloud-native để loại bỏ sự phức tạp của nhiều ứng dụng, chẳng hạn như vị trí và ứng dụng đang chạy cái gì. Các thành phần như CPU, bộ nhớ và mạng là một vài ví dụ, với phần lớn chương này tập trung vào những thành phần đó. Tuy nhiên, có một thành phần bổ sung chưa được giải quyết. Ứng dụng của bạn sẽ lưu trữ dữ liệu của nó ở đâu?

Trong chương tiếp theo, chúng ta sẽ đi sâu hơn vào các thiết kế và kiến trúc khác nhau có thể được sử dụng để lưu trữ dữ liệu và cách thức hoạt động của nó đối với di sản dữ liệu của doanh nghiệp. Sau khi dữ liệu ứng dụng được lưu trữ, nhiệm vụ của các nhà khoa học dữ liệu và kỹ sư là sử dụng máy học và trí tuệ nhân tạo để khám phá và chuyển đổi dữ liệu thành các kết luận và điểm quyết định có ý nghĩa. Nhưng lưu trữ dữ liệu đi kèm với nhiều cảnh báo, chẳng hạn như tuân thủ, bảo mật và cân đối chi phí. Chúng ta sẽ khám phá tất cả các chủ đề này tiếp theo.

Leave a Reply

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