VPS

EAS Build so với tự dựng máy build: tính chi phí

Thanh Nguyễn Đăng 9 phút đọc 1 khối lệnh

EAS Build so với tự dựng máy build: tính chi phí
Mục lục bài viết
  1. Đếm đúng số lượt build
  2. So với chi phí tự dựng
  3. Chi phí ẩn: thời gian chờ
  4. Khi nào dịch vụ vẫn đáng dùng
  5. Mô hình kết hợp cho đội nhỏ
  6. Đếm đúng số lượt dựng trước khi tính tiền
  7. Thời gian xếp hàng không nằm trên hóa đơn
  8. Dựng bản Android trên máy chủ của chính bạn
  9. Câu hỏi thường gặp
  10. Bài viết liên quan

Trả lời nhanh: EAS Build dựng bản cài trên máy chủ của Expo, tính tiền theo lượt build. Máy tự dựng thì trả cố định theo tháng, build bao nhiêu lượt cũng vậy. Điểm hòa vốn thực tế rơi vào khoảng vài chục lượt build mỗi tháng: dưới mức đó dịch vụ rẻ hơn và đỡ phải trông máy, trên mức đó tự dựng rẻ hơn rõ rệt. Nhưng chi phí không phải yếu tố duy nhất: thời gian xếp hàng chờ tới lượt mới là thứ khiến nhiều đội chuyển sang máy riêng.

Câu hỏi này xuất hiện đúng lúc dự án bắt đầu chạy đều: đội build vài lượt mỗi ngày, hóa đơn dịch vụ tăng dần, và ai đó đặt vấn đề tự dựng máy. Bài này đưa ra cách tính để bạn quyết bằng con số của chính mình chứ không theo cảm tính.

Đếm đúng số lượt build

Phần lớn người ước lượng thấp hơn thực tế vài lần, vì họ chỉ nhớ những lần build phát hành mà quên các lượt build trong quá trình làm việc.

Danh sách đầy đủ những thứ sinh ra một lượt build:

  • Mỗi lần đẩy code lên nhánh chính, nếu hệ thống tự động dựng bản thử.
  • Mỗi lần đội kiểm thử yêu cầu bản mới để xác nhận một sửa lỗi.
  • Mỗi lần thêm hoặc đổi thư viện gốc, vì bản thử nghiệm sẵn có không còn dùng được.
  • Mỗi lần phát hành, tính cả bản iOS và bản Android là hai lượt.
  • Các lượt build hỏng phải chạy lại, thường chiếm mười tới hai mươi phần trăm.

Cách chắc nhất là mở bảng lịch sử build của tháng vừa rồi và đếm. Con số đó nhân với đơn giá mỗi lượt là chi phí thật của bạn, không phải con số bạn nhớ.

So với chi phí tự dựng

Bên tự dựng gồm hai phần, và chỉ một phần là máy Linux:

Nhánh Android chạy trên một VPS Linux thông thường. Cấu hình 4 vCPU và 8GB đủ cho dự án vừa, cách dựng nằm ở bài máy build Android. Đây là phần rẻ và dễ.

Nhánh iOS bắt buộc phải có máy Mac, không có đường vòng hợp lệ, chi tiết ở bài build iOS có cần Mac. Đây là phần tốn vốn ban đầu và cũng là lý do nhiều đội chỉ tự dựng nửa Android.

Nên tính cả công vận hành: cập nhật chuỗi công cụ, dọn ổ đĩa, xử lý khi build hỏng vì môi trường. Với người đã quen quản trị máy chủ thì đây là vài giờ mỗi tháng, với đội thuần lập trình ứng dụng thì nên cộng thêm cho thật.

Chi phí ẩn: thời gian chờ

Đây là phần bảng giá không nói. Dịch vụ dùng chung có hàng đợi, và vào giờ cao điểm bạn xếp hàng. Chờ mười lăm phút trước khi build bắt đầu là chuyện thường gặp ở gói thấp.

Quy đổi cho dễ hình dung: đội bốn người, mỗi ngày ba lượt build, mỗi lượt chờ thêm mười phút, là ba mươi phút mỗi ngày trôi qua trong lúc chờ. Một tháng khoảng mười giờ. So con số đó với giá thuê một máy chủ Linux thì kết luận thường rất rõ.

Máy riêng không có hàng đợi của người lạ, nhưng có hàng đợi của chính đội bạn nếu nhiều người cùng build. Cách xử lý là chạy nhiều tiến trình song song trên một máy đủ mạnh, hoặc thêm máy thứ hai khi thật cần. Với dự án mobile, ổ đĩa thường là chỗ nghẽn trước cả CPU, lý do nằm ở bài về ổ đĩa khi build app.

Khi nào dịch vụ vẫn đáng dùng

Đừng tự dựng chỉ vì nghe có vẻ rẻ hơn. Bốn tình huống mà dịch vụ vẫn hợp lý:

  • Dự án mới, chưa rõ có đi tiếp không. Trả theo lượt là cách rẻ nhất để thử.
  • Đội không có ai thạo quản trị máy chủ. Thời gian học và trông máy có giá của nó.
  • Build thưa thớt, ví dụ mỗi tháng vài lượt cho một ứng dụng đã ổn định.
  • Chưa muốn bỏ vốn mua máy Mac, mà nhánh iOS lại là phần chính.

