Phát triển mô hình ứng dụng kết hợp trong chợ ứng dụng đám mây
Tóm tắt: Phần mềm như một dịch vụ (SaaS) là loại hình dịch vụ đám mây được cung cấp cho người dùng như một sản phẩm trọn gói bao gồm cả phần mềm cùng với nền tảng và hạ tầng thực thi chúng. Việc đóng gói phần mềm, nền tảng và hạ tầng thực thi trong một sản phẩm mang lại nhiều tiện ích cho người sử dụng. Tuy vậy, tính chất đóng gói này cũng tạo nên sự phụ thuộc của phần mềm vào công nghệ nền tảng và hạ tầng của nhà cung cấp. Đây là một trong những nguyên nhân chính kìm hãm năng lực phát triển ứng dụng, hạn chế sự phát triển đa dạng của thị trường ứng dụng đám mây (ƯDĐM). Để khắc phục vấn đề trên, các tác giả đã đề xuất mô hình ứng dụng kết hợp, trong đó ƯDĐM là sự kết hợp của một hay nhiều thành phần phần mềm được phát triển độc lập và có khả năng triển khai trên các nền tảng đám mây khác nhau. Các thành phần phần mềm này được cung cấp thông qua một chợ ƯDĐM (Cloud marketplace), do vậy tạo nên một thị trường với sự tham gia của các nhà phát triển ứng dụng độc lập, giải quyết vấn đề độc quyền của các nhà cung cấp dịch vụ
Tóm tắt nội dung tài liệu: Phát triển mô hình ứng dụng kết hợp trong chợ ứng dụng đám mây
4016(5) 5.2017 Khoa học Kỹ thuật và Công nghệ Giới thiệu Phần mềm như một dịch vụ (SaaS) được hiểu như một loại hình dịch vụ đám mây cung cấp cho khách hàng một giải pháp phần mềm trọn gói bao gồm cả phần mềm và hạ tầng cũng như nền tảng thực thi. SaaS mang lại một giải pháp linh hoạt, tin cậy và ít tốn kém cho các cá nhân/tổ chức/doanh nghiệp, đáp ứng các nhu cầu tài nguyên điện toán và sự thay đổi nhanh chóng của công nghệ, đồng thời loại bỏ các chi phí đầu tư và quản lý cho hạ tầng IT. Tuy vậy, bên cạnh những lợi ích SaaS mang lại cho khách hàng, mô hình dịch vụ này cũng tạo nên một tình trạng độc quyền (Vendor Lock-in) cho các nhà cung cấp dịch vụ [1-3]. Việc đóng gói nền tảng và hạ tầng thực thi đám mây trong giải pháp phần mềm tạo ra sự ràng buộc chặt của phần mềm vào hạ tầng kỹ thuật của nhà cung cấp dịch vụ đám mây. Để khắc phục tình trạng này, các mô hình chợ phần mềm đám mây ra đời, cho phép các nhà phát triển có thể tham gia xây dựng sản phẩm của mình và cung cấp tới khách hàng thông qua chợ. Chợ ƯDĐM sơ khai là một cửa hàng trực tuyến và thường được điều hành bởi một nhà cung cấp dịch vụ đám mây, cung cấp cho khách hàng khả năng truy cập vào các ứng dụng phần mềm và các dịch vụ được xây dựng trên hạ tầng và nền tảng của chính nhà cung cấp, một số mô hình chợ ƯDĐM được biết đến là: GoogleApps marketplace [4], IBM marketplace [5] Về cơ bản, các chợ đám mây này chưa hạn chế được tính độc quyền của các nhà cung cấp do sự phụ thuộc vào hạ tầng kỹ thuật của một nhà cung cấp duy nhất cũng là tổ chức vận hành chợ. Sự ra đời của các công nghệ đám mây mở như OpenStack, Eucalyptus, CloudStack cũng như các chuẩn mở (OCCI, OVF, CDMI) mang lại một cơ hội mới cho việc giải quyết tình trạng độc quyền này. Đó là các chợ ứng dụng đa đám mây, nơi phần mềm được phát triển độc lập, được phân phối qua chợ và được triển khai trên các hạ tầng đám mây khác nhau tùy thuộc vào yêu cầu của người tiêu dùng. Một số chợ ứng dụng đa đám mây điển hình là AppDirect [6], SaaSMax [7], Avnet Cloud Marketplace [8], Ingram Micro Cloud [9] Sản phẩm trên các chợ ứng dụng đa đám mây hiện tại thường là các ứng dụng trọn gói. Vai trò của chợ thường là việc môi giới tài nguyên để triển khai ứng dụng hoặc tạo nên cổng thanh toán cho khách hàng. Điều này phần nào hạn chế khả năng của môi trường đa đám mây, nơi các ứng dụng có thể triển khai một cách phân tán trên nhiều đám mây khác nhau. Ví dụ một ứng dụng web có thể triển khai Webserver trên một hạ tầng đám mây, trong khi cơ sở dữ liệu được cài đặt trên một hạ tầng đám mây khác. Để làm được như vậy, ƯDĐM cần phải Phát triển mô hình ứng dụng kết hợp trong chợ ứng dụng đám mây Huỳnh Hoàng Long1, Nguyễn Hữu Đức1, Lê Trọng Vĩnh2, Nguyễn Thanh Tùng3,4* 1Viện Công nghệ thông tin và Truyền thông, Trường Đại học Bách khoa Hà Nội 2Khoa Toán - Cơ - Tin, Trường Đại học Khoa học tự nhiên, Đại học Quốc gia Hà Nội 3Khoa Quốc tế, Đại học Quốc gia Hà Nội 4Trường Đại học Nguyễn Tất Thành Ngày nhận bài 27/3/2017; ngày chuyển phản biện 30/3/2017; ngày nhận phản biện 25/4/2017; ngày chấp nhận đăng 28/4/2017 Tóm tắt: Phần mềm như một dịch vụ (SaaS) là loại hình dịch vụ đám mây được cung cấp cho người dùng như một sản phẩm trọn gói bao gồm cả phần mềm cùng với nền tảng và hạ tầng thực thi chúng. Việc đóng gói phần mềm, nền tảng và hạ tầng thực thi trong một sản phẩm mang lại nhiều tiện ích cho người sử dụng. Tuy vậy, tính chất đóng gói này cũng tạo nên sự phụ thuộc của phần mềm vào công nghệ nền tảng và hạ tầng của nhà cung cấp. Đây là một trong những nguyên nhân chính kìm hãm năng lực phát triển ứng dụng, hạn chế sự phát triển đa dạng của thị trường ứng dụng đám mây (ƯDĐM). Để khắc phục vấn đề trên, các tác giả đã đề xuất mô hình ứng dụng kết hợp, trong đó ƯDĐM là sự kết hợp của một hay nhiều thành phần phần mềm được phát triển độc lập và có khả năng triển khai trên các nền tảng đám mây khác nhau. Các thành phần phần mềm này được cung cấp thông qua một chợ ƯDĐM (Cloud marketplace), do vậy tạo nên một thị trường với sự tham gia của các nhà phát triển ứng dụng độc lập, giải quyết vấn đề độc quyền của các nhà cung cấp dịch vụ. Từ khóa: Chợ ứng dụng đám mây, mô hình ứng dụng kết hợp, phần mềm dịch vụ, ứng dụng nhiều thành phần. Chỉ số phân loại: 2.2 *Tác giả liên hệ: Email: nttung@ntt.edu.vn 4116(5) 5.2017 Khoa học Kỹ thuật và Công nghệ được định nghĩa lại để cho phép chúng có thể phân rã ra thành nhiều thành phần có khả năng triển khai độc lập trên các hạ tầng đám mây khác nhau. Trong bài báo này, chúng tôi đề xuất một mô hình ứng dụng kết hợp, trong phần mềm đám mây là một kết hợp giữa nhiều thành phần có thể phát triển độc lập và có khả năng triển khai độc lập trên các hạ tầng đám mây khác nhau. Mô hình ứng dụng kết hợp này không những hỗ trợ khả năng triển khai phân tán, mà còn tạo nên một dạng thị trường phát triển thành phần ứng dụng, cũng như tạo ra một thị trường thứ cấp của những người kết hợp thành phần đám mây tạo nên ứng dụng mới. Phần còn lại của bài báo bao gồm các nội dung chính: Giới thiệu những khái niệm liên quan tới chợ ứng dụng đa đám mây; đề xuất mô hình ứng dụng kết hợp cho chợ đám mây; thử nghiệm triển khai ứng dụng kết hợp trên môi trường đa đám mây dựa trên đặc tả TOSCA và công cụ OpenTOSCA. Chợ ƯDĐM Chủ thể của chợ ƯDĐM Hoạt động của chợ ƯDĐM có sự tham gia của 4 chủ thể chính, bao gồm: Người tiêu dùng (Consumers), các nhà cung cấp ứng dụng (Cloud App Vendors), các nhà cung cấp dịch vụ đám mây (Cloud Providers) và nhà quản lý chợ ứng dụng đa đám mây (Cloud Marketplace Manager). Hoạt động kinh tế diễn ra trên chợ ƯDĐM dựa trên mối quan hệ đối tác giữa các chủ thể với nhau thông qua hàng hóa giao dịch là các ứng dụng của các nhà cung cấp ứng dụng, dịch vụ nền tảng và hạ tầng đám mây từ các nhà cung cấp dịch vụ đám mây. Và đó là nền tảng hình thành cơ chế hoạt động chợ của ƯDĐM (bảng 1). Bảng 1. Cơ chế hoạt động chợ ƯDđM. Các chủ thể tham gia vào chợ ƯDĐM gắn kết chặt chẽ với nhau trong hoạt động gắn với các nguyên lý kinh tế. Hoạt động này gồm: Người tiêu dùng đám mây, nhà cung cấp ứng dụng, họ là những người cần tài nguyên điện toán để thực hiện công A composable application model for cloud marketplaces Hoang Long Huynh1, Huu Duc Nguyen1, Trong Vinh Le2, Thanh Tung Nguyen3,4* 1School of Information and Communication Technology, HUST 2Faculty of Mathematics, Mechanics and Informatics, VNU University of Science 3VNU - International School (VNU-IS) 4Nguyet Tat Thanh University Received 27 March 2017; accepted 28 April 2017 Abstract: Software as a service (SaaS) is a kind of cloud services that consumers can buy and use as a complete solution including a hardware infrastructure, a software platform, and a specific software running on it. SaaS brings a lot of benefits to the customers, i.e. hiding the costs for management and maintaining the execution environment. This service encapsulation is, however, one of the main causes for the problem of vendor lock-in, by which the software tightly depends on a software ecosystem created by the cloud service provider. The dependence on the vendor’s technology environment constrains the capacity of developers and limits the development of cloud applications. To overcome this problem, we propose a composable application model in which a cloud application is a composition of one or more software components that can be independently developed and deployed. Such components are provided via a cloud marketplace, establishing a new kind of cloud market with the participant of software developers, hence reducing the risk of vendor lock-in. Keywords: Cloud marketplace, composable application component, composable application model, software as a service. Classification number: 2.2 Chủ thể tham gia vào chợ ƯDĐM Chức năng Vai trò Hoạt động Người tiêu dùng • Giao dịch mua sản phẩm • Sử dụng ứng dụng/dịch vụ • Là đối tượng được phục vụ chủ đạo của chợ ứng dụng • Nơi tiêu thụ tài nguyên đám mây • Mang lại nguồn tài chính chủ yếu để chợ ứng dụng hoạt động, duy trì và phát triển • Lựa chọn và mua ứng dụng • Sử dụng các ứng dụng và tiêu dùng tài nguyên đám mây theo hợp đồng dịch vụ với nhà cung cấp Nhà cung cấp ƯDĐM • Phát triển ứng dụng • Kiểm thử ứng dụng • Phát hành ứng dụng • Cung cấp ƯDĐM • Tạo nên sự đa dạng ứng dụng • Tạo ra sự cạnh tranh, thúc đẩy thị trường ƯDĐM phát triển • Hợp tác với nhà quản lý chợ ứng dụng trong phát hành và quản lý ứng dụng • Thỏa thuận kinh tế với nhà quản lý chợ ƯDĐM từ việc bán ứng dụng Nhà cung cấp dịch vụ đám mây • Tạo lập dịch vụ đám mây (IaaS, PaaS) • Cung cấp tài nguyên đám mây • Cung cấp hệ sinh thái công nghệ cho nhà cung cấp ứng dụng phát triển ƯDĐM • Hợp tác với nhà quản lý chợ ứng dụng, cung cấp tài nguyên • Hỗ trợ và phối hợp với nhà cung cấp ứng dụng trong phát triển và triển khai ứng dụng • Thỏa thuận kinh tế với nhà quản lý chợ ƯDĐM từ việc bán tài nguyên đám mây Nhà quản lý chợ ƯDĐM • Quản lý chợ ứng dụng • Kết nối, phục vụ các chủ thể • Cung cấp danh mục ứng dụng/dịch vụ đám mây • Xử lý các tác vụ nảy sinh từ hoạt động của chợ ứng dụng • Ký kết các hợp đồng thỏa thuận sử dụng dịch vụ • Cổng thanh toán dịch vụ • Phối hợp triển khai dịch vụ trên hạ tầng/nền tảng nhà cung cấp • Chủ thể tạo ra chợ ƯDĐM • Trung tâm môi giới ứng dụng/ dịch vụ đám mây • Thương mại hóa ứng dụng/dịch vụ đám mây • Nâng cao tính cạnh tranh và hình thành thị trường ứng dụng và dịch vụ đám mây • Tiến hành các hoạt động giao dịch với khách hàng • Môi giới ứng dụng và dịch vụ giữa khách hàng, nhà cung cấp ứng dụng và nhà cung cấp dịch vụ đám mây • Phối hợp triển khai và quản lý ứng dụng • Xây dựng các chính sách kinh doanh, cơ chế kinh tế 4216(5) 5.2017 Khoa học Kỹ thuật và Công nghệ việc của họ, xây dựng và chạy ứng dụng phục vụ cho mục đích của mình; nhà cung cấp dịch vụ đám mây có vai trò cung cấp tài nguyên cho người tiêu dùng, nhà cung cấp ứng dụng; nhà cung cấp ứng dụng xây dựng ứng dụng và phát hành đến người tiêu dùng. Hoạt động chợ ƯDĐM Chợ ƯDĐM là kho chứa các các ứng dụng từ nhiều nhà phát triển và là nơi kết nối nhiều nhà cung cấp dịch vụ đám mây. Với vị trí trung tâm giao dịch, chợ ƯDĐM cung cấp thông tin minh bạch về ứng dụng và gói dịch vụ tài nguyên, thực hiện môi giới bằng việc hỗ trợ khách hàng chọn mua ứng dụng và các gói dịch vụ, cuối cùng là tiến hành thao tác triển khai ứng dụng trên dịch vụ hạ tầng hoặc nền tảng nhà cung cấp dịch vụ theo hợp đồng ký kết. Hoạt động của chợ ứng dụng tổng hợp từ các chủ thể trong chợ ƯDĐM như sau: Khách hàng/người tiêu dùng: 1) Đăng ký thành viên; 2) Mua ứng dụng nhiều thành phần (lựa chọn thành phần ứng dụng); 3) Tìm kiếm các gói dịch vụ hạ tầng; 4) Ký kết và thanh toán các hợp đồng thỏa thuận dịch vụ (Service Level Agreement); 5) Sử dụng ứng dụng sau khi các thành phần của nó được triển khai và cấu hình trên các hạ tầng nhà cung cấp dịch vụ đám mây. Nhà cung cấp ứng dụng: 1) Đăng ký gian hàng; 2) Đưa các sản phẩm phần mềm lên chợ ƯDĐM (đầy đủ thông tin); 3) Ký kết hợp đồng thỏa thuận môi giới chợ ƯDĐM. Nhà cung cấp dịch vụ đám mây: 1) Đăng ký cung cấp dịch vụ; 2) Đưa thông tin về các gói dịch vụ; 3) Ký kết hợp đồng môi giới dịch vụ thông qua chợ ƯDĐM. Chợ ƯDĐM: 1) Cung cấp giao diện tương tác với người tiêu dùng cho việc mua ứng dụng và lựa chọn gói dịch vụ hạ tầng; 2) Thực hiện ký kết hợp đồng và yêu cầu thanh toán; 3) Tiến hành giao dịch môi giới; 4) Hỗ trợ triển khai ứng dụng lên các gói dịch vụ hạ tầng nhà cung cấp dịch vụ; 5) Hỗ trợ sự tương tác giữa người tiêu dùng và nhà cung cấp dịch vụ (quản lý hợp đồng) cho việc sử dụng ứng dụng sau khi được triển khai. Các hoạt động của các chủ thể có mối quan hệ chặt chẽ với nhau trong quy trình giao dịch. Chợ ƯDĐM là trung tâm môi giới, mang lại phương thức cung cấp ứng dụng và dịch vụ đám mây hiệu quả nhất đến người tiêu dùng. Đề xuất mô hình ứng dụng cho chợ ƯDĐM Mô hình ứng dụng kết hợp Chúng tôi đề xuất mô hình ƯDĐM là cấu trúc nhiều thành phần (hình 1), trong đó mỗi thành phần nền tảng (Platform Component) là một gói phần mềm (Sofware Component) có khả năng triển khai độc lập trên một nền tảng đám mây. Toàn bộ phần mềm có thể triển khai phân tán trên nhiều nền tảng. Khác với mô hình SaaS, mô hình ứng dụng kết hợp tách những yếu tố liên quan tới hạ tầng và nền tảng khỏi giải pháp phần mềm. Qua đó đưa việc xây dựng và phát triển ƯDĐM ra khỏi sự trói buộc vào hệ sinh thái công nghệ của nhà cung cấp dịch vụ. ... ...Software component01 Platform component 01 Platform component 02 Software component n Software component n+1 Hình 1. Mô hình ứng dụng kết hợp. Mô hình thành phần ứng dụng: Theo cách tiếp cận ứng dụng theo hướng thành phần, các ứng dụng được tạo nên từ các thành phần độc lập. Chúng tôi đề xuất cấu trúc thành phần ứng dụng được đặc tả (hình 2) bao gồm các thành tố: 1) Năng lực (Capabilities): Các dịch vụ/chức năng mà thành phần phần mềm cung cấp; 2) Yêu cầu phần mềm (Component Requirements): Các dịch vụ/chức năng cần thiết để thành phần có thể hoạt động; 3) Yêu cầu nền tảng (Platform Requirements): Các yêu cầu nền tảng phù hợp để triển khai thành phần; 4) Tham số (Properties): Các thông số cấu hình cho ứng dụng; 5) Giao diện (Interfaces): Các cổng giao tiếp để thao tác với thành phần (như để cấu hình, giám sát). Interfaces Platform Requirements Component Requirements Capabilities Properties Component Hình 2. Mô hình thành phần của ứng dụng. Mô hình nền tảng thực thi (Platform Model): Nền tảng thực thi được cung cấp bởi các nhà cung cấp dịch vụ nền tảng. Nó chứa các thông tin về dịch vụ nền tảng mà trên đó các thành phần ứng dụng có thể được triển khai. Để phục vụ cho khả năng môi giới dịch vụ nền tảng của chợ ứng dụng, các mô hình nền tảng thực thi cần định nghĩa tường minh các loại hình nền tảng khớp với các yêu cầu nền tảng của thành phần ứng dụng. Thành phần thực thi ứng dụng trừu tượng hóa phần cứng, hệ điều hành, các thiết lập môi trường phù hợp để thành phần ứng dụng có thể triển khai và hoạt động. Mô hình nền tảng thực thi (hình 3) bao gồm các thành tố: 1) Năng lực nền tảng (Platform Capabilities); 2) Tham số (Properties): Thông số cấu hình cho 4316(5) 5.2017 Khoa học Kỹ thuật và Công nghệ nền tảng; 3) Giao diện (Interfaces): Cổng giao diện để thao tác hay giám sát nền tảng. Interfaces Platform Capabilities Properties Platform model Hình 3. Mô hình nền tảng thực thi. Mỗi thành phần ứng dụng nhất thiết cần nền tảng thực thi tương thích làm môi trường để triển khai và hoạt động. Cơ chế ghép nối thành phần ứng dụng với nền tảng thực thi: Để thành phần ứng dụng triển khai thì cần phải được cung cấp nền tảng thực thi phù hợp. Do các thành phần ứng dụng được xây dựng và phát triển tách biệt với nền tảng thực thi của nhà cung cấp dịch vụ nên việc phát triển nền tảng thực thi phải “khớp” với yêu cầu nền tảng thực thi của thành phần ứng dụng để ứng dụng có thể triển khai và hoạt động. Platform Requirements Component A Platform A Platform B Matched Platform Requirements Component B Matched Hình 4. Sự tương hợp của thành phần ứng dụng với nền tảng thực thi. Hình 4 thể hiện sự tương hợp giữa yêu cầu nền tảng (Platform Requirements) của thành phần ứng dụng với năng lực của nền tảng thực thi thành phần ứng dụng (Platform Capabilities). Tính tương hợp đóng vai trò quyết định trong hoạt động này bởi các thành phần ứng dụng chỉ có thể triển khai và hoạt động trên các nền tảng thực thi tương thích. Mô hình thành phần tổ hợp: Sự kết hợp nhiều thành phần ứng dụng tạo nên một tổ hợp (hình 5). Tổ hợp các thành phần có thể là một ứng dụng hoàn chỉnh hoặc đại diện một chức năng, nó được xem như là một dạng thành phần đặc biệt được cấu thành từ các thành phần nhỏ. Tổ hợp này có vai trò xác định các thành phần ứng dụng cần thiết trên cơ sở các tổ hợp đã được định hình về mặt chức năng và cấu trúc liên kết ứng dụng. Nó mở ra khả năng tái sử dụng lại đặc tả tổ hợp đã tối ưu cho mục đích nhất định. Điều này càng có ý nghĩa trong bối cảnh các thành phần của tổ hợp không thể độc lập mà phải lệ thuộc lẫn nhau để ứng dụng hoạt động. Properties Component 01 Component 02 Composite component Interfaces Capabilities Platform Requirements Component Requirements Hình 5. Mô hình tổ hợp thành phần. Một tổ hợp được tạo thành từ cấu trúc liên kết thành phần ứng dụng. Vì vậy, đặc tả mô hình tổ hợp là tổng hợp các đặc tả thành phần các mô hình thành phần chứa trong tổ hợp, các thành tố của mô hình tổ hợp là sự đồng bộ các thành tố của mô hình thành phần. Tổ hợp thành phần ứng dụng có thể hoạt động trên một hay nhiều nền tảng thực thi tương ứng với yêu cầu nền tảng thực thi của các thành phần cấu tạo. Chúng được tạo thành bởi quá trình phát triển ứng dụng từ nhiều nhà cung cấp ứng dụng nhằm tạo ra các ứng dụng có chức năng được chuẩn hóa. Ưu điểm của mô hình ứng dụng kết hợp đề xuất cho chợ ƯDĐM Mô hình ứng dụng kết hợp tạo nên sự thay đổi trong cơ chế hoạt động của chợ ƯDĐM. Dưới góc độ nhà cung cấp ƯDĐM, hoạt động xây dựng, phát triển và kiểm thử ứng dụng được giải phóng khỏi sự chật hẹp về môi trường thực thi từ phía nhà cung cấp dịch vụ. Mặt khác, dịch vụ hạ tầng và nền tảng từ nhà cung cấp được trừu tượng hóa là một thành phần của ứng dụng, tài nguyên đám mây được cung cấp thông qua thành phần ứng dụng đó là nền tảng thực thi. Điều này tạo ra sự chuyển hóa vai trò nhà cung cấp dịch vụ đám mây thành nhà cung cấp thành phần nền tảng thực thi ứng dụng. Các ƯDĐM từ vị thế bị phụ thuộc trở thành hoa tiêu định hướng cho sự phát triển công nghệ nền tảng thực thi. Vì thế, sự đa dạng về môi trường công nghệ của tầng ứng dụng tạo ra áp lực cạnh tranh cho các nhà cung cấp dịch vụ đám mây trong phát triển và hoàn thiện các giải pháp đóng gói môi trường thực thi ứng dụng đáp ứng được nhu cầu triển khai về mặt công nghệ của các ứng dụng lớp bên trên. Một ứng dụng không chỉ được phát triển bởi một nhà phát triển mà có thể từ nhiều nhà cung cấp khác nhau. Công việc này có thể được chia thành nhiều phần việc cho nhiều nhóm phát triển khác nhau và họ có thể độc lập hoàn thành các phần việc được giao, thay vì các ứng dụng được xây dựng thành 4416(5) 5.2017 Khoa học Kỹ thuật và Công nghệ các modul và ghép nối với nhau, thì các phần của ứng dụng được xây dựng thành các thành phần ứng dụng trên nhiều môi trường lập trình khác nhau được đóng gói thành các thành phần ứng dụng, các thành phần này độc lập về chức năng và khả năng triển khai. Ứng dụng nhiều thành phần có khả năng bổ sung, thay thế, phát triển từng thành phần riêng biệt để đáp ứng nhu cầu về mặt chức năng mà không ảnh hưởng đến cấu trúc chung của hệ thống phần mềm. Việc ứng dụng/thành phần ứng dụng khi được phát hành trên chợ ứng dụng không cần phải quan tâm đến môi trường thực thi ứng dụng là động lực tạo nên sự năng động, đa dạng của chợ ƯDĐM. Từ đó góp phần khắc phục hạn chế của mô hình chợ ƯDĐM hiện nay. Thử nghiệm triển khai ứng dụng theo mô hình đề xuất trên chợ ƯDĐM Xây dựng phương thức triển khai ứng dụng theo mô hình đề xuất trên chợ ƯDĐM Với mô hình thành phần ứng dụng đã đề xuất ở phần trên, chúng tôi thử nghiệm việc triển khai ứng dụng kết hợp trên một môi trường đa đám mây của chợ ứng dụng. Để đơn giản hóa quá trình thử nghiệm, chúng tôi sử dụng chuẩn đặc tả TOSCA [10, 11] để đặc tả cho các ƯDĐM hoàn chỉnh (bao gồm cả phần mềm, nền tảng và hạ tầng), đồng thời sử dụng công cụ SALSA [12] để tự động hóa quá trình triển khai ứng dụng lên hạ tầng đa đám mây. Quy trình triển khai được mô tả trong hình 6. Đây là mô hình ứng dụng hợp nhất các model thành phần từ các chủ thể người tiêu dùng, nhà quản lý chợ ƯDĐM, nhà phát triển, nhà cung cấp dịch vụ. Đặc tả ứng dụng hợp nhất dựa trên TOSCA bao gồm: 1) Cấu trúc liên kết thành phần ứng dụng, 2) Kế hoạch quản lý, 3) Các tạo tác, 4) Các tệp cấu hình. Đầu ra quá trình đặc tả được mô hình hóa trong tệp XML hoặc có thể được đóng gói trong tệp định dạng CSAR. Đặc tả sau khi được tổng hợp đầy đủ có thể được triển khai với các công cụ hỗ trợ hiện có như SALSA [12] và OpenTOSCA [13-15]. Validation and Synthesis /Cloud Marketplace Cloud providerCustomers Cloud App Vendors Cloud Marketplace Manager Cloud Provider A Cloud Provider B Cloud Provider C TOSCA RUNTIME /SALSA,OpenTosca Application Component ModelControl parameters Platform ModelUser’s Parameters TOSCA Description /XML,CSAR Hình 6. Mô hình đặc tả. Trong mô hình ứng dụng hợp nhất thành phần, việc triển khai thành phần ứng dụng gắn với nền tảng thực thi. Vì vậy, chúng độc lập trong thực thi trên các nền tảng thực thi từ phía nhà cung cấp dịch vụ đám mây, thành phần ứng dụng được cấu hình liên kết với nhau bởi giao thức và tham số kết nối. Thông qua các công cụ thực thi ứng dụng chợ ƯDĐM được triển khai và cấu hình tự động trên nhiều môi trường đám mây không đồng nhất, đồng thời gia tăng khả năng tương thích của ứng dụng với công nghệ đa đám mây. Triển khai Wordpress trên hạ tầng đa đám mây (minh họa) Trong ví dụ dưới đây (hình 7), chúng tôi mô tả quy trình tiến hành triển khai và cấu hình ứng dụng Wordpress với hai thành phần Appserver và Database trên Openstack với hai máy ảo khác nhau. Các thành phần này được đặc tả bằng TOSCA (file XML), thực thi với SALSA, triển khai và cấu hình tự động trên 2 máy ảo Ubuntu với Shell Script. Wordpress PHP Application PHP Container Apache PHP Module Web Sever Apache Ubuntu 14.04 OS (VM) Cloud Infrastructure Cloud Provider A Cloud Infrastructure Cloud Provider B host on installed on installed on deployed on Call (Http Call) Product REST API (WAR) Wordpress DB MySQL Database Connection (JDBC Connection) Ubuntu 14.04 OS (VM) deployed on host on Component model /Cloud App Vendors C on tro l p ar am et er s /C lo ud m ar ke tp la ce m an ag er Platform model /Cloud Providers host on installed on deployed on PHP Container Apache PHP Module Virtual Machine Operating System congruent with congruent with congruent with Customer /User Customer /User Parameters Parameters Hình 7. Mô tả ứng dụng Wordpress trên chợ ƯDđM. Nhà phát triển ứng dụng cung cấp ứng dụng Wordpress với 2 thành phần cơ bản Wordpress Web Server và Database MySQL. Đặc tính của 2 thành phần này như sau: 1) Được hỗ trợ thiết lập môi trường hoạt động và tham số cấu hình thông qua các file Shell Script; 2) Đưa các shell script lên lưu trên kho chứa (Repository); 3) Các thành phần được đặc tả bằng TOSCA (file XML), được xác định triển khai riêng biệt trên 2 máy ảo khác nhau; 4) Lưu file đặc tả ứng dụng lên kho chứa; 5) Dùng SALSA thực thi triển khai với file XML đặc tả Wordpress; 6) Truy cập vào địa chỉ IP của Appserver được SALSA cung cấp sau khi đã triển khai và cấu hình các thành phần ứng dụng của Wordpress thành công; 7) Sử dụng ứng dụng Wordpress. Đặc tả các thành phần ứng dụng Wordpress theo mô hình ứng dụng kết hợp được thể hiện ở Hình 8, 9, 10, trong đó hình 8 là đặc tả các thành phần ứng dụng Wordpress Server và MySQLServer; hình 9 là đặc tả cho các nền tảng thực thi của Wordpress Server và MySQLServer; hình 10 là đặc tả cho 4516(5) 5.2017 Khoa học Kỹ thuật và Công nghệ thành phần tổ hợp của Wordpress Server và MySQLServer. Hình 8. đặc tả thành phần Wordpress Server và MySQL. Hình 9. đặc tả thành phần nền tảng cho Wordpress Server và MySQL. Hình 10. đặc tả thành phần tổ hợp ứng dụng gồm Wordpress Server và MySQL. Ứng dụng Wordpress được đặc tả một cách cụ thể thông tin về 2 thành phần ứng dụng cùng với nền tảng thực thi của chúng. Các thành phần ứng dụng này được tự động hóa trong thiết lập môi trường thực thi, triển khai. Kết luận Trong bài báo, chúng tôi đã tập trung phân tích và đề xuất mô hình ứng dụng kết hợp cho chợ ƯDĐM với cấu trúc nhiều thành phần, đưa ra mô hình thành phần, mô hình tổ hợp, mô hình nền tảng của ứng dụng đa đám mây. Trong đó, mô hình ứng dụng kết hợp đề xuất được thử nghiệm thông qua việc đặc tả với TOSCA và triển khai trên môi trường đa đám mây bằng công cụ SALSA. Thành công của thử nghiệm minh chứng cho tính khả thi của mô hình ứng dụng nhiều thành phần cho các chợ ứng dụng đa đám mây. LờI CẢM ơN Các tác giả xin cảm ơn Chương trình KH&CN cấp nhà nước phục vụ phát triển bền vững vùng Tây Bắc đã tài trợ cho nghiên cứu thông qua đề tài “Ứng dụng và triển khai hệ thống phần mềm tích hợp và kết nối các thiết bị điện tử y sinh và mạng truyền thông hỗ trợ theo dõi sức khoẻ và dịch tễ cộng đồng khu vực Tây Bắc” (mã số KHCN-TB.06C/13-18). TÀI LIỆU THAM KHẢO [1] D. Petcu, A.V. Vasilakos (2014), “Portability in clouds: approaches and research opportunities”, Scalable Comput Practice Experience, 15(3), pp.251- 270. [2] D. Bradshaw, G. Folco, G. Cattaneo, M. Kolding (2012), Quantitative estimates of the demand for cloud computing in Europe and the likely barriers to up-take, IDC Interim Tech. Report. [3] J. Opara-Martins, R. Sahandi, F. Tian (2014), “Critical review of ven- dor lock-in and its impact on adoption of cloud computing”, International Con- ference on Information Society (I-Society), pp.92-97. [4] Google Apps marketplace, https://developers.google.com/apps-mar- ketplace/. [5] IBM Marketplace, https://www.ibm.com/us-en/marketplace/. [6] AppDirect, https://www.appdirect.com. [7] SaaS Max, [8] Avnet Cloud Marketplace, place/. [9] Ingram Micro Cloud, [10] Tobias Binz, Uwe Breitenbücher, Oliver Kopp, Frank Leymann (2014), TOSCA: Portable Automated Deployment and Managemanet of Cloud Applications. [11] OASIS (2013), Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer Version 1.0. [12] Duc Hung Le, Hong Linh Truong, Georgiana Copil, Stefan Nastic, Schahram Dutdar (2014), SALSA: A Framework for Dynamic Configuration of Cloud Service. [13] Tobias Binz, Uwe Breitenbücher, Florian Haupt, Oliver Kopp Frank Leymann, Alexander Nowak, Sebastian Wagner (2013), OpenTOSCA - A Run- time for TOSCA-based Cloud Applications. [14] Tobias Binz, Uwe Breitenbücher, Oliver Kopp, Frank Leymann (2014), OpenTOSCA - Open Source Ecosystem for OASIS TOSCA. [15] Oliver Kopp, Tobias Binz, Uwe Breitenbücher, Frank Leymann (2013), Winery - A Modeling Tool for TOSCA-Based Cloud Applications.
File đính kèm:
- phat_trien_mo_hinh_ung_dung_ket_hop_trong_cho_ung_dung_dam_m.pdf