Thomas Siebel
Được phát triển vào đầu thế kỷ 21, bạn có thể nghĩ đến kiến trúc hướng mô hình như con dao được sử dụng nhằm cắt nút thắt của lập trình có cấu trúc khi gặp phải những vấn đề rất phức tạp.
Điểm chính của kiến trúc hướng mô hình là khái niệm về một mô hình đóng vai trò như một lớp trừu tượng giúp đơn giản hóa vấn đề lập trình. Với kiến trúc này, lập trình viên hoặc nhà phát triển ứng dụng không phải lo lắng về tất cả các loại dữ liệu, kết nối dữ liệu và quá trình hoạt động trên các bộ dữ liệu liên quan đến bất kỳ thực thể cụ thể nào, ví dụ: khách hàng, máy kéo, bác sĩ hoặc một loại nhiên liệu nào đó. Lập trình viên chỉ cần giải quyết mô hình cho bất kỳ thực thể cụ thể nào, ví dụ – khách hàng – và tất cả dữ liệu cơ bản, mối quan hệ dữ liệu, con trỏ, API, liên kết, kết nối và các quá trình được liên kết hoặc sử dụng để thao tác dữ liệu đó sẽ được trừu tượng hóa trong mô hình chính nó. Điều này giảm số lượng phần tử, tiến trình và kết nối mà lập trình viên hoặc nhà phát triển ứng dụng cần nắm bắt từ số lượng 1013 xuống còn 103, điều này biến một thứ tưởng chừng quá tầm kiểm soát trở nên kiểm soát được dễ dàng.
Sử dụng kiến trúc hướng mô hình, bất cứ thứ gì, kể cả các ứng dụng bao gồm cơ sở dữ liệu, bộ xử lý ngôn ngữ tự nhiên và hệ thống nhận dạng hình ảnh cũng có thể được biểu diễn dưới dạng mô hình. Kiến trúc mô hình cũng hỗ trợ một khái niệm gọi là kế thừa. Chúng ta có thể có một mô hình được gọi là cơ sở dữ liệu quan hệ, đến lượt nó đóng vai trò là “người giữ chỗ” để có thể kết hợp bất kỳ hệ thống cơ sở dữ liệu quan hệ nào như Oracle, Postgres, Aurora, Spanner hoặc SQL Server. Một mô hình lưu trữ khóa-giá trị có thể chứa Cassandra, HBase, Cosmos DB hoặc DynamoDB.
Việc sử dụng kiến trúc hướng mô hình cung cấp một lớp trừu tượng và ngữ nghĩa để thể hiện ứng dụng. Điều này giải phóng lập trình viên khỏi những lo lắng về ánh xạ dữ liệu, cú pháp API và cơ chế của một loạt quy trình tính toán như ETL, xếp hàng, quản lý chuỗi sự kiện, mã hóa, v.v.
Bằng cách giảm số lượng thực thể, đối tượng và quy trình tính toán, sự phức tạp của bài toán mà lập trình viên cần hiểu đã được hạ xuống từ cấp độ 1013 xuống còn 103 và khi anh ta không còn phải vật lộn với những thứ vụn vặt nữa, một kiến trúc hướng mô hình sẽ giúp giảm chi phí cũng như độ phức tạp của việc thiết kế, phát triển, thử nghiệm, cung cấp, bảo trì và vận hành một ứng dụng tới hơn 100 lần.
Trong cách thiết kế tối ưu của một mô hình đối tượng nhằm phát triển ứng dụng AI và IoT, các mô hình trừu tượng được sử dụng để “giữ chỗ” và lập trình viên có thể liên kết một ứng dụng phù hợp tới đó. Mô hình cơ sở dữ liệu quan hệ có thể liên kết đến Postgres. Một mô hình viết báo cáo có thể liên kết đến MicroStrategy. Một mô hình trực quan hóa dữ liệu có thể liên kết đến Tableau. Và cứ tiếp tục như thế. Một tính năng ưu việt của kiến trúc hướng mô hình là khi các giải pháp nguồn mở hoặc độc quyền mới có sẵn, mọi thứ trở nên đơn giản vì chỉ cần mở rộng thư viện mô hình đối tượng để kết hợp tính năng mới đó.
Một tính năng quan trọng khác của kiến trúc hướng mô hình là ứng dụng hoàn toàn được thực chứng trong tương lai. Ví dụ, nếu bạn bắt đầu phát triển mọi ứng dụng của mình bằng cách sử dụng Oracle làm cơ sở dữ liệu quan hệ và sau đó quyết định chuyển sang cơ sở dữ liệu quan hệ RDBMS độc quyền hoặc nguồn mở thay thế, tất cả những gì bạn phải làm là thay đổi liên kết trong mô hình meta RDBMS của bạn để trỏ đến cơ sở dữ liệu quan hệ RDBMS mới. Điều quan trọng, những ứng dụng bạn đã triển khai trước đây bằng Oracle với tư cách là cơ sở dữ liệu quan hệ RDBMS sẽ tiếp tục chạy mà không cần sửa đổi để hỗ trợ thay thế. Điều này cho phép bạn tận dụng ngay lập tức và dễ dàng các dòng sản phẩm mới hoặc sản phẩm cải tiến khi chúng có sẵn.
Tính độc lập của nền tảng
Từ kinh nghiệm chuyên môn của bản thân, tôi chưa bao giờ thấy bất cứ điều gì giống như như tỷ lệ người dùng mới đối với điện toán đám mây. Nó là chưa từng có. Gần đây vào năm 2011, thông điệp được truyền đi bởi đội ngũ CEO và nhiều lãnh đạo doanh nghiệp trên toàn thế giới đã rõ ràng: “Tom, những gì bạn không hiểu trên thực tế là dữ liệu của chúng tôi sẽ không bao giờ được lưu trữ trên đám mây công cộng?” Còn thông điệp ngày hôm nay cũng rõ ràng và không kém phần lay động: “Tom, chúng tôi có chiến lược ưu tiên hàng đầu dành cho dịch vụ trên đám mây (cloud-first). Tất cả các ứng dụng mới đang được triển khai trên đám mây. Mọi ứng dụng hiện tại sẽ được chuyển sang đám mây. Nhưng xin hãy hiểu, chúng tôi có một chiến lược đa đám mây (multi-cloud).”
Ồ! Làm thế nào điều đó xảy ra? Tôi không chắc chắn rằng mình có thể giải thích sự thay đổi 180 độ ở quy mô toàn cầu trong khoảng vài năm tới, nhưng không thấy bất ngờ vì sao điều đó xảy ra. Và như đã thảo luận trước đây, nó rõ ràng được tái hiện trong sự tăng trưởng doanh thu của các nhà cung cấp đám mây hàng đầu. Rõ ràng, phần lớn lãnh đạo doanh nghiệp không thích bị dính chặt vào nhà cung cấp đám mây. Họ luôn thích đàm phán. Họ muốn triển khai các ứng dụng khác nhau trên đám mây phát triển bởi các nhà cung cấp khác nhau và họ muốn được tự do “di chuyển” ứng dụng của mình từ nhà cung cấp này sang nhà cung cấp khác.
Vì vậy, điều này trở thành một yêu cầu bổ sung đối với một nền tảng phần mềm hướng mô hình hiện đại. Khi bạn phát triển ứng dụng AI của mình, nó cần chạy mà không phải sửa đổi trên bất kỳ đám mây nào hoặc trên máy chủ vật lý (bare metal) phía sau tường lửa trong một môi trường đám mây lai.
Yêu cầu cuối cùng đối với lớp công nghệ AI mới là những gì mà tôi gọi là hỗ trợ đám mây đa nền tảng, hay khả năng trộn lẫn và kết hợp dịch vụ từ nhiều nhà cung cấp đám mây khác nhau và dễ dàng trao đổi hay thay thế các dịch vụ đó. Các nhà cung cấp điện toán đám mây đang cung cấp cho thị trường những dịch vụ thật tuyệt vời. Ngày nay, họ cung cấp quyền truy cập tức thì vào năng lực tính toán theo chiều ngang gần như không giới hạn và dung lượng lưu trữ vô cùng hiệu quả với chi phí thấp không tưởng. Vào lúc mà những đối thủ đang cạnh tranh nhau khốc liệt này dừng cuộc chiến, tôi tin rằng chi phí cho điện toán đám mây và lưu trữ sẽ về gần mức miễn phí.
Giá trị quan trọng thứ hai đến từ các nhà cung cấp dịch vụ đám mây hiện nay là sự cải tiến nhanh chóng của mô hình tích hợp vi dịch vụ (microservices). Các ứng dụng học máy đã phát triển nhanh nhờ các vi dịch vụ như TensorFlow từ Google hay phương pháp học sâu cho dữ liệu chuỗi thời gian được thúc đẩy bởi Amazon Forecast. Trong lĩnh vực IoT, Azure Stream Analytics tích hợp với Azure IoT Hub và Azure IoT Suite cho phép thực hiện phân tích theo thời gian thực trên dữ liệu cảm biến. Dường như không có một tuần nào trôi qua mà không xuất hiện các thông báo về một vi dịch vụ hữu ích mới từ Azure, AWS, Google và IBM.
Theo tôi, hỗ trợ đám mây đa nền tảng là một dạng năng lực lõi của Công nghệ AI mới. Nó không chỉ cho phép ứng dụng được di chuyển từ nhà cung cấp đám mây này sang nhà cung cấp đám mây khác mà còn cho phép ứng dụng AI và IoT của bạn chạy được trên nhiều đám mây cùng một lúc. Điều đó rất quan trọng, vì khi các nhà cung cấp tiếp tục tiến hành cập nhật, bạn có thể lựa chọn dịch vụ từ nhiều nhà cung cấp khác nhau nhằm tối ưu hóa khả năng cho các ứng dụng AI của mình. Và khi xuất hiện dịch vụ mới hoàn thiện hơn, bạn có thể gỡ bỏ cái cũ và thiết lập cái mới vào. Ứng dụng của bạn sẽ tiếp tục hoạt động nhưng vào lúc này, nó có độ chính xác và chi phí thấp hơn gấp bội.
Nguồn: Chuyển đổi số – Sống sót và bứt phá trong kỷ nguyên sụp đổ doanh nghiệp hàng loạt (Thomas Siebel, 2018)