Lựa chọn SQL Server: Azure SQL (PaaS) Database hay SQL Server on Azure VMs (IaaS)

Azure cung cấp 2 lựa chọn sau để giúp bạn xây dựng hệ thống cơ sở dữ liệu:

  • Azure SQL Database: là một cơ sở dữ liệu hoàn toàn trên cloud, được biết đến với mô hình Platform as a service (PaaS) hoặc DBaaS (Database as a service) và được tối ưu hóa để phục vụ cho việc phát triển các ứng dụng theo mô hình Software as a service (SaaS). Nó bao gồm với hầu hết các tính năng của SQL Server.
  • SQL Server on Azure Virtual Machines: chính là bộ quản lý SQL Server được cài đặt trên các máy ảo Azure Windows Server, và được biết đến với mô hình Infrastructure as a service (IaaS)

Vậy lựa chọn mô hình nào để phù hợp nhất với yêu cầu business của bạn? Chúng ta sẽ cùng đi sâu vào phân tích sau đây.

The Relational Database Continuum

So sánh SQL Database và SQL Server trên Azure VMs

  • SQL Database: được tối ưu hóa để làm giảm chi phí khởi tạo và quản lý các cơ sở dữ liệu xuống thấp nhất, bới bạn sẽ không cần phải quản lý bất cứ máy ảo, hệ điều hành hay phần mềm database nào. Nó sẽ luôn được tự động cập nhật, nâng cấp, backup và đảm bảo high availability. Nhìn chung thì lựa chọn này thích hợp cho các đơn vị IT vừa và nhỏ như các công ty start up, hoặc dùng làm môi trường development.
  • SQL Server trên Azure VMs: được tối ưu hóa để phục vụ cho việc xây dựng một hệ thống các ứng dụng hybrid vừa on-premies vừa cloud-based, hoặc dùng để migrate toàn bộ hệ thống từ on-premies lên cloud-based một cách nhanh chóng. Lựa chọn này tiện dụng cho các doanh nghiệp lớn khi họ đã có một đội ngũ IT quản lý các máy ảo, họ đang có sẵn các ứng dụng cần đưa lên cloud và họ sẽ không phải lo các vấn đề về phần cứng nữa.

Bảng sau so sánh cụ thể hơn các đặc tính giữa SQL Database và SQL Server trên Azure VMs

SQL Database SQL Server trên Azure VMs
Phù hợp cho:

 

 

 

Sản phẩm mới thiết kế theo hướng cloud mà yêu cầu thời gian hạn hẹp trong giai đoạn phát triển và marketing. Những ứng dụng đang tồn tại mà yêu cầu cần migrate nhanh chóng lên cloud với thay đổi nhỏ nhất. Phát triển và test sản phẩm nhanh chóng khi bạn không muốn phải đầu tư vào phần cứng.
Những ứng dụng cần xây dựng với tính sẵn sàng (High Availability), khả năng khôi phục (Disaster Recovery), và nâng cấp kỹ thuật cao. Những ứng dụng không cần tính sẵn sàng, khả năng khôi phục và nâng câp kĩ thuật.
Những doanh nghiệp không muốn phải quản lý hệ điều hành và config các tùy chỉnh. Những doanh nghiệp cần đặc chế môi trường IT cho mình với toàn quyền quản lý.
Việc xây dựng các ứng dụng theo model Software-as-a-Service (SaaS). Việc xây dựng các ứng dụng hybrid.
Tài nguyên Khi bạn không muốn thuê nhân viên để quản lý và maintain hệ thống, mà chỉ cần tập trung vào business và ứng dụng của mình. Khi bạn có đội ngũ IT để hỗ trợ và maintain hệ thống.
Chi phí Giảm thiểu chi phí phần cứng và chi phí quản lý. Giảm thiểu chi phí phần cứng
Tính sẵn sàng Bên cạnh khả năng fault tolerance, Azure SQL Database còn cung cấp các tính năng có sẵn khác như: tự động back up, nhiều cơ chế khôi phục (Point-in-time Restore, Geo-Restore). Azure cho phép bạn tự xây dựng giải pháp cho cơ sở dữ liệu của bạn để đảm bảo tính sẵn sàng và khôi phục sau thảm họa.
Hybrid cloud Hệ thống on-premises của bạn có thể kết nối với dữ liệu trên Azure SQL Database Bạn có thể làm các ứng dụng vừa có thể chạy trên cloud và cả on-premises. Ví dụ, bạn mở rộng on-premise network của mình, kết nối Active Directory với cloud thông qua Azure Virtual Network.
Hỗ trợ khả năng nhân bản dữ liệu (SQL Server transactional replication) Hỗ trợ khả năng nhân bản dữ liệu, khôi phục thảm họa và giải pháp Always On replicas trên các Azure VMs.

 

Cân nhắc

Các tiêu chí dưới đây là những tiêu chí cơ bản mà bất cứ doanh nghiệp nào cũng cần đánh giá mỗi khi triển khai một sản phẩm mới. Vậy chúng ta cùng phân tích xem 2 phương thức dùng database trên Azure phù hợp với mỗi tiêu chí ra sao.

Chi phí

Đối với SQL Database, Microsoft đưa ra nhiều gói service được phân vào 3 loại: Basic, Standard và Premium. Chi phí của mỗi gói sẽ được tính theo một rate cố định theo giờ. Ngoài ra thì bạn cũng bị tính phí cho Internet traffic ra bên ngoài theo một rate riêng. Do vậy, bạn hoàn toàn có thể lựa chọn một gói service phù hợp với nhu cầu của mình. Nếu như database của bạn có lượng transactions lớn và cần hỗ trợ nhiều người dùng, bạn nên dùng gói Premium chẳng hạn. Một trong những điểm mạnh của SQL database là nó được tự động cấu hình, backup, cập nhật và nâng cấp bới Microsoft, nhờ đó giảm thiểu chi phí quản lí cho bạn.

