Sử dụng Kho lưu trữ Apt để cập nhật phần mềm trả phí


9

Tôi đang cố gắng xác định cách phân phối các bản cập nhật phần mềm cho ứng dụng web được lưu trữ / tại chỗ có thể có các bản cập nhật hàng tuần và / hoặc hàng tháng. Tôi không muốn khách hàng sử dụng sản phẩm tại chỗ phải lo lắng về việc cập nhật thủ công. Tôi chỉ muốn nó tải xuống và cài đặt tự động trên Google Chrome. Tôi dự định cung cấp tệp OVF với Ubuntu và phần mềm được cài đặt và định cấu hình.

Suy nghĩ đầu tiên của tôi về cách phân phối phần mềm là tạo sáu kho / kênh Apt (không chắc chắn sẽ tốt hơn vào thời điểm này) sẽ được truy cập thông qua SSH bằng cách sử dụng khóa để nếu khách hàng không gia hạn đăng ký, chúng tôi có thể vô hiệu hóa tài khoản của họ :

  1. Beta - Được sử dụng nội bộ trên dữ liệu thử nghiệm để kiểm tra gói cho các lỗi lớn.
  2. Nội bộ - Được sử dụng nội bộ trên dữ liệu trực tiếp để kiểm tra các gói lỗi (giai đoạn ăn thịt chó).
  3. Bên ngoài 1 - Đã triển khai tới 1% cơ sở người dùng của chúng tôi (được chọn ngẫu nhiên) để kiểm tra lỗi.
  4. Bên ngoài 9 - Đã triển khai đến 9% cơ sở người dùng của chúng tôi (được chọn ngẫu nhiên) để kiểm tra lỗi.
  5. Bên ngoài 90 - Đã triển khai cho 90% người dùng còn lại.
  6. Lưu trữ - Triển khai vào môi trường lưu trữ.

Nó sẽ mất một dấu hiệu ở mỗi giai đoạn để chuyển sang kho lưu trữ tiếp theo trong trường hợp các vấn đề được báo cáo.

Câu hỏi của tôi cho cộng đồng là:

  1. Có ai đã thử một cái gì đó như thế này trước đây?
  2. Bất cứ ai cũng có thể thấy một nhược điểm của loại thủ tục này?
  3. Có cách nào tốt hơn?

3
Chỉ tò mò, nhưng có gì để ngăn ai đó tải xuống bản cập nhật từ kho lưu trữ của bạn, sau đó xuất bản lại qua mạng P2P? Tôi cũng sẽ lưu ý rằng nếu bạn muốn khách hàng của bạn thêm kho lưu trữ của bạn vào tệp nguồn.list của họ, bạn có thể muốn đề cập đến Apt-Pinning để bảo mật cho chính họ. Nếu không, ai đó có thể chèn một libc độc hại vào repo của bạn và khách hàng của bạn sẽ tự động cập nhật lên nó.
Jeff Welling

Câu trả lời:


1

Nhìn chung, tôi thích cách tiếp cận. Các vấn đề vi phạm bản quyền dù sao cũng không thể được khắc phục, cho dù là phân phối truyền thống hay tự động, và bạn có thể tránh được sự bất tiện của chương trình cấp phép.

Bạn có thể gặp vấn đề với các lựa chọn ngẫu nhiên. Là một khách hàng được chọn là người chấp nhận sớm trong toàn bộ thời gian của mối quan hệ kinh doanh của bạn? Nếu không, làm thế nào để hạ cấp từ bên ngoài 1 xuống bên ngoài 9?


Kế hoạch của tôi là có một lựa chọn ngẫu nhiên mỗi tháng hoặc lâu hơn và nếu bạn ở trong nhóm 1 bên ngoài, bạn sẽ ngoại trừ nhóm trong vài giai đoạn.
Scott Keck-Warren

Bạn có thể gặp phải vấn đề với điều đó, vì khá khó đoán người dùng nào có bản nâng cấp nào và ai cần được cập nhật. Giả sử bạn có một lỗi trong bên ngoài 1 và một người dùng vừa thoát khỏi bên ngoài 1, bạn cần phải đẩy hotfix tất cả sang bên ngoài 90. Có lẽ bạn chỉ cần hỏi những khách hàng muốn trở thành người chấp nhận sớm?
năm11

0

Bạn đã nghĩ về cấp phép chung và bảo vệ loại điện thoại nhà cho phần mềm của bạn chưa?

Vấn đề tôi thấy ở đây (không có bất kỳ giấy phép nào) là tôi có thể trả tiền trong một tháng, dừng lại, sau đó tiếp tục chạy trên phiên bản này. Chắc chắn nó cũ, nhưng nó miễn phí. Lỗ hổng này sẽ được khai thác bởi ít nhất một số người

Nếu bạn đã có giấy phép, thì chỉ cần có các kho lưu trữ đơn giản không được bảo vệ với phần mềm yêu cầu kiểm tra giấy phép trước khi chạy


2
Cảm ơn vì bạn đã phản hồi. Để giảm bớt nỗi đau để mọi người sử dụng, kế hoạch của tôi là để phần mềm chạy ở chế độ tính năng đầy đủ trong 30 ngày, sau đó yêu cầu khách hàng mua các bản cập nhật và hỗ trợ ít nhất một năm để đưa nó ra khỏi "bị tê liệt " chế độ. Nếu họ chọn ngừng trả tiền cho sản phẩm sau thời gian đó họ có thể và họ sẽ không nhận được các bản cập nhật hoặc hỗ trợ công nghệ tuyệt vời của chúng tôi. :-)
Scott Keck-Warren

