Vài tháng trước, tôi bắt đầu hành trình tự host các ứng dụng cá nhân bằng cách sử dụng Docker Desktop ngay trên chiếc PC Windows mà tôi vẫn dùng cho công việc và giải trí. Mặc dù có mong muốn xây dựng một “home lab” riêng để chạy các dịch vụ này trong tương lai, hiện tại tôi vẫn duy trì self-hosting theo cách này. Dù không hối tiếc về cách mình đã bắt đầu, nhưng qua thời gian, tôi nhận thấy cả những ưu điểm lớn và những bất cập không nhỏ khi tự host trên máy tính chính của mình. Dưới đây là những gì tôi đã học được từ trải nghiệm này.
Hình ảnh minh họa các công cụ tự host ứng dụng dễ sử dụng cho người mới bắt đầu
Lợi ích không ngờ: Dễ dàng tiếp cận và chi phí tối ưu
Khởi động dịch vụ nhanh chóng và hoàn toàn miễn phí
Tôi không bắt đầu tự host như một người đam mê công nghệ đơn thuần, mà chủ yếu là để thử nghiệm và viết bài về các ứng dụng, dịch vụ cho XDA. Ban đầu, tôi tập trung vào ứng dụng Windows, nhưng nhanh chóng nhận ra mình cần mở rộng kỹ năng để có cái nhìn toàn diện hơn về các lựa chọn phần mềm hiện có.
Điều đó có nghĩa là tôi phải tìm cách bắt đầu tự host một cách nhanh chóng, dù tôi không có kỹ năng lập trình và đã nhiều năm không động đến Linux. Tôi cũng cần một giải pháp lưu trữ dịch vụ với chi phí tối thiểu, bởi vì các linh kiện công nghệ (ngay cả các bo mạch đơn – SBC) ở Nam Phi thường đắt hơn đáng kể do thuế nhập khẩu. Tôi đã nghĩ đến việc tận dụng một chiếc laptop cũ, nhưng phần cứng của chiếc laptop cuối cùng của tôi bắt đầu hỏng hóc, nên đó không phải là một lựa chọn khả thi.
Kết quả là, sử dụng PC chính của mình trở thành cách rẻ nhất và nhanh nhất để tôi bắt đầu với self-hosting. Tôi mới lắp một ổ SSD 1TB, nên có đủ không gian lưu trữ. Docker Desktop cũng giúp tôi thoát khỏi rắc rối khi phải cài đặt dual-boot hay sử dụng máy ảo (VM) độc lập, vì tôi chỉ cần khởi động nó trên Windows và có thể truy cập ngay vào các container khi đang làm việc.
Màn hình máy tính hiển thị ứng dụng Linkwarden tự host, lưu trữ các liên kết
Những hạn chế đáng cân nhắc khi sử dụng PC chính để tự host
Tài nguyên hệ thống bị giới hạn, đặc biệt là RAM
Khi số lượng container Docker của tôi tăng lên, tải trọng trên hệ thống cũng tăng theo. Tôi có 16GB RAM và một CPU khá mạnh, nên ban đầu không gặp vấn đề gì. Nhưng khi tôi bắt đầu sử dụng một số ứng dụng đa container tiêu tốn nhiều tài nguyên hơn trên Docker, tôi nhận thấy hệ thống của mình trở nên chậm hơn khi tôi chơi game hoặc khi có quá nhiều tab Chrome đang mở.
CPU của tôi vẫn còn nhiều sức mạnh xử lý và tôi còn rất nhiều không gian trống trên SSD. Tuy nhiên, RAM lại trở thành nút thắt cổ chai. Điều này không ngăn cản tôi chạy các container, vì chúng có một lượng RAM được phân bổ cố định. Nhưng khi tôi chạy container song song với việc chơi game, tôi bắt đầu nhận thấy hiệu suất Chrome và game bị ảnh hưởng. Do đó, tôi thường dừng các container và thoát Docker trước khi khởi chạy game.
Ảnh hưởng đến thời gian hoạt động liên tục của dịch vụ
Một trong những cân nhắc khi thiết lập một home lab là chi phí điện khi chạy máy chủ 24/7. Khi bạn sử dụng một NAS hoặc một vài linh kiện kết hợp, chi phí này không quá đáng kể. Nhưng mức tiêu thụ điện sẽ tăng lên đáng kể khi bạn sử dụng một thiết bị không ưu tiên hiệu quả năng lượng.
Tôi có thể để PC của mình bật liên tục để các dịch vụ tự host hoạt động, điều này sẽ tiện lợi hơn nhiều. Tuy nhiên, đổi lại là chi phí điện tăng cao. PC chính của tôi là một dàn máy chơi game cũ, nên có rất nhiều linh kiện sẽ vẫn tiêu thụ điện – ngay cả những linh kiện không thiết yếu cho một máy chủ tại nhà.
Dàn máy tính chơi game (PC gaming) trên bàn làm việc, gợi nhắc đến vấn đề tiêu thụ điện
Vì vậy, tôi ưu tiên tắt PC mỗi đêm, thay vì để nó chạy liên tục. Ngoài việc tắt các ứng dụng tự host khi chơi game, tôi cũng tắt chúng khi tôi không còn dùng PC trong ngày. Kết quả là, tôi bỏ lỡ sự tiện lợi của một máy chủ hoạt động 24/7.
Tôi có thể chọn sử dụng một VPS cho các ứng dụng tự host của mình, nhưng hiện tại ngân sách của tôi không cho phép thêm các khoản đăng ký. Oracle Cloud có cung cấp gói miễn phí, nhưng tôi cần tìm hiểu các dịch vụ cho khu vực của mình để xem liệu đó có phải là một lựa chọn khả thi hay không. Tuy nhiên, tôi nghĩ rằng mình sẽ cần mở rộng kiến thức về self-hosting để có thể triển khai ứng dụng chính xác trên VPS.
Kết luận
Việc tự host ứng dụng trên PC chính là một cách hữu ích để nhanh chóng bắt đầu hành trình self-hosting. Tuy nhiên, những bất cập đã nêu cũng khiến tôi bắt đầu tìm kiếm các lựa chọn khác. Ngân sách là một yếu tố hạn chế lớn, vì đầu tư vào một NAS mạnh mẽ hơn hoặc mua linh kiện cho một máy chủ bare-metal sẽ tốn kém hơn khả năng tài chính hiện tại của tôi. Ngay cả các bo mạch đơn giản (SBC) cũng khá đắt đỏ ở địa phương và sẽ yêu cầu thêm các linh kiện khác, đặc biệt là về lưu trữ.
Nhìn chung, đây là một khởi đầu đáng giá nếu bạn mới bắt đầu tự host và có ngân sách eo hẹp. Nhưng về lâu dài, chắc chắn có những lựa chọn mạnh mẽ và tối ưu hơn rất nhiều. Bạn có đang tự host ứng dụng trên PC chính của mình không? Hãy chia sẻ kinh nghiệm của bạn trong phần bình luận bên dưới hoặc tìm đọc thêm các bài viết về chủ đề self-hosting trên congnghe360.net để khám phá những giải pháp khác nhé!