Trao đổi về dự án
Hiện đại hóa ứng dụng

Cập nhật hoặc di chuyển một ứng dụng mà không gián đoạn: chiến lược tương thích, dữ liệu và khôi phục

Số không dừng không phải là một lệnh triển khai. Nó là một thuộc tính về khả năng tương thích giữa các phiên bản, dữ liệu, người dùng và các hệ thống bên ngoài.

Cập nhật hoặc di chuyển một ứng dụng mà không gián đoạn: chiến lược tương thích, dữ liệu và khôi phục

Một quá trình di cư liên tục không chỉ đơn giản là triển khai hai phiên bản phía sau một bộ phân phối. Các phiên bản phải bao gồm cùng dữ liệu, các tác vụ không đồng bộ không được trùng lặp, các tích hợp phải vẫn tương thích và việc quay lại phải bảo toàn các hoạt động đã thực hiện sau khi chuyển đổi.

Mục tiêu thực sự không phải lúc nào cũng là « không giây nào mất mát ». Mục tiêu là làm cho sự gián đoạn có thể dự đoán được, có giới hạn và không gây mất mát, hoặc duy trì dịch vụ khi công việc yêu cầu. Một khoảng thời gian ngắn và đã được kiểm tra có thể an toàn hơn so với sự tồn tại phức tạp nhưng không được kiểm soát tốt.

Xác định sự liên tục mong đợi

Các thuật ngữ phải được định lượng:

  • thời gian không khả dụng tối đa chấp nhận được ;
  • các tính năng có thể chuyển sang chế độ chỉ đọc ;
  • khối lượng dữ liệu có thể phát lại;
  • RTO và RPO;
  • lịch trình và dân số trọng yếu;
  • các hệ thống bên ngoài cần phối hợp ;
  • thời gian quan sát trước khi xác nhận chính thức.

Một tuyến đường phụ có thể tạm thời bị vô hiệu hóa trong khi cuộc tham vấn vẫn còn khả dụng. Sự suy giảm có kiểm soát này đôi khi làm cho việc di cư trở nên đơn giản hơn nhiều.

Lập bản đồ sự tương thích

Đối với mỗi kết hợp, hãy kiểm tra:

  • mã cũ với sơ đồ cũ ;
  • mã mới với sơ đồ cũ ;
  • mã cũ với sơ đồ mới;
  • mã mới với sơ đồ mới.

Một quá trình di cư dần dần thường đòi hỏi nhiều kết hợp hoạt động trong một khoảng thời gian. Tin nhắn, bộ nhớ đệm, tệp và API cũng là những hợp đồng cần phiên bản hóa.

Phương pháp mở rộng, di cư, thu hẹp

Mở rộng

Thêm các trường, bảng, điểm cuối hoặc định dạng mới mà không xóa cái cũ. Các thay đổi tương thích và thường là tùy chọn. Mã mới có thể đọc trạng thái cũ.

Di cư

Triển khai mã tương thích, bắt đầu viết định dạng mới, sau đó chuyển dần dữ liệu hiện có. Các kiểm soát so sánh khối lượng, tổng, dấu vân tay hoặc mẫu.

Hợp đồng

Khi tất cả người tiêu dùng sử dụng mô hình mới và việc quan sát mang lại kết quả thuyết phục, loại bỏ trường cũ, điểm cuối cũ hoặc mã tương thích. Giai đoạn này có thể diễn ra sau nhiều lần triển khai hơn.

Trình tự mở rộng, di cư, xác thực, chuyển đổi, quan sát và rút bỏ lược đồ cũ.

Thiết kế các di cư cơ sở dữ liệu

Các thao tác chặn trên các bảng lớn cần được đo lường trên một bản sao đại diện. Một số thay đổi có thể được thực hiện trực tuyến, trong khi những thay đổi khác yêu cầu một chiến lược theo lô hoặc một cấu trúc mới.

Một backfill vững chắc có:

  • các lô có giới hạn;
  • một con trỏ hoặc trạng thái tiếp tục ;
  • một tính chất idempotent;
  • một giới hạn tải;
  • các chỉ số ;
  • một xác nhận nghiệp vụ ;
  • một thủ tục dừng lại.

Nó không được làm đầy cơ sở dữ liệu cũng như không được ngăn cản các ghi chép bình thường.

Đọc đôi và ghi đôi

Việc ghi đôi có thể duy trì hai mô hình, nhưng nó đưa ra một rủi ro về sự khác biệt. Nó phải được tập trung, có tính nhân quả và được giám sát. Một giao dịch phân tán không phải lúc nào cũng cần thiết; một hàng đợi và cơ chế sửa chữa có thể thực tế hơn.

Việc đọc kép cho phép so sánh kết quả hoặc quay lại hệ thống cũ. Nó phải xác định nguồn nào có thẩm quyền và cách xử lý khi có sự khác biệt.

Các chiến lược tạm thời có một ngày rút lui. Nếu không, chúng sẽ trở thành kiến trúc lâu dài.

Xanh lam-xanh lục, vàng canari và lăn

Xanh lam lục

Hai môi trường đầy đủ cùng tồn tại. Lưu lượng sẽ chuyển sang môi trường mới sau khi được xác nhận. Việc quay trở lại diễn ra nhanh chóng miễn là dữ liệu vẫn tương thích. Chi phí hạ tầng và việc đồng bộ cần được dự đoán trước.

chim hoàng yến

Một phần nhỏ lưu lượng sử dụng phiên bản mới. Các số liệu cho phép mở rộng hoặc dừng lại. Việc định tuyến phải bảo toàn các phiên và sự khác biệt về dân số phải được hiểu rõ.

Lăn

