“Chuyển khỏi COBOL sẽ tốn bao nhiêu?” là câu hỏi đầu tiên mà mọi hội đồng quản trị đặt ra, và câu trả lời trung thực là nó phụ thuộc vào nhiều thứ hơn là quy mô của mã nguồn. Hướng dẫn này phân tích điều thực sự chi phối chi phí di trú COBOL tại Anh, các khoảng ngân sách và tiến độ thực tế, cùng những rủi ro biến một dự án được lập kế hoạch kỹ lưỡng thành vượt ngân sách.

Tóm tắt (TL;DR)

  • Một dự án di trú COBOL cỡ trung tại Anh thường tốn từ 200.000 đến 800.000 bảng Anh và mất từ một đến hai năm; việc ngừng vận hành máy tính lớn hoàn toàn có thể lên tới hàng triệu bảng và kéo dài nhiều năm
  • Chi phí bị chi phối bởi độ phức tạp của mã nguồn, logic nghiệp vụ không có tài liệu và việc thiết kế lại tầng truy cập dữ liệu, nhiều hơn nhiều so với số dòng mã thuần túy
  • Việc chọn ngôn ngữ đích và cách tiếp cận di trú làm thay đổi ngân sách một cách rõ rệt
  • Lý do phổ biến nhất khiến dự án vượt ngân sách là đánh giá thấp phạm vi, đặc biệt là các quy tắc nghiệp vụ không có tài liệu và tầng truy cập dữ liệu

Điều thực sự chi phối chi phí di trú COBOL

Số dòng mã là con số nổi bật, nhưng tự nó là một chỉ báo yếu. Các yếu tố chi phí thực sự là:

Độ phức tạp, không chỉ là quy mô. Một hệ thống 100.000 dòng gồm các chương trình batch gọn gàng rẻ hơn để di trú so với một hệ thống 50.000 dòng dày đặc EXEC CICS, CALL động và REDEFINES phức tạp. Hệ thống xử lý giao dịch tốn kém hơn hệ thống batch cùng quy mô.

Logic nghiệp vụ không có tài liệu. Các hệ thống COBOL thường mang theo 30 đến 40 năm quy tắc nghiệp vụ nhúng trong mã mà không có tài liệu bên ngoài. Việc khám phá lại và xác thực những quy tắc đó thường là hạng mục lớn nhất và khó dự đoán nhất.

Tầng truy cập dữ liệu. EXEC SQL đối với DB2 và việc xử lý tệp VSAM hiếm khi được chuyển đổi tự động. Chúng phải được thiết kế lại trên công nghệ truy cập dữ liệu của nền tảng đích, và đây thường là hạng mục công việc lớn nhất sau khi khám phá logic nghiệp vụ.

Chuyển đổi định dạng dữ liệu. Số thập phân đóng gói (COMP-3), mã hóa EBCDIC và bố cục chiều rộng cố định đều cần ánh xạ tường minh và kiểm thử với dữ liệu thực.

Ngôn ngữ đích và cách tiếp cận. Chúng dịch chuyển ngân sách theo những cách có thể dự đoán (trình bày bên dưới).

Kiểm thử và chuyển đổi vận hành. Việc xây dựng một bộ kiểm thử hồi quy chứng minh sự tương đương đầu ra, và thực hiện một cuộc chuyển đổi an toàn có khả năng khôi phục, là công sức thực sự và không hề tầm thường mà các ước tính thiếu kinh nghiệm bỏ qua.

Các khoảng chi phí và tiến độ tham khảo (Anh)

Các khoảng này bao gồm phân tích, di trú, kiểm thử và hỗ trợ vận hành. Chúng không bao gồm chi phí vận hành liên tục, đào tạo và công việc tích hợp hạ nguồn thường xuất hiện giữa dự án.