@TheLQ: Tôi không thấy đó là một vấn đề: Có quyền truy cập vào kho lưu trữ là những gì bạn đang trả tiền cho dù sao. Nếu bạn ngừng thanh toán, bạn sẽ không nhận được các bản cập nhật khắc phục các sự cố và lỗi bảo mật hoặc thêm tính năng. Đó dường như là một mô hình kinh doanh hoàn toàn lành mạnh với tôi.
greyfade

0

Tôi không biết đủ về phần mềm của bạn và / hoặc bản chất của khách hàng của bạn, nhưng ở nhiều nơi, các bản cập nhật không được cài đặt mà không được kiểm tra. Nhiều công ty sử dụng khóa cấp phép sẽ hết thời gian. Cho phép họ tải xuống bản cập nhật và bắt đầu bằng tay. Cập nhật tự động là thuận tiện, nhưng đôi khi người dùng không thích sự ngạc nhiên.


0

Hãy nhìn vào khung Sparkle cho OS X, nó rất giống với cơ chế cập nhật Chrome nhưng cung cấp phản hồi của người dùng để họ có thể bỏ qua bản cập nhật hoặc thực hiện sau. Tôi đã có các ứng dụng cập nhật cho tôi và thay đổi chức năng mà tôi cần, luôn luôn tốt nhất để hỏi người dùng.

Mặc dù vậy, tôi thích ý tưởng apt, có ý nghĩa để thực hiện theo cách đó, nó đơn giản và thực sự, thực sự được thử nghiệm tốt vào thời điểm này.


0

Tôi biết về một công ty đang làm gần như chính xác những gì bạn đã mô tả. (Ít tầng hơn bạn đã mô tả và tôi không biết họ đang xác thực như thế nào.)

Vấn đề lớn nhất họ gặp phải là một số khách hàng chặn truy cập internet từ thiết bị của họ. Điều đó có nghĩa là những khách hàng đó chỉ bị khóa với phiên bản mà họ đã cài đặt. Có lẽ điều đó tốt. Tôi nghĩ rằng họ đã thảo luận về việc mở các quy tắc tường lửa với một số khách hàng đó. Những người khác chỉ cần nâng cấp bằng tay.


0

Nếu tôi làm điều đó tôi sẽ làm nó dựa trên địa chỉ IP. Vì vậy, khi họ đến để tải xuống địa chỉ IP của họ phải nằm trong danh sách được phép để kết nối với máy chủ đó nếu không họ không thể tải xuống. Thật tệ nếu họ không có ip chuyên dụng nhưng không chắc là bạn đang nói về điều gì nếu máy chủ hoạt động nếu đó là cho các trạm làm việc thì tốt hơn bạn nên thiết lập chúng với kênh máy chủ apt và sau đó tải xuống một bản sao thông qua công việc định kỳ hoặc một cái gì đó qua ftp và cứ sau một tuần một lần và sau đó có các máy trạm tải xuống từ đó thực sự tùy thuộc vào bạn.


0

Đây là một cách tiếp cận dày dạn.

Một số cạm bẫy cần xem xét:

  • Bạn có thể không phải lúc nào cũng muốn đi 1 phần trăm, 9 phần trăm, 90 phần trăm. Khách hàng của bạn có thể không đồng nhất, có nghĩa là bạn có thể muốn bắt đầu chuyên biệt, giả sử theo vùng, theo loại thiết bị, v.v. trong trường hợp phân phối 1, 9, 90 phần trăm trên toàn cầu không còn ý nghĩa.

  • Có một kho lưu trữ duy nhất cho 90 phần trăm người dùng của bạn giới thiệu điểm nóng - máy chủ đó sẽ gặp phải hàng loạt yêu cầu, điều đó có nghĩa là nó sẽ là người đầu tiên chết trong trường hợp tăng lưu lượng truy cập, gây ra sự cố ngừng hoạt động cho 90 phần trăm người dùng của bạn. Dự phòng tất nhiên giúp, nhưng điều đó giới thiệu chi phí tổng thể nhiều hơn.

  • Bạn có thể có một quy trình làm việc trong đó một số tính năng đã sẵn sàng để phân phối cho 90 phần trăm tất cả người dùng, nhưng một bản cập nhật toàn cầu sẽ khiến các tính năng không sẵn sàng cho việc áp dụng 90 phần trăm để sản xuất, đưa ra các tắc nghẽn trong quy trình phát triển của bạn. Một bản phân phối cố định sẽ không thể xử lý các vấn đề này một cách hiệu quả, buộc bạn phải xử lý vấn đề này ở cấp ứng dụng.

Một cách để khắc phục điều đó là giữ nhiều bản sao của các repos sản xuất trên các máy chủ khác nhau, đặt một bộ cân bằng tải có thể định cấu hình trước nó , và sau đó cập nhật cẩn thận các repos sản xuất của bạn tăng dần trên cơ sở cán. Nói cách khác, coi tất cả các repos là cuối cùng muốn giống nhau, nhưng định cấu hình lưu lượng để tỷ lệ người dùng đọc từ máy chủ có thể thay đổi.

Lợi ích là bạn có thể định cấu hình phân phối các yêu cầu theo cách sử dụng bộ cân bằng tải của mình, bạn có thể mở rộng quy mô theo chiều ngang tốt hơn (tất cả các máy chủ của bạn có thể bắt đầu phục vụ cùng một repo theo tỷ lệ nếu tất cả các tính năng đã sẵn sàng để áp dụng 100%), và tùy thuộc vào cách bạn quy trình làm việc của nhóm là và nhu cầu cập nhật cụ thể theo vùng của bạn, cuối cùng bạn có thể cho phép một số tính năng nhất định có sẵn ngay lập tức mà không phải lo lắng về các tính năng khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.