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ụ

pdf 6 trang yennguyen 1200
Bạn đang xem 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

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

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:

  • pdfphat_trien_mo_hinh_ung_dung_ket_hop_trong_cho_ung_dung_dam_m.pdf