Bạn vừa quyết định dịch chuyển các ứng dụng từ máy chủ tại chỗ (on-premise) lên AWS và đang cân nhắc các dịch vụ cloud có sẵn phù hợp nhất với nhu cầu của mình.
Khi bạn dịch chuyển một ứng dụng sử dụng backend CSDL quan hệ như Oracle, MySQL hoặc SQL Server sang cloud, chắc chắn bạn sẽ đặt ra các câu hỏi về RDS so với EC2.
Bạn cần quyết định xem có nên:
Bài viết này sẽ giúp bạn đưa ra quyết định sáng suốt và đạt được mục tiêu của mình một cách tối ưu và hiệu quả. Hãy cùng tìm hiểu CSDL được lưu trữ trên Amazon RDS và EC2 cùng với sự khác biệt giữa chúng.
Amazon RDS là gì?
Dịch vụ CSDL quan hệ của Amazon (Amazon RDS) là một dịch vụ CSDL được quản lý (DBaaS) giúp quản trị viên CNTT dễ dàng thiết lập, vận hành và mở rộng quy mô CSDL quan hệ trên cloud. RDS có sẵn cho các công cụ CSDL phổ biến bao gồm MySQL, MariaDB, PostgreSQL, Oracle và Microsoft SQL Server.
Do đó, khi dịch chuyển lên cloud, hầu hết các ứng dụng sử dụng bất kỳ công cụ CSDL nào trong số này đều có thể được triển khai để sử dụng Amazon RDS thay vì máy chủ CSDL cục bộ mà không tốn quá nhiều công sức. Ngoài ra, Amazon RDS còn hỗ trợ nền tảng CSDL của Amazon, Amazon Aurora, CSDL quan hệ tương thích MySQL và PostgreSQL.
Đối với mỗi công cụ, bạn có thể chọn các phiên bản CSDL khác nhau tùy thuộc vào yêu cầu CPU, bộ nhớ, bộ lưu trữ và mạng. Với Amazon RDS, bạn có thể giảm tải tác vụ quản trị CSDL đang tốn nhiều thời gian như cung cấp, thiết lập, vá lỗi, sao lưu, khôi phục, phát hiện lỗi và sửa lỗi cho Amazon. Đội ngũ của bạn sẽ không cần lo lắng về những tác vụ tốn nhiều công sức và dễ xảy ra lỗi này sau khi sử dụng RDS.
Theo mặc định, Amazon RDS tự động sao lưu CSDL của bạn 24 giờ một lần. Tính năng này đảm bảo rằng, trong trường hợp xấu nhất, RTO của bạn là 24 giờ. Với chiến lược đa vùng (đa điểm) hoạt động tích cực (multi-region (multi-site) active-active multi-region strategy), RPO gần bằng 0 và RTO có thể bằng không.
Việc vá lỗi định kỳ cũng được tự động hóa, với cửa sổ bảo trì được đặt để giữ an toàn cho các phiên bản CSDL của bạn.
Khi sử dụng RDS, bạn có các bản sao chỉ có quyền đọc ở các khu vực gần với user. Để tăng dung lượng đọc và giải phóng IOPS, bạn có thể định tuyến các truy vấn đã đọc từ các ứng dụng của mình tới bản sao đã đọc.
Bạn cũng có thể gửi các truy vấn nặng đến các bản sao chỉ có quyền đọc, do đó giảm tải cho các production servers.
Amazon EC2 là gì?
Amazon Elastic Compute Cloud (Amazon EC2) là một dịch vụ web cung cấp quyền truy cập an toàn vào các phiên bản máy chủ theo yêu cầu. Việc sở hữu và cấu hình dung lượng thật dễ dàng – bạn chỉ cần dùng giao diện của web Amazon EC2 để thêm dung lượng tùy ý. Bạn có toàn quyền kiểm soát các tài nguyên máy tính của mình, có thể tăng hoặc giảm quy mô khi nhu cầu thay đổi. Để cung cấp các dịch vụ CSDL cần thiết cho ứng dụng, bạn có thể tạo các phiên bản EC2 và tự cài đặt các công cụ CSDL cần thiết trên các phiên bản.
Tiếp theo, ta cùng xem các lợi ích – hạn chế trong từng tính năng giữa Amazon RDS và EC2, giúp bạn đưa ra quyết định phù hợp nhất cho nhu cầu hiện tại.
Khả năng quản lý (Administration)
RDS |
EC2 |
|
|
Tính khả dụng cao (High Availability)
RDS |
EC2 |
|
|
Khả năng sao lưu (Backup)
RDS |
EC2 |
|
|
Khả năng mở rộng (Scalability)
RDS |
EC2 |
|
|
Khả năng vận hành (Performance)
RDS |
EC2 |
|
|
4 chỉ số RDS chính mà bạn phải theo dõi và tương quan với hiệu suất ứng dụng
Chỉ số |
Định nghĩa |
|
|
|
|
|
|
|
|
Lưu trữ (Storage)
RDS |
EC2 |
Bạn nhận được ba tùy chọn lưu trữ:
|
|
Hỗ trợ và Kiểm soát (Support and Control)
RDS |
EC2 |
|
|
Bảo mật (Security)
RDS |
EC2 |
|
|
Giấy phép (Licensing)
RDS |
EC2 |
|
|
Chi phí (Cost)
RDS |
EC2 |
|
|
Làm thế nào để chọn giữa Amazon RDS và EC2?
Việc lựa chọn CSDL giữa hai phiên bản EC2 và RDS về cơ bản là sự lựa chọn giữa (1) một môi trường bạn phải tự quản lý mọi thứ và (2) một dịch vụ được quản lý nơi nhà cung cấp cloud thực hiện các nhiệm vụ quản lý thông thường. Một lệnh gọi API đơn giản cung cấp cho bạn quyền kiểm soát việc triển khai, sao lưu, ảnh chụp nhanh, khôi phục, định cỡ, tính khả dụng cao và bản sao. Ngược lại, CSDL tự quản lý trên tùy chọn EC2 yêu cầu bạn thiết lập, định cấu hình, quản lý và điều chỉnh theo cách thủ công các thành phần khác nhau, bao gồm các phiên bản Amazon EC2, dung lượng lưu trữ, khả năng mở rộng, mạng và bảo mật.
Ngoài việc tiết kiệm chi phí quản lý, một lợi ích khác đó là tăng cường tính linh hoạt và tự động hóa. Người ta có thể đạt được điều này bằng cách sử dụng hệ thống CI/CD tự động tận dụng giao diện dòng lệnh AWS (CLI) , Bộ phát triển cloud AWS (CDK) và CloudFormation để triển khai phần phụ trợ CSDL với rất ít sự can thiệp thủ công. Các dịch vụ được quản lý cho phép bạn kiểm soát cơ sở hạ tầng và các dịch vụ thiết kế có thể dễ dàng triển khai, nhân rộng và có các đặc tính tự động phục hồi được tích hợp sẵn.
Nếu chi phí là một yếu tố quan trọng, Amazon RDS có thể đắt hơn một chút so với EC2 trên cùng một cấu hình. Do vậy, nếu bạn có ngân sách hạn chế hoặc muốn làm việc với công cụ CSDL hoặc phiên bản không được Amazon RDS hỗ trợ, bạn có thể cân nhắc sử dụng CSDL được lưu trữ trên máy chủ EC2.