[Tuts] Các công nghệ Nền tảng (Platform Technologies)

phuluong97

Member
Oct 9, 2017
34
0
6
26
Các công nghệ Nền tảng (Platform Technologies)

Trong vài thập kỷ qua, cùng với sự tăng trưởng của mạng Internet, Công nghệ nền tảng đã trở thành một làn gió mới.

Nền tảng, giống như App Store hay eBay đã chứng minh là một trong những dịch vụ năng động, không ngừng cải tiến và phát triển nhanh nhất. Nhưng tất nhiên mô hình nền tảng đến thiết kế hai hệ thống đã có mặt từ thời phát minh ra trang trại và các nhà máy cho đến sự hình thành nên các khối xếp hình LEGO.

Khi nhìn thấy một loại công nghệ mới nào đó trong công việc, rất nhiều người thường không coi đó là những sáng tạo vượt trội. Họ chỉ đơn giản thấy những tính năng phi thường của phát minh đó và không bao giờ thật sự để tâm đến nguồn gốc của nó là gì, nhưng trong các nền kinh tế công nghiệp tiên tiến, rất nhiều sản phẩm và dịch vụ được cho ra đời nhờ sức mạnh của tính trừu tượng. Họ phối hợp, thiết lập các dịch vụ từ các nền tảng, cho phép các gói tính năng vô tận và nhóm lại các thành phần khác nhau.

Vậy sự khác biệt giữa ngân hàng ABC ở cuối phố và ngân hàng XYZ ở đầu phố thực sự không có nhiều. Cả hai đều mua công nghệ từ một số công ty cung cấp công nghệ nền tảng như IBM và Visa rồi tập hợp các thành phần lại theo những cách khác nhau nhằm mục đích thu hút các khách hàng khác nhau.

Theo Wikipedia, công nghệ nền tảng có thể định nghĩa là một cấu trúc hoặc công nghệ mà từ đó các loại sản phẩm khác nhau có thể xuất hiện mà không cần tốn thêm chi phí cho một quá trình sản xuất mới. Để đạt được điều này thì hệ thống cần phải có nền tảng cung cấp các dịch vụ cơ bản có thể kết hợp thành các cấu hình khác nhau trên ứng dụng để cung cấp các trường hợp công nghệ khác nhau cho người dùng.

Hãy bắt đầu suy nghĩ kỹ xem công nghệ nền tảng là gì?

Đây là một hệ thống đồng nhất, không có sự khác biệt giữa cơ sở hạ tầng của hệ thống và ứng dụng của nó.

Chúng ta cùng lấy chiếc búa làm ví dụ. Tất cả những điều trên giống như trường hợp của một cái búa. Nó không thể tạo ra các giao diện mới và khác nhau. Tương tự, chúng ta cũng có thể nói đến một chiếc ô tô. Đây là một ví dụ của công nghệ mà người dùng có thể nhận được và sử dụng toàn bộ hệ thống.

Để làm rõ hơn sự so sánh này, chúng ta có thể so sánh một chiếc ô tô với nền tảng công nghệ xe hơi cho phép một công ty sản xuất ra mắt thị trường một số loại xe được sản xuất trên một nền tảng khung gầm chung, với các động cơ khác nhau và các yếu tố bên ngoài cho cùng một dòng xe, các dòng xe hoặc nhãn hiệu khác nhau trong cùng một công ty.

Có lẽ ví dụ rõ ràng và điển hình nhất của công nghệ nền tảng là máy tính cá nhân. Vì vậy, chúng ta hãy dành chút thời gian xem qua một trong các loại máy tính một cách chi tiết để hiểu rõ hơn về các mức độ trừu tượng khác nhau của công nghệ nền tảng.

Nền tảng của chúng ta trong trường hợp này là hệ điều hành máy tính. Nhưng trước khi đi sâu tìm hiểu nền tảng đã thực hiện những công việc tuyệt vời đó, chúng ta cần một cơ sở để dựa vào. Đó là một tập hợp các công nghệ hỗ trợ. Trong trường hợp này, tầng cơ sở là phần cứng của máy tính và tất cả chương trình cơ sở cấp thấp là giao diện giữa nó và hệ điều hành. Nhưng trong phạm vi kinh doanh thì tầng cơ sở này chính là hệ thống kinh tế.

Hệ thống kinh tế là một phần của các dịch vụ công như an ninh, điều lệ pháp luật và duy trì nguồn tài nguyên thiên nhiên sẽ là cơ sở để công việc kinh doanh hoạt động. Điều này cũng hoàn toàn đúng với một thành phố khi phần lớn phụ thuộc và hoạt động dựa vào hệ thống cơ sở hạ tầng quốc gia.

Tầng tiếp theo tầng cơ sở hoặc phần cứng là nền tảng, trong trường hợp này là hệ điều hành của máy tính. Hệ điều hành chủ yếu quản lý tài nguyên và dịch vụ của máy tính sẽ được yêu cầu bởi các ứng dụng. Nền tảng sẽ lấy các tài nguyên có sẵn cho nó từ cơ sở hạ tầng rồi tạo ra các hình khối Lego – sẽ được sử dụng để tạo nên các vật thể.

Các nguồn tài nguyên này sẽ được trình bày với các nhà sản xuất ở cấp độ ứng dụng thông qua giao diện API hay Giao diện Lập trình Ứng dụng.