Các thể hiện được thay thế dần dần. Phiên bản cũ và phiên bản mới cùng tồn tại, điều này đòi hỏi sự tương thích nghiêm ngặt của dữ liệu, bộ nhớ đệm và tin nhắn.

Dừng có kế hoạch

Đối với một số biến đổi, một cửa sổ bảo trì vẫn là giải pháp an toàn nhất. Nó phải được thông báo, nhắc lại và đi kèm với một kế hoạch khôi phục.

Tác vụ đã lập kế hoạch và hàng đợi tin nhắn

Hai phiên bản có thể thực hiện cùng một nhiệm vụ hoặc diễn giải một thông điệp khác nhau. Người tiêu dùng phải quản lý các phiên bản của lược đồ, phải bất biến và theo dõi trạng thái xử lý.

Trong quá trình chuyển đổi, có thể cần phải tạm dừng một nhà sản xuất, xóa một hàng đợi, thay đổi luồng định tuyến hoặc duy trì một người tiêu dùng để tương thích. Những thao tác này có trong sổ tay vận hành.

Phiên, bộ nhớ đệm và tệp

Các phiên phải được chia sẻ hoặc tương thích. Thay đổi định dạng phiên có thể làm người dùng bị ngắt kết nối hoặc gây ra lỗi. Bộ nhớ đệm phải bao gồm phiên bản định dạng hoặc bị vô hiệu hóa một cách có kiểm soát.

Việc di chuyển lưu trữ tệp yêu cầu sao chép, kiểm tra tính toàn vẹn, đồng bộ các tệp mới và chiến lược liên kết. Việc chuyển hướng minh bạch có thể cho phép quá trình chuyển tiếp dần dần.

Tích hợp bên ngoài

Các đối tác không phải lúc nào cũng thay đổi cùng một nhịp độ. Một giao diện có thể duy trì hợp đồng cũ trong khi điều chỉnh hệ thống mới. Các webhook phải chấp nhận việc phát lại và phân biệt các phiên bản.

Trước khi chuyển đổi, hãy xác nhận các chứng chỉ, danh sách địa chỉ, hạn mức, môi trường, lịch trình và liên hệ khi có sự cố. Các phụ thuộc con người là một phần của kế hoạch.

Việc quay lại không phải lúc nào cũng khả thi

Quay trở lại mã trước đó chỉ đơn giản nếu dữ liệu được tạo ra vẫn dễ hiểu. Nếu hệ thống mới tạo ra các cấu trúc hoặc thao tác mà hệ thống cũ không biết, việc phục hồi có thể làm mất hoặc che giấu thông tin.

Có ba chiến lược tồn tại:

  • trả lại đầy đủ với việc phục hồi và phát lại có kiểm soát;
  • trả lại lưu lượng truy cập để đọc, xử lý thủ công các bút toán;
  • tiến triển nhanh với bản sửa lỗi.

Chiến lược được chọn trước khi di cư và được lặp lại.

Lặp lại với dữ liệu đại diện

Một buổi diễn tập phải đo thời lượng của từng giai đoạn, khối lượng, tải trọng, kiểm soát và phản hồi. Các dữ liệu nhạy cảm được ẩn danh hoặc tổng hợp, nhưng việc phân phối và các dị thường vẫn phải giữ tính thực tế.

Sổ tay vận hành được thực hiện bởi những người sẽ can thiệp vào môi trường sản xuất. Các lệnh, trách nhiệm, ngưỡng và thông tin liên lạc đều được nêu rõ.

Xác định các tiêu chí đi/không đi

Trước khi cân, kiểm tra:

  • kiểm tra và nghiệm thu đã hoàn tất;
  • sao lưu và khôi phục đã được xác nhận;
  • khả năng đủ;
  • các chỉ số và cảnh báo hoạt động ;
  • dữ liệu được đồng bộ hóa;
  • đối tác có sẵn;
  • kế hoạch trở về khả thi;
  • người ra quyết định đã được xác định.

Một tiêu chí không được đáp ứng dẫn đến việc hoãn lại hoặc chấp nhận chính thức rủi ro.

Quan sát sau khi chuyển đổi

Các chỉ số kỹ thuật phải liên quan đến nghiệp vụ: lỗi, độ trễ, hàng đợi, tỷ lệ kết nối, giao dịch, số tiền, khối lượng và hỗ trợ. Các kiểm soát tính nhất quán so sánh hệ thống cũ và hệ thống mới khi có thể.

Việc di cư chỉ kết thúc sau một giai đoạn quan sát, giải quyết các chênh lệch và rút các cơ chế tạm thời.

Ghi chép và làm sạch

Cờ, các bản viết đôi, các bảng cũ, quyền truy cập và môi trường tạm thời phải được loại bỏ. Sơ đồ kiến trúc, các quy trình và kiểm kê được cập nhật.

Báo cáo kinh nghiệm ghi lại thời gian thực tế, những bất ngờ và cải tiến cho lần di cư tiếp theo.

Tương thích như một chiến lược

Các cuộc di cư an toàn được chuẩn bị bởi những thay đổi nhỏ, tương thích và có thể quan sát được. Kỷ luật này cho phép hiện đại hóa mà không tập trung tất cả rủi ro trong một đêm.

Partitech có thể kiểm toán các phụ thuộc, thiết kế các bước, tự động hóa các kiểm soát và hỗ trợ chuyển đổi các ứng dụng, CMS, cơ sở dữ liệu và hạ tầng. Mục tiêu là một quá trình chuyển đổi có thể đảo ngược và dễ hiểu, phù hợp với mức độ quan trọng của nghiệp vụ.

Hãy nói về dự án của bạn

Chuẩn bị một việc di cư có thể kiểm tra và đảo ngược với Partitech. Liên hệ Partitech.

Chia sẻ bài viết