Điểm cuối đáng nhấn: nhiều đội tự dựng nhánh Android và vẫn dùng dịch vụ cho nhánh iOS. Cách này cắt được phần lớn số lượt build tính tiền mà không phải bỏ vốn mua máy Mac.

Mô hình kết hợp cho đội nhỏ

Cấu hình mà nhiều đội Việt Nam dừng lại sau khi thử qua các phương án:

  1. Một VPS Linux dựng nhánh Android cho mọi lượt build hằng ngày, và chạy luôn backend của ứng dụng.
  2. Dịch vụ theo lượt giữ lại cho nhánh iOS và cho những lúc máy riêng bận hoặc đang bảo trì.
  3. Máy Mac bổ sung sau, khi số lượt build iOS đủ lớn để hoàn vốn.

Cách này giữ chi phí thấp ở giai đoạn đầu, không khóa bạn vào hướng nào, và quan trọng nhất là bạn luôn có đường thứ hai khi một bên gặp sự cố. Toàn bộ cấu hình build ở cả hai nơi đều mô tả bằng file trong repo, nên chuyển qua lại không phải làm lại từ đầu.

Đếm đúng số lượt dựng trước khi tính tiền

TerminalĐếm đúng số lượt dựng trước khi tính tiềnbash
# Dem so lan dung that trong mot thang, dung uoc theo cam giac# Xem lich su trong bang dieu khien dich vu, hoac dem trong lich su kho ma nguon git log --since="1 month ago" --oneline | wc -l   # so lan day ma# So lan dung thuong bang hoac hon con so nay # Ghi lai trong mot thang:#   so lan dung ban Android#   so lan dung ban iOS#   thoi gian trung binh moi lan # Roi moi tinh: so lan x don gia, so voi chi phi tu dung
Số lượt dựng mỗi thángPhương án thường rẻ hơn
Dưới 20Dịch vụ có sẵn
20 tới 60Tự dựng bản Android, dùng dịch vụ cho bản iOS
Trên 60Tự dựng cả hai, gồm cả máy Mac riêng

Thời gian xếp hàng không nằm trên hóa đơn

Khoản này không nằm trên hóa đơn nhưng thường lớn nhất. Dịch vụ dùng chung có lúc phải xếp hàng chờ máy, nhất là vào giờ cao điểm quốc tế. Chờ thêm mười phút mỗi lần dựng, nhân với số lượt, là con số đáng kể.

  • Ghi lại thời gian từ lúc bấm dựng tới lúc có bản, không chỉ thời gian máy chạy.
  • Máy tự dựng không phải xếp hàng, đây là lợi thế rõ nhất bên cạnh chi phí.
  • Nhưng máy tự dựng phải bảo trì: cập nhật công cụ, dọn bộ nhớ đệm, xử lý khi hỏng. Tính khoảng vài giờ mỗi tháng.

Dựng bản Android trên máy chủ của chính bạn

  • Bản Android dựng trên máy chủ Linux của bạn: chi phí phẳng, không xếp hàng, và dựng được cả bản thử lẫn bản phát hành.
  • Bản iOS dùng dịch vụ cho tới khi số lượt đủ lớn để mua máy Mac.
  • Bản thử cho người kiểm thử dựng ở máy của bạn, chỉ dùng dịch vụ cho bản nộp cửa hàng.

Cấu hình máy dựng và cách tự động hóa nằm ở bài về dựng ứng dụng Android trên máy chủ.

Câu hỏi thường gặp

Điểm hòa vốn giữa hai hướng là bao nhiêu?

Tính bằng số lượt build mỗi tháng nhân đơn giá, so với giá thuê máy cộng công vận hành. Với đội build hằng ngày thì tự dựng gần như luôn rẻ hơn, còn dưới khoảng mười lượt mỗi tháng thì dịch vụ tiện và rẻ hơn.

Tự dựng máy build có khó không?

Nhánh Android không khó, chủ yếu là cài JDK, bộ công cụ dòng lệnh và nhớ chấp nhận giấy phép SDK. Nhánh iOS mới là phần vướng vì bắt buộc phải có phần cứng của Apple.

Máy build tự dựng cấu hình bao nhiêu?

Bắt đầu từ 4 vCPU và 8GB RAM cho dự án vừa, ổ từ 60GB. Nếu nhiều người build song song thì lên 8 vCPU và 16GB. Ổ NVMe rút ngắn thời gian rõ vì quá trình build đọc ghi rất nhiều file nhỏ.

Chuyển từ dịch vụ sang máy riêng có mất công không?

Ít, vì cấu hình build vốn nằm trong repo dưới dạng file. Phần mất công là dựng máy lần đầu và cắm vào hệ thống tự động hóa. Sau đó thì hai đường chạy song song được, không phải chọn một.

Chia sẻ:Facebook

Thanh Nguyễn

TND

Tư vấn bản quyền, VPS và máy chủ kèm hóa đơn VAT, hợp đồng đầy đủ cho doanh nghiệp.