Quy mô hệ thốngCách tiếp cậnChi phí ước tínhTiến độ điển hình
Nhỏ (< 50.000 dòng)Viết lại song songtừ 80.000 đến 200.000 bảng Anh3 đến 9 tháng
Trung bình (50.000 đến 500.000 dòng)Strangler figtừ 200.000 đến 800.000 bảng Anh12 đến 24 tháng
Lớn (500.000+ dòng)Tái cấu trúc tự động + tăng dầntừ 500.000 đến 2.000.000+ bảng Anh2 đến 4 năm
Ngừng vận hành máy tính lớn cũChương trình đầy đủtừ 1.000.000 đến 10.000.000+ bảng Anh3 đến 5 năm+

Hãy xem chúng là các khoảng lập kế hoạch, không phải báo giá. Một ước tính đúng đắn đòi hỏi đánh giá mã; khoảng dao động trong mỗi bậc được quyết định bởi các yếu tố phức tạp ở trên.

Ngôn ngữ đích ảnh hưởng đến chi phí như thế nào

Ngôn ngữ đích thay đổi cả hồ sơ công sức lẫn chi phí sở hữu dài hạn. Nói chung:

  • Python ánh xạ tự nhiên với phong cách thủ tục của COBOL và có nguồn lập trình viên lớn nhất, điều này có xu hướng giảm chi phí chuyển đổi và bảo trì dài hạn.
  • C# hiệu quả cho các tổ chức đã dùng nền tảng .NET và Azure, và kiểu decimal gốc của nó giảm công sức để xử lý đúng độ chính xác tài chính.
  • Java phù hợp với các doanh nghiệp dựa trên JVM; BigDecimal xử lý độ chính xác đúng cách nhưng thêm phần dài dòng.
  • Go hiệu quả để xây dựng và triển khai, nhưng việc thiếu kiểu thập phân gốc làm tăng công sức rà soát cho các trường tài chính.
  • Rust có xu hướng nghiêng về đầu trên của bất kỳ bậc quy mô nào vì mô hình sở hữu của nó thêm công sức thiết kế ban đầu.

Tổng quan về di trú COBOL so sánh cả sáu ngôn ngữ đích cạnh nhau để giúp bạn lựa chọn.

Cách tiếp cận di trú ảnh hưởng đến chi phí như thế nào

  • Chuyển đổi tự động giảm công sức dịch cơ học nhưng không bao giờ tạo ra một hệ thống hoàn chỉnh; hãy dự trù cho công việc thủ công mà công cụ đánh dấu (SQL nhúng, CICS, lời gọi động, độ chính xác thập phân).
  • Viết lại song song gần như tăng gấp đôi chi phí vận hành trong quá trình chuyển tiếp vì hai hệ thống chạy cùng lúc, nhưng nó giảm thiểu rủi ro liên tục. Nó phù hợp với các hệ thống nhỏ hơn, trọng yếu.
  • Tăng dần (strangler fig ) phân bổ chi phí theo thời gian và giảm rủi ro chuyển đổi một lần, đổi lại là giai đoạn lai dài hơn. Đây là cách tiếp cận phổ biến nhất cho các hệ thống doanh nghiệp lớn tại Anh.

Hầu hết các dự án thực tế đều kết hợp chuyển đổi tự động với triển khai tăng dần.

Những rủi ro gây vượt ngân sách

Các dự án di trú vượt ngân sách vì những lý do có thể dự đoán. Năm nguyên nhân lớn:

  1. Đánh giá thấp việc khám phá logic nghiệp vụ. Quy tắc nằm trong mã, không phải trong tài liệu. Hãy dự trù thời gian khám phá tường minh.
  2. Thiết kế lại truy cập dữ liệu. Truy cập DB2 và VSAM không tự động chuyển sang. Hãy coi nó là một luồng công việc riêng.
  3. Kiểm thử hồi quy không đầy đủ. Nếu không kiểm thử tương đương đầu ra trên dữ liệu thực, bạn không thể chứng minh cuộc di trú là đúng. Hãy xây dựng bộ kiểm thử trước khi di trú bắt đầu.
  4. Lỗi độ chính xác thập phân. Các trường tài chính được ánh xạ sang kiểu dấu phẩy động sẽ âm thầm làm hỏng tiền. Hãy ánh xạ sang kiểu thập phân đúng của ngôn ngữ đích.
  5. Thất bại khi chuyển đổi vận hành. Việc chuyển sang môi trường sản xuất là khoảnh khắc rủi ro cao nhất. Một kế hoạch chuyển đổi chi tiết có khôi phục và đối chiếu là bắt buộc.

