Cơ sở hạ tầng đáp ứng với Auto Scaling
Với những thách thức này, một cơ sở hạ tầng linh hoạt nhưng có khả năng phục hồi khi đối mặt với các mô hình thay đổi liên tục đã xuất hiện đó chính là Auto Scaling.
Kiểu hệ thống thường gặp
Để có thể hiểu rõ được những lợi ích mà Auto Scaling mang lại trước tiên chúng ta cần tìm hiểu những kiểu hệ thống phổ biến trong các ứng dụng.
Fast Growth
Fast Growth là hệ thống thường có sự thay đổi đột ngột về lượng tài nguyên yêu cầu. Có nghĩa là việc tăng rất nhanh và giảm cũng rất nhanh.
Fast Growth sẽ được sử dụng trong các trường hợp như hệ thống kinh doanh online trong giai đoạn thực hiện flashsale hoặc hệ thống gặp phải các sự cố trên diện rộng.
ON & OFF
Là một hệ thống cần đến sự phân tích cũng như chiết xuất dữ liệu. Ví dụ cho hệ thống này chính là ngân hàng. Sau khi đã kết thúc thời gian giao dịch trong ngày hệ thống ngân hàng sẽ tạm ngừng giao dịch. Lúc này hệ thống sẽ chuyển qua phân tích những dữ liệu đã thu thập được trong một ngày.
Để sử dụng hệ thống này, lập trình viên chỉ cần đặt lịch ON&OFF theo khung giờ cố định trong ngày.
Variable
Là hệ thống có những thay đổi về yêu cầu tài nguyên ở mức trung bình và có thể tính toán trước được.
Tuy nhiên, sự tính toán này sẽ được giới hạn trên hệ thống nghĩa là chỉ mang tính chất tương đối mà thôi.
Consistent
Consistent là hệ thống yêu cầu về tài nguyên theo một chu kỳ nhất định. Thường sẽ là những hệ thống như Accounting, Email…
Cấu hình tài nguyên Auto Scaling
Auto Scaling có thể được định cấu hình để linh hoạt đáp ứng nhiều hơn việc sử dụng CPU. Trên thực tế, bạn có thể thêm hoặc bớt tài nguyên để đáp ứng tất cả các yêu cầu của mình.
Ngoài ra, bạn cũng có thể xác định được số liệu tùy chỉnh và tạo ra quy tắc chia tỷ lệ bất kỳ giá trị nào mà bạn quyết định thiết lập. Việc của bạn chỉ là cung cấp dữ liệu mà thôi.
Một tùy chọn khác dành cho bạn đó chính là lên lịch cung cấp tài nguyên thay vì thực hiện chúng một cách thụ động. Tuy nhiên điều này chỉ nên thực hiện khi bạn tin tưởng và chắc chắn về hiệu quả mà nó mang lại.
Bugsnag và Auto Scaling
Vấn đề này đã được thảo luận trước đó và tại Bugsnag, lượng tải cực kỳ cao cũng như chúng ta không thể đoán trước được. Đến hiện tại, sau khi thống kê các sự cố đã xử lý lên đến 15 tỷ lần nhưng vẫn giữ được tính khả dụng lên đến 99,99999%
Trình thông báo lúc này được hoạt động trên tất cả các ngôn ngữ lập trình và khuôn khổ chính. Đồng thời, nó còn có thể được triển khai trên máy chủ, thiết bị di động hoặc máy tính cũng như ứng dụng từ phía máy khách.
Do đó, trong bất cứ trường hợp nào khi người dùng gặp sự cố mà không được khắc phục, Bugsnag sẽ lập tức nhận được thông báo.
Tính năng Bugsnag
- Thông báo: Bugsnag giúp dễ dàng kiểm soát khi bạn nhận được những thông báo về các trường hợp ngoại lệ hoặc thậm chí là sự gia tăng bất thường trong các hoạt động.
- Tìm kiếm: Bằng cách sử dụng tìm kiếm, các lỗi ứng dụng được lọc một cách dễ dàng. Thậm chí Bugsnag còn thông báo lỗi và vị trí của lỗi.
- Theo dõi thời gian thực: Bugsnag cung cấp cho bạn các chế độ xem xuất hiện trong thời gian thực hoặc chế độ xem được nhóm theo loại.
- Các chỉ số thông minh: hiển thị cho bạn khi một loại ngoại lệ mới xuất hiện hoặc khi một ngoại lệ cụ thể có hoạt động gia tăng bất thường. Ngay lập tức xem mỗi ngoại lệ đã xảy ra bao nhiêu lần, bao nhiêu người dùng bị ảnh hưởng và theo dõi phiên bản ứng dụng của bạn gặp sự cố.
- Nhóm ngoại lệ: Các lỗi được nhóm theo cách thông minh nhất có thể, giúp bạn loại bỏ tiếng ồn và xác định các vấn đề thực sự. Các plugin nhận biết ngữ cảnh hiểu chính xác điều gì đang xảy ra trong ứng dụng của bạn khi xảy ra ngoại lệ. Không bao giờ bị ngập trong các email trùng lặp nữa.
Kết luận
Tự động mở rộng quy mô có thể hữu ích cho công ty của bạn để đạt được mức độ sẵn sàng cao và tối ưu hóa tài nguyên.
Auto Scaling có thể hoạt động một cách trơn tru hay không còn phụ thuộc rất nhiều vào nhà cung cấp dịch vụ. Do đó hãy nhớ rằng việc triển khai và lựa chọn là điều cần thiết nếu bạn quyết định sử dụng Auto Scaling cho cơ sở hạ tầng của mình.