EBS và EFS: Lựa chọn nào dành cho bạn?
Binh Nguyen
Head of DevOps
Bạn đang phân vân liệu EBS hay EFS – sẽ là sự lựa chọn phù hợp cho doanh nghiệp? Tất nhiên là không có một lựa chọn hoàn hảo nào có thể thỏa hết mọi điều kiện. Hãy cùng chúng tôi tìm hiểu ngay
Việc chọn chính xác giải pháp lưu trữ cho khối lượng công việc AWS không phải là điều dễ dàng. Có rất nhiều dịch vụ với các loại bộ nhớ và bộ tính năng khác nhau, vì vậy, bạn sẽ dễ bị choáng ngợp khi đang ở giai đoạn so sánh trên hành trình tối ưu hóa đám mây của mình.
Trong bài viết này, chúng tôi sẽ so sánh hai dịch vụ lưu trữ chính: Amazon Elastic Block Storage (Amazon EBS) và Amazon Elastic File Service (Amazon EFS). Cả hai dịch vụ này đều cung cấp giải pháp tuyệt vời cho ứng dụng cần truy cập vào dữ liệu thông qua hệ thống tập tin.
Amazon EBS
Amazon Elastic Block Store (EBS) là một dịch vụ lưu trữ dạng khối dễ sử dụng và hiệu năng cao, được thiết kế để sử dụng với Amazon Elastic Compute Cloud (EC2) cho các khối lượng công việc đòi hỏi tốc độ giao dịch và thông lượng cao ở mọi quy mô.
Khách hàng thường sử dụng EBS cho hầu hết các loại công việc như cơ sở dữ liệu, ứng dụng, email, lưu trữ tệp, sao lưu hoặc websites. Ổ đĩa EBS rất dễ tạo, cấu hình, và có thể được mở rộng để mang lại hiệu suất IO cực cao. Các khối lượng này luôn sẵn sàng và bền. Mặc dù EBS không được sao chép trên nhiều Availability Zones, nhưng chúng được sao chép sang nhiều máy chủ trong cùng một AZ. Do đó mang lại tính khả dụng 99,99% và độ bền lên đến 99,999%. Người dùng cũng có thể mã hóa EBS để bảo mật dữ liệu.
Amazon EBS đi kèm với Amazon EC2 Instance
Amazon Elastic File System (EFS)
Amazon Elastic File System (EFS) là Network File System được quản lý (NFS). Nó được thiết kế cho các EC2 instances trên Linux, một số dịch vụ AWS được quản lý và các on-premise server. Nó tương tự với một hệ thống lưu trữ cho máy chủ Windows – Amazon FSx cho Windows File Server. Nhưng FSx sử dụng giao thức Server Message Block (SMB) trong khi EFS sử dụng NFS.
Amazon EFS được gắn trên nhiều EC2 Instances
So sánh EBS và EFS
EFS là một hệ thống tệp được quản lý hoàn toàn, để sử dụng trên nhiều máy và availability zones khác nhau. Trong khi, EBS được thiết kế như một khối lưu trữ khối nhanh chóng và đáng tin cậy cho các máy đơn (không kể đến EBS multi-attach, một ngoại lệ chỉ áp dụng trong các tình huống cụ thể).
Vậy hai hệ thống lưu trữ có những khác biệt nào
Truy cập dữ liệu
Giống như một ổ cứng vật lý, một ổ đĩa EBS chỉ gắn vào một EC2 (ngoại trừ các trường hợp multi-attach). EC2 instance cần phải ở cùng availability zone với ổ đĩa EBS. Các tệp trong ổ đĩa EBS có thể truy cập được bằng hệ thống tập tin như ext3, ext4 hoặc xfs.
Trong khi, hệ thống tệp EFS có thể được gắn trên nhiều máy trên bất kỳ availability zone nào hoặc thậm chí từ các on-premise server. Hàng nghìn máy có thể kết nối với cùng một thư mục EFS. Truy cập hệ thống tệp thông qua giao thức NFS.
Ổ đĩa EBS có thể được đính kèm vào cả máy Windows và máy không chạy Windows EC2. Nhưng ổ đĩa EFS chỉ được thiết kế cho máy chủ dựa trên Linux.
Kích thước lưu trữ
Mặc dù kích thước tối đa của ổ đĩa EBS có thể lên đến 16 TB, nhưng kích cỡ ổ đĩa EFS thực tế không giới hạn. Kích thước tối đa của tệp trong EFS là 47,9 TB.
Tính khả dụng và khả năng mở rộng
Mặc dù EBS không được sao chép trên nhiều Availability Zone, nhưng chúng được sao chép sang nhiều máy chủ trong cùng một AZ, do đó cung cấp tính khả dụng 99,99% và độ bền lên đến 99,999%. Người dùng cũng có thể mã hóa EBS để bảo mật dữ liệu.
Giống như EBS, EFS cũng cho độ bền cao. Tuy nhiên, sự khác biệt chính nằm ở khả năng mở rộng. Khối lượng EFS có thể tăng quy mô nhanh chóng và tự động để đáp ứng nhu cầu khối lượng công việc tăng đột ngột và giảm quy mô khi giảm tải. Điều này làm cho EFS linh hoạt hơn EBS.
Khả năng mở rộng này cũng giúp EFS không cần phải ước lượng trước kích thước cụ thể và giúp tiết kiệm đáng kể chi phí.
Sao lưu và mã hóa
Sao lưu và mã hóa lúc nghỉ đều có sẵn trên cả hai hệ thống.
EFS cũng cung cấp tính năng quản lý vòng đời, một tính năng giúp tiết kiệm tương tự như S3. EFS lifecycle management cho phép tự động dịch chuyển dữ liệu không thường xuyên truy cập sang một lớp lưu trữ riêng biệt.
EFS Lifecycle management
Hiệu suất
Bạn có thể cấu hình EBS để giảm thiểu độ trễ của đĩa. Có thể thực hiện việc này bằng cách chọn các loại lưu trữ khác nhau (SSD, HDD, v.v.), chỉ định IOPS được cấp phép và chọn các phiên bản EC2 được tối ưu hóa EBS.
Tuy nhiên, EFS không thể cấu hình như EBS. Mặc dù hiệu suất cơ bản đủ nhanh cho hầu hết các khối lượng công việc, nhưng nó không thể làm độ trễ đĩa thấp cho mỗi hoạt động IO như EBS. Nhưng EFS – là một hệ thống lưu trữ tệp phân tán – có thể xử lý thông lượng mỗi giây cao hơn nhiều so với EBS.
Chi phí
Chi phí cho EBS hoặc EFS đều tăng khi hiệu suất cần ngày càng tăng. Tuy nhiên, theo nguyên tắc chung, EBS sẽ rẻ hơn EFS cho cùng hiệu suất trên mỗi GB.
Kết luận
Vậy, khi nào nên lựa chọn dịch vụ nào?
- Nếu bạn cần truy cập dữ liệu từ các máy khác nhau hoặc từ các availability zone khác nhau, EFS có lẽ là lựa chọn tốt nhất cho bạn.
- EFS phù hợp nhất cho máy chủ tệp doanh nghiệp, hệ thống sao lưu, cụm Big Data lớn, hệ thống Massively Parallel Processing(MPP), Content Distribution Networks (CDN) và các trường hợp sử dụng lớn khác.
- EFS cũng dành cho các hệ thống yêu cầu nhiều thông lượng.
- Nếu bạn cần các đĩa có độ trễ rất thấp, EBS có lẽ là lựa chọn tốt nhất.
- EBS phù hợp nhất cho cơ sở dữ liệu quan hệ và NoSQL, các ứng dụng doanh nghiệp như hệ thống ERP, mail server, SharePoint, web server, directory server, DNS server hoặc phần mềm trung gian. Đó là bởi vì các hệ thống này thường không chạy trên các cụm lớn và do đó không cần được gắn kết. Việc sao chép giữa các máy chủ được thực hiện ở cấp ứng dụng, không phải ở cấp đĩa. Và các EBS hiện có có thể đáp ứng yêu cầu về hiệu suất.
Chúng tôi hy vọng bạn nhận được nhiều lợi ích từ phần tổng quan về hai hệ thống lưu trữ phổ biến nhất của AWS, EBS và EFS. Bạn cũng có thể liên hệ với một trong những chuyên gia tối ưu hóa đám mây của chúng tôi để tìm hiểu phương pháp giảm thiểu sự quản lý EBS và tiết kiệm tối đa với Renovisor.