Cách nhận được một ước tính chính xác

Một con số đáng tin cậy đến từ đánh giá mã, không phải đếm dòng. Một đánh giá tốt kiểm kê các chương trình và copybook, xác định các điểm nóng EXEC SQL / EXEC CICS / lời gọi động, đo mật độ logic nghiệp vụ và lập bản đồ bề mặt truy cập dữ liệu. Dịch vụ di trú COBOL của Mecanik cung cấp đánh giá cho doanh nghiệp Anh và di trú trọn gói; đối với các hạ tầng máy tính lớn trên IBM z/OS, dịch vụ di trú máy tính lớn cũ bao gồm việc ngừng vận hành hạ tầng cùng với mã.

Những điểm chính

  • Một dự án di trú COBOL cỡ trung tại Anh thường tốn từ 200.000 đến 800.000 bảng Anh trong một đến hai năm; việc ngừng vận hành máy tính lớn lên tới hàng triệu bảng.
  • Độ phức tạp, logic nghiệp vụ không có tài liệu và việc thiết kế lại truy cập dữ liệu chi phối chi phí nhiều hơn nhiều so với số dòng mã.
  • Ngôn ngữ đích và cách tiếp cận di trú đều dịch chuyển ngân sách theo những cách có thể dự đoán.
  • Vượt ngân sách đến từ việc đánh giá thấp khám phá, kiểm thử và chuyển đổi; một đánh giá mã đúng đắn là cơ sở đáng tin cậy duy nhất cho một báo giá.

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

Chi phí di trú COBOL tại Anh là bao nhiêu? Một hệ thống nhỏ thường tốn từ 80.000 đến 200.000 bảng Anh, một hệ thống cỡ trung từ 200.000 đến 800.000 bảng Anh, và các hệ thống lớn từ 500.000 trở lên. Các chương trình ngừng vận hành máy tính lớn hoàn toàn dao động từ 1.000.000 đến hàng chục triệu. Độ phức tạp, chứ không phải số dòng mã, quyết định bạn nằm ở đâu trong khoảng.

Di trú COBOL mất bao lâu? Các hệ thống nhỏ, có tài liệu tốt mất từ ba đến chín tháng. Các hệ thống doanh nghiệp cỡ trung kéo dài từ mười hai đến hai mươi tư tháng. Các chương trình máy tính lớn quy mô lớn mất từ ba đến năm năm hoặc hơn để ngừng vận hành hoàn toàn.

Tại sao chi phí di trú COBOL chênh lệch nhiều đến vậy? Vì độ phức tạp dao động rất lớn. Logic nghiệp vụ không có tài liệu, SQL và CICS nhúng, chuyển đổi định dạng dữ liệu, ngôn ngữ đích và cách tiếp cận di trú đều dịch chuyển chi phí. Hai hệ thống có cùng số dòng mã có thể chênh nhau một bậc độ lớn.

Chuyển đổi tự động có giảm chi phí không? Nó giảm công sức dịch cơ học, nhưng không công cụ nào tạo ra một hệ thống hoàn chỉnh. Bạn vẫn phải dự trù cho tầng truy cập dữ liệu, các quyết định về độ chính xác thập phân, kiểm thử và chuyển đổi mà công cụ đánh dấu cần làm thủ công.

Nguyên nhân lớn nhất gây vượt ngân sách khi di trú COBOL là gì? Đánh giá thấp phạm vi, đặc biệt là logic nghiệp vụ không có tài liệu và việc thiết kế lại truy cập dữ liệu. Xây dựng một bộ kiểm thử hồi quy cho sự tương đương đầu ra trước khi di trú bắt đầu là cách hiệu quả nhất để kiểm soát rủi ro đó.