Mẹo tiết kiệm chi phí trên AWS EC2
Binh Nguyen
Head of DevOps
Tình huống này có vẻ rất là quen thuộc?
Bạn đang họp nhóm và hào hứng mong chờ các tính năng mới mà bạn sẽ thêm vào quy trình phát triển. Thì sếp của bạn đề cập đến chi phí điện toán đám mây. Chi phí AWS EC2 đã tăng vọt và CFO đang tạo sức ép về việc giảm hóa đơn AWS của bạn.
Vâng, vậy là áp lực chi phí đang được đặt lên hàng đầu.
Tình trạng này phổ biến với hầu hết các nhóm kỹ sư. Khi họ cố gắng cân bằng giữa hiệu quả chi phí và đảm bảo khả năng mở rộng trong tương lai.
Vậy làm thế nào các kỹ sư có thể kiểm soát chi phí AWS EC2 ? Đừng bỏ lỡ các mẹo vô cùng hữu ích sau đây:
Liên tục tối ưu hóa AWS EC2
Xác định kích thước cần thiết không chỉ được thực hiện 1 lần. Trên thực tế, nếu bạn không kiểm tra thường xuyên (khoảng một lần một tháng). Có khả năng bạn đang bỏ lỡ nhiều cơ hội để tiết kiệm trên EC2. Không phải tất cả phiên bản đều được thiết lập giống nhau. Mỗi loại có CPU, bộ nhớ và mạng khác nhau để phù hợp với từng công việc cụ thể.
Để tiết kiệm AWS EC2, bạn cần đảm bảo các phiên bản EC2 phù hợp với nhu cầu về hiệu suất và dung lượng của công việc hiện tại. Bắt đầu bằng cách đo mức sử dụng CPU và bộ nhớ trong suốt một tháng. Sau đó, tìm các trường hợp đã đạt mức sử dụng CPU tối đa và mức sử dụng bộ nhớ dưới 40%. Đây là những ứng cử viên lý tưởng cho việc xác định kích cỡ phù hợp.
Sau đó, bạn nên chọn khối lượng công việc phù hợp với loại có thể đảm bảo mức sử dụng CPU, bộ nhớ và mạng ở mức cao nhất. AWS cung cấp các công cụ như Amazon CloudWatch, Amazon EC2 Usage Report, AWS Cost Explorer, AWS Compute Optimizer. Và các công cụ khác giúp bạn phân tích dữ liệu sử dụng, chi phí và hiệu suất của mình.
Mặc dù không có công cụ nào trong số này là tự động hóa. Nhưng chúng cung cấp thông tin chi tiết giúp bạn chọn kích thước chính xác.
Loại bỏ các tài nguyên không sử dụng
Bất chấp những nỗ lực hết mình của bạn. Nhưng vẫn có các tài nguyên chưa được sử dụng, trong khi đã được triển khai và trả tiền trên AWS.
Điều này thường xảy ra khi bạn lựa chọn On-demand cho các môi trường như QA, phát triển, staging, thử nghiệm. Vì các tài nguyên nhàn rỗi này sẽ góp phần làm tăng hóa đơn AWS. Nên hãy liên tục xác định các tài nguyên có tỷ lệ sử dụng thấp trong thời gian dài. Và xóa chúng ngay lập tức.
Ngoài ra, nhiều kỹ sư thường tạo ổ lưu trữ hoặc snapshots để hỗ trợ các cơ sở hạ tầng cụ thể. Nhưng khi các phiên bản này không còn cần thiết nữa. Họ xóa các phiên bản đó. Mà quên các ổ đĩa hoặc snapshots đi kèm. Nó tạo ra các tài nguyên mồ côi, vẫn tiếp tục tồn tại và vẫn được thanh toán, nhưng không được sử dụng.
Dù nguyên nhân là gì, người ta ước tính rằng các tài nguyên đám mây không được sử dụng khiến các doanh nghiệp tiêu tốn hàng tỷ USD mỗi năm. Vì vậy, tốt nhất là bạn nên chủ động bằng cách xác định và xóa chúng trước khi chúng ảnh hưởng đến hóa đơn AWS của bạn.
Sử dụng AWS Auto Scaling
Nếu bạn đang tìm kiếm một cách để dễ dàng quản lý chi phí AWS EC2. AWS Auto Scaling sẽ giúp bạn.
Với mục đích giúp dễ dàng mở rộng quy mô của các ứng dụng. Tính năng này liên tục theo dõi nhu cầu dung lượng của ứng dụng. Và tự động điều chỉnh tài nguyên để phù hợp với mức sử dụng hiện tại. Theo AWS, Auto scaling cho phép người dùng “thiết lập kích thước cho nhiều tài nguyên trên nhiều dịch vụ chỉ trong vài phút.” Do đó, bạn có thể tối ưu hóa cả hiệu suất và chi phí chỉ trong một bước đơn giản.
Hãy nhớ rằng Auto scaling chỉ sử dụng các tài nguyên bạn đã mua để mở rộng quy mô dựa trên nhu cầu của bạn. Do đó, bạn phải dự trữ Reserved Instances hoặc Savings Plans để việc định giá được tối ưu hóa hết mức có thể. Nếu không, Auto Scaling sẽ mở rộng bằng các tài nguyên On-demand.
Tận dụng RI và SP
Mẹo phía trên đưa chúng ta đến thủ thuật tiếp theo này. Tận dụng RI và SP.
Chúng tôi hiểu rằng, việc cam kết Reserved Instances và Savings Plans trước một năm (hoặc hơn) là một việc khó. Nhu cầu của khách hàng thường biến động. Và bạn muốn có thể tạo ra nhiều tính năng hơn, tiếp cận khách hàng mới. Hoặc tạo ra các chức năng mới mà khó biết về nó trong tương lai.
Chúng tôi yêu thích sự linh hoạt cũng như bạn vậy.
Tuy nhiên, Reserved Instances và Savings Plans tiết kiệm cho khách hàng AWS khoảng 72% khi so sánh với On demand. Bạn có thể lấy máy tính và bảng tính Excel để dự báo mức sử dụng của mình. Bạn sẽ thấy nó thực sự chiếm một khoản chi phí lớn.
Nếu nó vẫn thực sự ko khả thi với môi trường của bạn. Hãy xem ngay dịch vụ Renovisor, tự động mua và bán RI và SP theo nhu cầu thời gian thực giúp bạn.
Sử dụng Spot Instances
Spot Instances là phiên bản mà AWS cung cấp chiết khấu 90% so với giá On-Demand. Vấn đề là bạn sẽ chỉ có hai phút thông báo để di chuyển khối lượng công việc của mình trước khi tài nguyên đó bị lấy lại.
Vì vậy, không phải nói nhiều, đây không phải là một giải pháp tuyệt vời cho các công việc quan trọng. Tuy nhiên, đó là môi trường lý tưởng để thử nghiệm, phân tích Dữ liệu lớn, CI/CD, machine learning.
Kết luận
Quản lý chi phí AWS EC2 cần được thực hiện liên tục. Không có cách nào dễ dàng cho điều này. Thông thường, cần nhiều thời gian, lập kế hoạch cẩn thận và giám sát liên tục. Để đảm bảo cả chi phí và hiệu suất đều được tối ưu hóa.
Nhưng may mắn thay, đã có một ánh sáng ở cuối đường hầm.
Renovisor tự động hóa các quy trình giúp làm dễ dàng quản lý chi phí AWS. Nó tự động mua và bán RI và SP. Cũng như xác định và xử lý các tài nguyên đám mây không được sử dụng. Có nghĩa là bạn có thể dành ít thời gian hơn để tính toán và lập kế hoạch, đồng thời có nhiều thời gian hơn để phát triển công việc của mình.
Bạn đã sẵn sàng tối ưu hóa hạ tầng đám mây chưa? Liên hệ ngay những chuyên gia tối ưu hóa đám mây của chúng tôi, chúng tôi luôn sẵn sàng hỗ trợ bạn.