Nâng Cấp Hệ Thống Legacy Để Dẫn Đầu Trong Kỷ Nguyên Số
Hiện đại hóa hệ thống cũ đang nhận được sự quan tâm lớn từ các tổ chức CNTT. Theo nghiên cứu, thị trường toàn cầu trong lĩnh vực này dự kiến sẽ đạt 24,8 tỷ USD vào năm 2025, với tốc độ tăng trưởng 17% mỗi năm.
Tuy nhiên, nâng cấp hệ thống legacy không phải là một dự án thực hiện trong một thời điểm nhất định. Phương pháp hiệu quả nhất là tiến hành theo từng giai đoạn, dựa trên việc phân tích toàn bộ danh mục ứng dụng của tổ chức.
Làm thế nào để xây dựng chiến lược hiện đại hóa hệ thống legacy?
Các ứng dụng legacy thường có nhiều sự phụ thuộc lẫn nhau mà bề ngoài không dễ thấy được. Vì vậy, không nên bắt đầu từ các ứng dụng cũ nhất rồi làm dần đến mới hơn.
Thay vào đó, hãy bắt đầu từ những chương trình có thể hoạt động độc lập và không ảnh hưởng đến hệ thống khác nếu được thay đổi. Hiện nay, có một nhóm công cụ mới nổi gọi là Enterprise Complexity Analysis (phân tích độ phức tạp doanh nghiệp) – giúp dò tìm các liên kết phụ thuộc trong mã nguồn. Dù chi phí cao, những công cụ này thường rất đáng đầu tư với các tổ chức có danh mục ứng dụng legacy lớn.
Ngoài ra, nâng cấp hệ thống legacy không phải là bài toán chọn một bỏ một. Theo Gartner, có đến 7 hình thức hiện đại hóa khác nhau, trong đó cơ bản nhất là “bao bọc” (encapsulate) dữ liệu và chức năng của hệ thống cũ để truy cập thông qua API – mà không cần sửa đổi mã nguồn.
Một số hình thức hiện đại hóa phổ biến khác gồm có:
- Triển khai lại ứng dụng trên hạ tầng đám mây mà không thay đổi gì (còn gọi là “lift & shift”)
- Di chuyển ứng dụng sang nền tảng chạy mới, ví dụ như container
- Tái cấu trúc mã nguồn để tối ưu hiệu suất
- Thay thế hoặc xây dựng lại ứng dụng hoàn toàn từ đầu
Ngay cả phương án cơ bản nhất cũng có thể giúp doanh nghiệp nâng cao khả năng mở rộng và khai thác các tính năng mới từ môi trường điện toán đám mây.
5 nhóm hệ thống phù hợp để hiện đại hóa:
Không có một chiến lược hiện đại hóa nào phù hợp cho tất cả. Mỗi loại phần mềm sẽ có những yếu tố cần cân nhắc riêng.
Dưới đây là 5 nhóm hệ thống legacy phổ biến nhất cùng chiến lược đề xuất để hỗ trợ quá trình nâng cấp hiệu quả hơn.
1. Hệ thống đã lỗi thời (Antiquated Systems)
Đây là những hệ thống được tổ chức xây dựng từ đầu từ thời máy tính mainframe và ngôn ngữ lập trình COBOL. Đây cũng chính là những ứng dụng khó hiện đại hóa nhất, và đôi khi việc nâng cấp chúng không thực sự là lựa chọn khôn ngoan.
Nếu hệ thống vẫn hoạt động ổn định và không gây rủi ro cho tổ chức, thì tốt nhất là nên giữ nguyên. Thay vào đó, doanh nghiệp có thể thu thập dữ liệu và chức năng từ hệ thống hiện tại, rồi cung cấp chúng dưới dạng API, trong khi tìm kiếm các giải pháp phần mềm đóng gói hiện đại hơn để thay thế trong tương lai.
2. Ứng dụng chạy trên máy chủ phổ thông (Applications on Commodity Servers)
Ảo hóa phần cứng X86 chạy Linux, Windows hoặc Unix có thể giúp tổ chức mở rộng tài nguyên linh hoạt theo nhu cầu và tối ưu hóa việc sử dụng phần cứng sẵn có.
Trong các trung tâm dữ liệu thông thường, ảo hóa giúp tăng tỷ lệ sử dụng máy chủ từ dưới 20% lên hơn 70%.
Bạn cũng có thể di chuyển các ứng dụng đã ảo hóa lên môi trường điện toán đám mây. Tất cả các nhà cung cấp cloud lớn đều hỗ trợ các nền tảng ảo hóa phổ biến hiện nay.
Ảo hóa giúp tăng tỷ lệ sử dụng máy chủ từ 20% -> 70%.
Một giải pháp thay thế khác là đóng gói ứng dụng trong các container phần mềm như Docker. Container sẽ bao gồm cả ứng dụng cùng các thành phần phụ thuộc của nó — như thư viện hệ thống và cấu hình — gói gọn trong một package duy nhất có thể chia sẻ và lưu trữ trong repository.
Dù là sử dụng ảo hóa hay container, chức năng của ứng dụng không bị thay đổi. Tuy nhiên, bạn sẽ có được sự linh hoạt cao hơn về môi trường triển khai và khả năng phân bổ tài nguyên.
3. Quy trình nghiệp vụ (Business Processes)
Mặc dù quy trình nghiệp vụ không phải là phần mềm, nhưng chúng thường được tích hợp trong các ứng dụng có chức năng tự động hóa quy trình làm việc và quản lý tài liệu.
Tuy nhiên, điều này có thể trở thành gánh nặng nếu:
- Các quy trình chưa từng được tối ưu hóa
Doanh nghiệp đã thay đổi nhưng quy trình vẫn cũ
Công nghệ hiện nay hoàn toàn có thể cải tiến các quy trình này
Business process analysis Là phương pháp giúp đánh giá các quy trình hiện tại để tìm ra cơ hội tối ưu hóa. Nhiều công cụ hiện nay có thể tự động hóa quá trình phân tích, cho phép người dùng:
Robotic process automation (RPA)là một phần của lĩnh vực đang phát triển nhanh chóng gọi là hyperautomation – nhóm công cụ giúp tự động hóa các tác vụ thủ công lặp đi lặp lại, chẳng hạn như nhập dữ liệu từ tài liệu in.
Các hình thức hyperautomation khác bao gồm:
- Phát triển ứng dụng bằng low-code
- công cụ xử lý sự kiện tự động
- Phần mềm số hóa tài liệu
- Khám phá quy trình
- Mô hình dự đoán quyết định
Tất cả các công cụ trên đều hữu ích trong việc hợp lý hóa và tự động hóa quy trình nghiệp vụ
4. Tích hợp API
Việc tích hợp này sẽ mở ra các dịch vụ và dữ liệu của ứng dụng theo cách mà các phần mềm khác có thể sử dụng được.
Ví dụ, quy trình phê duyệt thẻ tín dụng trong một ứng dụng hiện có có thể được đóng gói lại và cung cấp dưới dạng API. Hiện nay có rất nhiều công cụ cho phép bạn tích hợp API vào các ứng dụng cũ, giúp quá trình hiện đại hóa diễn ra từng bước, không gián đoạn.
Đây là một giải pháp đơn giản nhưng hiệu quả để kéo dài vòng đời của phần mềm cũ, trong khi bạn chuẩn bị viết mới hoặc triển khai một hệ thống hiện đại hơn.
5. Hệ thống trung gian tích hợp doanh nghiệp (ESB)
ESB điều phối việc trao đổi dịch vụ giữa các ứng dụng. Nó cho phép các ứng dụng đăng ký nhận thông điệp dựa trên các quy tắc đơn giản và cung cấp một phương pháp tiêu chuẩn để phân phối các dịch vụ.
Mặc dù ESB đã tồn tại từ lâu, khái niệm này đang được hồi sinh khi điện toán đám mây làm thay đổi cách xây dựng phần mềm hiện đại.
Các ứng dụng đám mây hiện nay bao gồm những chức năng phần mềm liên kết lỏng lẻo, có thể được kết hợp linh hoạt theo thời gian thực. ESB cho phép các nhà phát triển mở rộng và cải tiến tính năng bằng cách kết nối thêm các dịch vụ mới vào hệ thống hiện tại.
Ví dụ: Họ có thể xây dựng giao diện người dùng mới bằng các dịch vụ đám mây và kết nối với hệ thống backend kế thừa thông qua API để xử lý dữ liệu.
Ứng dụng đóng gói
Phần mềm client-server từng rất phổ biến vào thập niên 1990. Tuy nhiên, hiện nay phần mềm dưới dạng dịch vụ (SaaS) chạy trên nền tảng đám mây đã vượt lên dẫn đầu.
Điều này trở thành vấn đề nếu bạn đã đầu tư đáng kể vào việc xây dựng ứng dụng trên các nền tảng kế thừa. Đặc biệt là khi nhiều nền tảng như Lotus Notes, sử dụng hệ thống tệp và ngôn ngữ lập trình riêng biệt.
Trong những lĩnh vực có mức độ hợp nhất cao như CRM, hầu hết các công ty thâu tóm đã nỗ lực cung cấp lộ trình chuyển đổi cho các ứng dụng cũ.
Tuy nhiên, trước khi từ bỏ phần mềm client-server, hãy xem xét liệu có một ứng dụng gốc đám mây tương đương có thể đáp ứng tốt hơn về mặt chức năng hay không. Nếu dữ liệu kế thừa được lưu trữ trong cơ sở dữ liệu tương thích SQL, thì việc di chuyển dữ liệu thường không gặp vấn đề gì.
Còn nếu ứng dụng client-server đó đã được tùy chỉnh sâu hoặc xây dựng bằng công cụ phát triển độc quyền, bạn nên:
- Tìm kiếm sự hỗ trợ từ đơn vị tích hợp chuyên biệt
- Xây dựng lại các chức năng đó từ đầu.
Hiện nay, đa số các phần mềm lớn đều đã có phiên bản trên đám mây. Do đó, bạn có thể tái cấu trúc các tùy biến cũ bằng cách sử dụng API, tách rời chúng khỏi ứng dụng lõi. Điều này giúp bạn vừa hưởng lợi từ các nâng cấp của nhà cung cấp, vừa giữ lại được các tùy chỉnh riêng của doanh nghiệp.
DevOps trong môi trường đám mây
Phương pháp phát triển phần mềm theo mô hình Agile – DevOps – hiện đang là lựa chọn ưu tiên cho việc xây dựng ứng dụng trên nền tảng đám mây. Điều đó không có nghĩa các phương pháp truyền thống như Waterfall đã lỗi thời. Tuy nhiên, những mô hình quản lý theo kiểu “trên xuống” với quy trình cứng nhắc không phù hợp với nhu cầu phát triển linh hoạt hiện nay.
DevOps khuyến khích:
- Hợp tác chặt chẽ giữa đội phát triển và người dùng doanh nghiệp
Lặp lại nhanh với các bản phát hành mỗi ngày
Phản hồi liên tụcTự động triển khai cơ sở hạ tầng, đóng gói phần mềm bằng container để đảm bảo tính linh động và khả năng mở rộng
Các lựa chọn hiện đại hóa ứng dụng doanh nghiệp đang ngày càng đa dạng, chi phí thì ngày càng giảm. Chưa bao giờ có thời điểm tốt hơn để đánh giá lại danh mục phần mềm hiện tại của bạn, với mục tiêu chuyển mình sang kỷ nguyên điện toán đám mây hiện đại và linh hoạt hơn.