SQL Database Service Tiers
SQL Database Service Tiers
Outbound-Data-Transfer-Rate
Outbound Data Transfer Rate

Đối với SQL Server trên Azure VMs, bạn có 2 sự lựa chọn: cài đặt SQL Server từ image mà Microsoft cung cấp đã có sẵn license, hoặc mang bộ cài đặt của bạn lên VM và sử dụng license mà bạn đã có. Chi phí cho hình thức này sẽ được tính theo phút sử dụng, bao gồm SQL Server (nếu dùng của Azure), Windows Server và ổ đĩa.

Nhìn chung, bạn có công thức tính toán chi phí cho 2 phương thức sử dung như sau:

Sử dụng Azure SQL Database:

Tổng chi phí sản phẩm = Chi phí quản lý được tối ưu + Chi phí phát triển sản phẩm + Chi phí cho SQL Database service.

Sử dụng SQL Server trên Azure VMs:

Tổng chi phí sản phẩm = Chi phí phát triển sản phẩm được tối ưu + Chi phí quản lý + Chi phí cho license của Windows Server và SQL Server + Chi phí cho ổ đĩa lưu trữ Azure.

Quản trị

Đối với nhiều doanh nghiệp, mục đích của việc chuyển dịch lên cloud là để giảm tải các công việc quản trị vì nó khá tốn kém. Với SQL Database, Microsoft sẽ thay bạn quản lý từ phần cứng đến phần mềm, load-balancing và các cơ chế giúp tăng tính High Availability và Disaster Recovery. Mặt khác, SQL Server trên Azure VMs cho bạn toàn quyền quản lý mọi thứ. Bạn có thể quyết định được version, phương thức, cơ chế của hệ thống mà bạn mong muốn.

Service Level Agreement (SLA)

Đối với nhiều dự án, việc đáp ứng SLA đôi khi là một yêu cầu được ưu tiên cao. Microsoft đảm bảo SLA 99.99% cho các gói SQL Database service và 99.95% cho việc chạy SQL Server trên Azure VMs. Tuy nhiên thì khi chạy trên VMs, Microsoft chỉ đảm bảo cho tính High Available của VMs, còn SQL Server service thì bạn phải tự quản lý.

Time to market

Nếu dự án của bạn được thiết kế theo hướng cloud-based, đồng thời lại có quỹ thời gian hạn hẹp, cần hoàn thành đưa ra thị trường sớm, thì SQL Database là sự lựa chọn hợp lý nhất cho bạn. Bạn không cần mất quá nhiều công sức vào việc quản lý database mà sẽ tập trung nguồn lực của mình để xây dựng và phát triển sản phẩm. Qua đó sẽ giúp thời gian deliver sản phẩm nhanh hơn.

Bên cạnh đó, nếu bạn có các ứng dụng đang tồn tại và sử dụng tất cả các tính năng của SQL Server, bạn có thể chọn phương án SQL Server trên Azure VMs. Bạn chỉ cần xây dựng môi trường cloud sao cho tương tự với môi trường on-premises sau đó thực hiện migration với sự thay đổi không quá nhiều. Bạn không phải thay đổi thiết kế cho các ứng dụng của bạn mà vẫn tương thích được trên cloud, qua đó tiết kiệm được chi phí.

Kết luận

Tùy theo từng mục đích và yêu cầu business của bạn

Chọn Azure SQL Database nếu:

  • Bạn đang xây dựng các ứng dụng theo hướng cloud-based
  • Bạn không muốn mất nhiều công sức để quản lý và duy trì hệ thống database mà vẫn đòi hỏi SLA cao. Bạn sẽ trông cậy vào Microsoft, nhờ họ quản lý cho mình.
  • Bạn có thời gian dự án hạn hẹp, cần tập trung phát triển sản phẩm để tung ra thị trường càng sớm càng tốt.

Chọn SQL Server trên Azure VMs nếu:

  • Bạn đang có sẵn những ứng dụng và không muốn phải quản lý phần cứng hoặc bạn đang suy nghĩ đến một giải pháp hybrid.
  • Bạn có đội ngũ quản lý và cần có toàn bộ quyền trên SQL Server, Windows Server, ổ đĩa lưu trữ. Đồng thời, bạn yêu cầu sản phẩm của bạn có thể tương thích hoàn toàn giống như môi trường on-premises.

Phạm Anh Tuấn

Anh Phạm Anh Tuấn là chuyên gia công nghệ web trên nển tảng của Microsoft, hiện đang công tác tại FPT Asia Pacific tại đảo quốc sư tử Singapore. Anh Tuấn có hơn 5 năm kinh nghiệm trong lĩnh vực phần mềm và hơn 3 năm làm việc cho tập đoàn viễn thông lớn thứ 2 tại Singapore. Anh đam mê về công nghệ Microsoft, đặc biệt các giải pháp trên nền tảng Web. Đến với AzureVN.NET, anh Tuấn muốn đóng góp và chia sẻ kinh nghiệm khi làm việc trên Azure App Service và Azure SQL Database.

tuan has 5 posts and counting.See all posts by tuan

One thought on “Lựa chọn SQL Server: Azure SQL (PaaS) Database hay SQL Server on Azure VMs (IaaS)

  • 29/07/2016 at 2:16 am
    Permalink

    Bài viết rất hay và bổ ích. Cảm ơn bạn đã chia sẻ. Mong đợi các bài viết mới về Azure SQL Database vì mình cũng đang ngâm cứu cái này.

    Reply

Leave a Reply

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