Trong nhà máy sản xuất ô tô, nền tảng chính là các kỹ thuật vật lý trong dây chuyền sản xuất để sản xuất ra các bộ phận của ô tô. Nhân viên có thể sắp xếp lại dây chuyền sản xuất để sản xuất ra các loại xe khác nhau. Hay như trong ví dụ về thành phố, mức độ nền tảng có thể là các tiện ích công cộng mà các nhà thầu sẽ đấu thầu để xây dựng các tòa nhà văn phòng hoặc khu dân cư và sẽ có bộ hồ sơ dự thầu tiêu chuẩn để họ thực hiện công việc này trên cả hệ điều hành nằm trên tầng ứng dụng. Các nhà phát triển đưa vào các dịch vụ được cung cấp bởi hệ điều hành và nhóm chúng lại theo những tổ hợp khác nhau để đưa đến cho người dùng những ứng dụng hoàn chỉnh. Các ứng dụng trên App Store, chiếc ô tô đang được sản xuất trên dây chuyền, các tòa nhà trong thành phố hay các sản phẩm tài chính được cung cấp bởi một ngân hàng là những ví dụ về tầng ứng dụng, cấu hình vô tận tái cấu trúc lại nhằm mục đích đáp ứng các yêu cầu và trả lời các phản hồi của người dùng.

Cuối cùng, là tầng giao diện người dùng. Khi người dùng mở máy tính lên, họ không muốn nhìn thấy những dãy mã số 0 và 1 liên tiếp hoặc những dòng mã lệnh. Họ chỉ muốn nhìn thấy những thứ họ hiểu được như bức ảnh của tập tin hay trình đơn thả xuống đẹp mắt.

Phần lớn người dùng giao tiếp với hệ thống mà chúng tôi đang thiết kế sẽ làm như vậy để dùng được toàn bộ chức năng, nhưng chỉ mất một chút ít công sức lúc ban đầu. Để đạt được mục tiêu này, chúng ta cần một tầng sẽ chuyển đổi ngôn ngữ lô-gic bên trong của hệ thống sang một ngôn ngữ mà người dùng sẽ hiểu được. Giao diện này có thể là đồng hồ điều khiển trên xe ô tô hay là nhân viên lễ tân trong bệnh viện chỉ dẫn mọi người phải đi khám ở đâu. Bất kể đó là gì thì đều liên quan đến ngôn ngữ mà người dùng giao tiếp. Điều họ cần và làm thế nào để chuyển các chức năng của hệ thống thành các giải pháp có sự tương tác của người dùng.

Nếu chúng ta muốn tiếp tục nhận được sự giúp sức của thế giới công nghệ thông tin thì chúng ta có rồi. Chúng ta có thể gọi đây là giải pháp tổng thể bao gồm các hệ thống con và tầng trừu tượng cung cấp đầy đủ chức năng của nền tảng mà không bị phụ thuộc.

Một điều quan trọng cần lưu ý là mỗi khi nâng cao mức độ trừu tượng đối với người dùng lên, tức là đang đơn giản hóa sự phức tạp cũng như mức độ tham gia được yêu cầu. Những ai làm việc với các mức độ của nền tảng cần phải hiểu rõ hệ thống và sẽ phải đối phó với sự phức tạp vô cùng của nó nhưng gần như không bị bắt buộc.

Những người đang tham gia vào hệ thống này trên các ứng dụng và cấp độ người dùng bị hạn chế bởi các thiết kế của nhà cung cấp nền tảng nhưng lại được kích hoạt hoạt động bằng chính công nghệ này sẽ có khả năng làm được nhiều việc hơn nhưng ít phải giao tiếp và tham gia hơn. Kết quả ròng là chúng ta nên có một hiệu ứng khuếch đại khi nâng cấp các giải pháp tổng thể và tăng sự dễ dàng khi tham gia. Vì vậy sẽ có nhiều nhà phát triển ứng dụng hơn so với nhà phát triển hệ thống, dẫn đến có nhiều người dùng hơn các nhà phát triển ứng dụng.

Cuối cùng chúng ta có thể đưa ra câu hỏi tại sao phải quan tâm hơn đến công nghệ nền tảng.

Có một số nguyên nhân thiết kế này mang lại lợi ích cho chúng ta:

Thứ nhất: Phân phối hệ thống thông qua nhiều tầng giúp chúng ta có thể trừu tượng hóa sự phức tạp mà người dùng hoặc nhà sản xuất của dịch vụ đó đang phải đối mặt với những khó khăn tiềm ẩn.

Thứ hai: Chúng ta có thể tránh được sự dư thừa khi có nền tảng cung cấp các dịch vụ chung cần đến tất cả thành phần. Chúng ta có thể cắt giảm nhu cầu của mỗi thành phần trên tầng ứng dụng để tái sản xuất lại các bộ phận.

Thứ ba: Nền tảng là kiến trúc lý tưởng để tạo ra hệ thống người dùng sáng tạo. Do đó, chúng ta có thể tận dụng hiệu ứng khuếch đại đã thảo luận từ trước để tốn ít công sức hơn nhưng giúp duy trì hệ thống lõi linh hoạt.

Cuối cùng: Nền tảng là kiến trúc lý tưởng để xây dựng một hệ thống tiên tiến, thích nghi linh hoạt mang lại sự độc lập từ những trường hợp cố định. Hệ thống có thể duy trì sự đối mới ở cấp độ ứng dụng để tiếp tục tự tái sinh.

Trong phần này chúng ta đã thảo luận cách nền tảng tiếp cận kiến trúc hệ thống, tập trung xung quanh ý tưởng tạo ra một cơ sở hạ tầng cốt lõi của các dịch vụ và thành phần chung để sau đó có thể nhóm lại thành những cấu hình khác nhau ở mức độ ứng dụng. Chúng ta cũng xét đến các cấp độ trừu tượng khác nhau và tính năng cơ bản của từng cấp độ. Mặc dù các bản vẽ dựa phần lớn vào sự tương tự trong thế giới Công nghệ Thông tin. Mô hình tương tự này có đủ các đặc điểm chung liên quan đế việc thiết kế hệ thống thiết lập phức tạp.