Tải bản đầy đủ (.docx) (36 trang)

Mô hình kiến trúc và phân loại điện toán đám mây

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (778.99 KB, 36 trang )

Mô hình kiến trúc và phân loại
trong điện toán đám mây
Điện toán đang được chuyển đổi sang một mô hình bao gồm các dịch vụ
được sản phẩn hóa và được phân phối theo một cách tương tự như các tiện ích
như nước, điện, khí đốt, và công nghệ. Trong một mô hình như vậy, những
người dùng truy cập các dịch vụ dựa trên những yêu cầu của họ, không cần
biết nơi mà các dịch vụ đó được lưu trữ. Một số mô hình điện toán, như điện
toán lưới (grid computing) chẳng hạn, đã hứa hẹn cung cấp tầm nhìn điện
toán tiện ích này. Điện toán đám mây (Cloud computing) là mô hình mới nổi
gần đây nhất hứa hẹn sẽ biến tầm nhìn của “các tiện ích điện toán” thành hiện
thực.
Điện toán đám mây là một tiến bộ kỹ thuật tập trung vào cách chúng ta
thiết kế các hệ thống điện toán, phát triển các ứng dụng, và tận dụng những
dịch vụ hiện có để xây dựng phần mềm. Nó được dựa trên khái niệm tríc lập
dự phòng động (dynamic provisioning), được áp dụng không chỉ cho các dịch
vụ mà còn cho tính toán khả năng, lưu trữ, mạng, và cơ sở hạ tầng công nghệ
thông tin nói chung. Các nguồn tài nguyên được làm cho có sẵn thông qua
Internet và được cung cấp trên cơ sở trả cho mỗi lần sử dụng (pay-per-use) từ
các nhà cung cấp điện toán đám mây. Ngày nay, bất cứ ai với một thẻ tín
dụng có thể đăng ký các dịch vụ đám mây và triển khai, cấu hình các máy chủ
cho một ứng dụng trong vài giờ, phát triển và thu hẹp cơ sở hạ tầng phục vụ
ứng dụng của nó theo nhu cầu, và chỉ trả tiền cho thời gian mà những nguồn
tài nguyên này được sử dụng.
Chương này cung cấp một cái nhìn tổng quan tóm tắt về hiện tượng điện
toán đám mây.
1.1. Khái niệm.
Điện toán đám mây đã trở thành môt từ thông dụng phổ biến; nó được sử
dụng rộng rãi để đề cập tới các công nghệ, dịch vụ và khái niệm khác nhau.
Nó thường được kết hợp với cơ sở hạ tầng ảo hóa hoặc phần cứng theo yêu
cầu, điện toán tiện ích. IT outsourcing (nói về một nhà máy, công ty,… đồng
ý nhận linh kiện, phụ tùng do một nhà cung cấp khác hoặc một nhà sản xuất


khác cung ứng và như vậy đỡ tốn kém hơn là tự làm lấy), nền tảng và phần
mềm như một dịch vụ, và nhiều thứ khác nữa bây giờ là trọng tâm của ngành
CNTT.
Khải niệm đám mây trong lịch sử được sử dụng trong ngành công nghiệp
viễn thông như là một khái niệm trừu tượng của mạng lưới trong các sơ đồ hệ
thống. Sau đó nó đã trở thành biểu tượng của mạng máy tính phổ biến nhất:
Internet. Ý nghĩa này cũng áp dụng cho điện toán đám mây, trong đó đề cập
tới một cách Internet làm trung tâm của máy tính. Internet đóng một vai trò cơ
bản trong điện toán dám mây, vì nó đại diện cho nền tảng mà qua đó nhiều
dịch vụ điện toán đám mây được cung cấp và có thể truy cập. Khía cạnh này
cũng được phản ánh trong định nghĩa được đưa ra bởi Armbrust
Điện toán đám mây đề cập đến các ứng dụng cung cấp các dịch vụ trên
Internet và các phần cứng và phần mềm hệ thống trong trung tập dữ liệu
cung cấp các dịch vụ.
Định nghĩa này mô tả điện toán đám mây như một hiện tượng đối với toàn
bộ chuỗi: từ phần cứng cơ bản cho tới các dịch vụ phần mềm và các ứng dụng
cấp cao. Nó giới thiệu khái niệm về tất cả mọi thứ như một dịch vụ, chủ yếu
gọi là XaaS ( là một từ viết tắt của X-như là-một-dịch vụ, với X có thể là S –
software, P – platform, I – infrastructure, H – hardware, D – database,…), nơi
các thành phần khác nhau của một hệ thống - cơ sở hạ tâng công nghệ thông
tin, các nền tảng phát triển, cơ sở dữ liệu – được phân phối, đong đếm, và có
giá trị như một dịch vụ. Cách tiếp cận mới này ảnh hưởng đáng kể không chỉ
cách mà chúng ta xây dựng phần mềm mà còn cách chúng ta triển khai nó,
làm cho nó dễ tiếp cận, và thiết kế cơ sở hạ tầng CNTT của chúng ta, và thậm
chí cả cách các công ty phân bổ chi phí cho các nhu cầu CNTT. Phương pháp
tiếp cận được thúc đẩy bởi điện toán đám mây là toàn cầu: nó bao gồm cả nhu
cầu của người dụng đơn lẻ lưu trữ tài liệu trên đám mây và nhu cầu của một
CIO quyết định triển khai một phần hoặc toàn bộ cơ sở hạ tâng CNTT của
công ty trong các đám mây công cộng. Khái niệm này của nhiều bên sử dụng
một môi trường điện toán đám mây chia sẻ được nhấn mạnh trong một định

nghĩa bởi Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST):
Điện toán đám mây là một mô hình cho phép phổ biến, thuận tiện,theo
yêu cầu truy cập mạng cho một tổ hợp tác chia sẻ các tài nguyên máy tính có
thể cấu hình được (ví dụ,mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ) có thể
được cung cấp nhanh chóng và phát hành với nỗ lực quản lý tối thiểu hoặc sự
tương tác nhà cung cấp dịch vụ.
Một khía cạnh quan trọng của điện toán đám mây là phương pháp tiếp cận
hướng tiện ích của nó. Hơn bất kỳ xu hướng nào khác trong điện toán phân
tán, điện toán đám mây tập trung vào việc cung cấp dịch vụ với một mô hình
định giá được đưa ra, trong nhiều trường hợp là một chiến lược “trả cho mỗi
lần sử dụng”. Nó làm cho có thể truy cập lưu trữ trực tuyến, thuê phần cứng
ảo, hoặc sử dụng các nền tảng phát triển và chỉ trả tiền cho việc sử dụng hiệu
quả của chúng, không có hoặc tối thiểu chi phí ban đầu. Tất cả những hoạt
động này có thể được thực hiện và lập hóa đơn chỉ đơn giản bằng cách nhập
chi tiết thẻ tín dụng và truy cập các dịch vụ thông qua một trình duyệt web.
Điều này giúp chúng ta cung cấp một đặc tính khác nhau và thực tế hơn của
điện toán đám mây. Chúng ta có thể xác định ba tiêu chí để phân biệt liệu một
dịch vụ có được phân phối theo kiểu điện toán đám mây hay không:
• Dịch vụ có thể được truy cập thông qua trình duyệt web hoặc một
giao diện lập trình ứng dụng dịch vụ web.
• Chi phí đầu tư để bắt đầu là bằng không.
• Bạn chỉ trả tiền cho những gì bạn sử dụng khi bạn sử dụng nó.
Mặc dù nhiều dịch vụ điện toán đám mây miễn phí cho người dùng đơn lẻ,
các dịch vụ lớp doanh nghiêp được phân phối dựa theo một mô hình định giá
cụ thể. Trong trường hợp này người dùng đăng ký dịch vụ và thiết lập với nhà
cung cấp dịch vụ một thỏa thuận cấp độ dịch vụ (service-level agreement -
SLA) xác định các thông số chất lượng của dịch vụ theo đó mà dịch vụ được
cung cấp. Tính hướng tiện ích của điện toán đám mây được thể hiện rõ ràng
bởi Buyya:
Một đám mây là một loại hệ thống song song và phân tán bao gồm một

tập các máy tính được kết nối với nhau và được áo hóa tự động cung cấp và
trình thể hiện như một hoặc nhiều tài nguyên máy tính thống nhất dựa trên
các thỏa thuận cấp độ dịch vụ được thiết lập thông qua thương lượng giữa nhà
cung cấp dịch vụ và người tiêu dùng.
1.2. Mô hình kiến trúc và phân loại.
Điện toán đám mây hỗ trợ bất kỳ dịch vụ CNTT nào mà có thể được tiêu
thụ như một tiện ích và được phân phối thông qua một mạng, chủ yếu là
Internet. Đặc tích này bao gồm các khía cạnh hoàn toàn khác nhau: cơ sở hạ
tầng, nền tảng phát triển, ứng dụng, và dịch vụ.
1.2.1. Mô hình tham chiếu điện toán đám mây.
Một đặc điểm cơ bản của điện toán đám mây là khả năng cung cấp, theo
yêu cầu, một loạt các dịch vụ CNTT đa dạng. Sự đa dạng này tạo ra những
nhận thức khác nhau về điện toán đám mây giữa những người sử dụng. Mặc
dù thiếu thống nhất, có thể phân loại các dịch vụ điện toán đám mây thành ba
loại chính: Cơ sở hạ tầng như một dịch vụ (Infrastructure-as-a-Service –
IaaS), Nền tảng như một dịch vụ (Platform-as-a-Service - PaaS), và Phần
mềm như một dịch vụ (Software-as-a-Service - SaaS). Các loại có liên quan
đến nhau như mô tả trong hình dưới đây, cung cấp một cái nhìn hữu cơ về
điện toán đám mây. Sơ đồ này được đề cập như là mô hình tham chiếu điện
toán đám mây, và sẽ được sử dụng để giải thích các công nghệ đồng thời giới
thiệu các nghiên cứu có liên quan.
Hình 1.1 Mô hình tham chiếu điện toán đám mây.
Trong mô hình, các giải pháp IaaS cung cấp sơ sở hạ tầng theo yêu cầu
dưới dạng phần cứng, lưu trữ và mạng ảo. Phần cứng ảo được sử dụng để
cung cấp tính toán theo yêu cầu dưới dạng các máy ảo. Những gì được tạo ra
theo yêu cầu của người dùng trên cơ sở hạ tầng nhà cung cấp, và người dùng
được cung cấp các công cụ và giao diện để cấu hình phần mềm được cài đặt
trên máy ảo. Mô hình định giá thường được xác định bằng số đô la mỗi giờ,
với chi phí hàng giờ bị ảnh hưởng bới các đặc điểm của phần cứng ảo. Lưu
trữ ảo được phân phối dưới dạng không gian đĩa thô hoặc đối tượng lưu trữ.

Dạng thứ nhất bổ sung một cung cấp phần cứng ảo yêu cầu lưu trữ bền vững.
Dạng thứ hai là một khái niệm trừu tượng mức cao hơn để lưu trữ các thực thể
chứ không phải là các tập tin. Mạng ảo xác định một tập các dịch vụ quản lý
mạng trong các trường hợp ảo và kết nối của chúng tới Internet hoặc mạng
riêng.
Tiếp theo là đến các giải pháp PaaS. Chúng phân phối các môi trường
runtime đàn hồi và có thể mở rộng theo nhu cầu và là nơi tổ chức thực thi của
các ứng dụng. Những dịch vụ này được hỗ trợ bởi một nền tảng trung tâm
chịu trách nhiệm cho việc tạo ra môi trường trừu tượng nơi các ứng dụng
được triển khai và thực thi. Đó là trách nhiệm của nhà cung cấp dịch vụ để
cung cấp khả năng mở rộng và quản lý khả năng chịu lỗi, trong khi người
dùng được yêu cầu tập trung vào logic của ứng dụng được phát triển bằng
cách tận dụng các API và thư viện của nhà cung cấp.
Trên cùng là các giải pháp Saas cung cấp các ứng dụng và dịch vụ theo
nhu cầu. Hầu hết các chức năng phổ biến của các ứng dụng desktop – như
phần mềm tự động hóa văn phòng, quản lý tài liệu, chỉnh sửa ảnh, và quản lý
quan hệ khách hàng (customer relationship management - CRM) – được nhân
rộng trên cơ sở hạ tầng của nhà cung cấp và được mở rộng, truy cập thông
qua một trình duyệt theo yêu cầu. Các ứng dụng này được chia sẻ trên nhiều
người dùng có tương tác được tách ra từ những người dùng khác. Lớp SaaS
cũng là khu vựng của các website mạng xã hội, tận dụng cơ sở hạ tầng dựa
trên đám mây để duy trì tải trọng tạo ra bởi sự phổ biến của chúng.
Mỗi lớp cung cấp một dịch vụ riêng cho người dùng. Các giải pháp IaaS
dành cho người dùng muốn tận dụng điện toán đám mây từ việc xây dựng hệ
thống điện toán có thể mở rộng đòi hỏi một tập các phần mềm cụ thể. Do đó
dịch vụ IaaS được sử dụng để phát triển các website có thể mở rộng hoặc cho
xử lý nền (background processing). Các giải pháp PaaS cung cấp nền tảng lập
trình có thể mở rộng cho phát triển các ứng dụng và phù hợp hơn khi hệ thống
mới phải được phát triển. Các giải pháp SaaS mục tiêu chủ yếu vào người
dùng muốn hưởng lợi từ khả năng mở rộng, đàn hồi của đám mây mà không

phải thực hiện bất kỳ phát triển phần mềm, cài đặt, cấu hình bà bảo trì nào.
Giải pháp này là thích hợp khi có các dịch vụ SaaS hiện có phù hợp với nhu
cầu người dùng (ví dụ như thư điện tử, quản lý tài liệu, CRM,…) và một mức
tùy biến cần thiết tối thiểu.
1.2.2. Kiến trúc
Có thể tập hợp tất cả những nhận thức cụ thể về điện toán đám mây vào
một sơ đồ các lớp được thể hiện trong hình, từ các thiết bị phần cứng tới các
hệ thống phần mềm.
Hình 1.2 Cơ sở hạ tầng điện toán đám mây.
Các nguồn tài nguyên đám mây (Cloud Resources) được khai thác để cung
cấp các dịch vụ. Thông thường, lớp này được thực hiện bằng cách sử dụng
một trung tâm dữ liệu trong đó có hàng trăm tới hàng ngàn các nút được xếp
chồng lên nhau. Cơ sở hạ tầng đám mây (Cloud infrastructure) có thể không
đồng nhất vì có nhiều nguồn tài nguyên, như các cụm (clusters) và thậm chí
cả các máy tính được nối mạng chẳng hạn, có thể được sử dụng để xây dựng
lên nó. Hơn nữa, các hệ thống cơ sở dữ liệu và các dịch vụ lưu trữ khác cũng
có thể là một phần của cơ sở hạ tầng.
Cơ sở hạ tầng vật lý được quản lý bởi lõi trung gian (core middleware),
các mục tiêu của chúng là cung cấp một môi trường runtime thích hợp cho
các ứng dụng và sử dụng tốt nhất các nguồn tài nguyên. Dưới cùng của lõi
trung gian, các công nghệ ảo hóa được sử dụng để đảm bảo tùy biến môi
trường runtime, cách ly ứng dụng, sanboxing, và chất lượng dịch vụ. Phần
cứng ảo hóa thường được sử dụng phổ biến tại mức này. Hypervisor quản lý
một vùng (pool) các nguồn tài nguyên và để lộ ra cơ sở hạ tầng phân tán như
một tập các máy ảo. Bằng cách sử dụng công nghệ máy ảo có thể phân vùng
các tài nguyên phần cứng như CPU và bộ nhớ và ảo hóa các thiết bị cụ thể,
đáp ứng nhu cầu của người sử dụng và ứng dụng. Giải pháp này thường được
kết hợp với các chiến lược lưu trữ ảo và mạng ảo, cho phép cơ sở hạ tầng
hoàn toàn ảo hóa và được kiểm soát. Theo dịch vụ cụ thể được cung cấp cho
người dùng cuối, các công nghệ ảo hóa khác có thể được sử dụng; ví dụ, ảo

hóa mức lập trình giúp tạo ra một môi trường runtime di động nơi mà các ứng
dụng có thể chạy được và được kiểm soát. Kịch bản này thường có nghĩa là
các ứng dụng được lưu trữ trong đám mây được phát triển với một công nghệ
cụ thể hoặc một ngôn ngữ lập trình cụ thể, như Java, .NET, hoặc Python.
Trong trường hợp này, người dùng không phải xây dựng hệ thống của mình.
Quản lý cơ sở hạ tầng là chức năng quan trọng của lõi trung gian, hỗ trợ khả
năng như đàm phán về chất lượng dịch vụ, kiếm soát kết nạp, quản lý thực thi
và giám sát, kế toán, và thanh toán.
Sự kết hợp của nền tảng lưu trữ đám mây và các nguồn tài nguyên thường
được phân loại như một giải pháp IaaS. Chúng ta có thể tập hợp các ví dụ về
IaaS thành hai loại: Một số trong chúng cung cấp các lớp quản lý và cơ sở hạ
tầng vật lý; một số khác chỉ cung cấp lớp quản lý (IaaS (M)). Trong trường
hợp thứ hai, lớp quản lý thường được tích hợp với các giải pháp IaaS khác mà
cung cấp cơ sở hạ tầng vật lý và tăng giá trị cho chúng.
Các giải pháp IaaS phù hợp với thiết kế cơ sở hạ tầng hệ thống nhưng
cung cấp các dịch vụ hạn chế để xây dựng các ứng dụng. Dịch vụ này được
cung cấp bởi các công cụ và môi trường lập trình đám mây, những thứ tạo nên
một lớp mới để cung cấp cho người dùng một nền tảng phát triển cho các ứng
dụng. Phạm vi của các công cụ bao gồm các giao diện dựa trên web, các công
cụ dòng lệnh, và các framework cho lập trình song song và phân tán. Trong
kịch bản này, người dùng phát triển ứng dụng của họ đặc biệt cho các đám
mây bằng cách sử dụng các API tại cấp người dùng trung gian (user-level
middleware). Vì lý do này, phương pháp này còn được gọi là PaaS (Platform-
as-a-Service) vì dịch vụ được cung cấp cho người dùng là một nền tảng phát
triển chứ không phải là một cơ sở hạ tầng. Các giải pháp PaaS thường bao
gồm cơ sở hạ tầng đi kèm như là một phần của dịch vụ được cung cấp cho
người dùng. Trong trường hợp của Pure PaaS, chỉ phần trung gian mức người
dùng (user-level middleware) được cung cấp, và nó phải được bổ sung với
một cơ sở hạ tầng vật lý hoặc ảo.
Lớp trên cùng của mô hình tham chiếu được mô tả trong Hình 1.2 bao

gồm các dịch vụ được phân phối tại mức ứng dụng. Chúng chủ yếu được gọi
là SaaS (Software-as-a-Service). Trong nhiều trường hợp có các ứng dụng
trên nền web dựa trên đám mây để cung cấp dịch vụ tới người dùng cuối.
Công suất của đám mây được cung cấp bởi các giải pháp IaaS và PaaS cho
phép các nhà cung cấp phần mềm độc lập phân phối các dịch vụ ứng dụng của
họ trên Internet. Các ứng dụng khác thuộc lớp này tận dụng mạnh mẽ Internet
cho các chức năng cốt lỗi dựa trên đám mây để duy trì một số lượng lớn
người dùng; đây là trường hợp của các cổng thông tin, nói chung, là các
website mạng xã hội.
Mô hình tham chiếu được mô tả trong Hình 1.2 cũng giới thiệu khải niệm
về mọi thứ như là một dịch vụ (XaaS). Đây là một trong những yếu tố quan
trọng nhất của điện toán đám mây: Các dịch vụ đám mây từ các nhà cung cấp
khác nhau có thể được kết hợp để cung cấp một giải pháp tích hợp hoàn toàn
bao gồm tất cả những gì của một hệ thống. Các nhà cung cấp IaaS có thể cung
cấp các máy ảo nơi mà các giải pháp PaaS được triển khai. Khi không còn
nhu cầu cho một lớp PaaS, có thể trực tiếp điều chỉnh cơ sở hạ tầng ảo với bộ
phần mềm cần thiết để chạy các ứng dụng. Đây là trường hợp của các trang
trại web ảo: phần mềm đóng gói sẵn một hệ thống phân tán gồm các máy chủ
web, máy chủ cơ sở dữ liệu, và các cân bằng tải (load balancers) trên cùng
được cài đặt để chạy các ứng dụng web. Khả năng này đã làm cho điện toán
đám mây là một lựa chọn thú vị để giảm thiểu vốn đầu tư ban đầu cho các
công ty khởi nghiệp trong CNTT, cho phép họ nhanh chóng thương mại hóa ý
tưởng của họ và phát triển cơ sở hạ tầng của họ dựa theo doanh thu của họ
Bảng 1-1 Tóm tắt các đặc tính của ba loại chính được sử dụng để phân loại
các giải pháp điện toán đám mây.
Phân loại Đặc điểm Loại sản phẩn Nhà cung cấp và sản
phẩm
SaaS Khách hàng được
cung cấp với các ứng
dụng có thể truy cập

bất cứ lúc nào và bất
cứ đâu
Các dịch vụ và
ứng dụng web
(web 2.0)
SalesForce.com
(CRM)
Clarizen.com(project
management)
Google Apps
PaaS Khách hàng được
cung cấp một nền tảng
cho việc phát triển các
ứng dụng được lưu trữ
trong đám mây
Các API và
framework
Các hệ thống
triển khai
Google AppEngine
Microsoft Azure
Manjrasoft Aneka
Data Synapse
IaaS/Haa Khách hàng được Cơ sở hạ tầng Amazon EC2 and S3
S cung cấp phần cứng
và lưu trữ ảo hóa trên
đó họ có thể xây dựng
cơ sở hạ tầng của họ
quản lý máy ảo
Quản lý lưu trữ

Quản lý mạng
GoGrid
Nirvanix
1.2.3. Infrastructure- and hardware-as-a-service
Các giải pháp IaaS/HaaS là phổ biến nhất và phân khúc thị trường phát
triển của điện toán đám mây. Chúng phân phối cơ sở hạ tầng tùy theo yêu
cầu. Các tùy chọn có sẵn trong IaaS cung cấp từ một máy chủ duy nhất cho
toàn bộ cơ sở hạ tầng, bao gồm các thiết bị mạng, cân bằng tải, và máy chủ
web, máy chủ cơ sở dữ liệu.
Công nhệ chính được sử dụng để cung cấp và thực hiện các giải pháp này
là ảo hóa phần cứng: một hoặc nhiều máy ảo cấu hình và kết nối với nhau một
cách thích hợp xác định hệ thống phân tán trên các ứng dụng được cài đặt và
triển khai. Các máy ảo cũng được coi là các thành phần nguyên tử được triển
khai và định giá theo các tính năng cụ thể của phần cứng ảo: bộ nhớ, số lượng
bộ vi xử lý, và đĩa lưu trữ. Các giải pháp IaaS/HaaS mang lại tất cả những lợi
ích của ảo hóa phần cứng: phân vùng khối lượng công việc, tách biệt ứng
dụng, sandboxing, và điều chỉnh phần cứng. Từ quan điểm của các nhà cung
cấp dịch vụ, IaaS/HaaS cho phép khai thác tốt hơn cơ sở hạ tầng CNTT và
cung cấp môi trường an toàn hơn để thực thi các ứng dụng bên thứ ba. Từ
quan điểm của khách hàng nó giảm chi phí quản lý và bảo trì cũng như chi
phí vốn được cấp để mua phần cứng. Đồng thời người dùng có thể tận dụng
lợi thế của các tùy chỉnh đầy đủ được cung cấp bởi công nghệ ảo hóa để triển
khai cơ sở hạ tầng của họ trong các đám mấy; trong hầu hết trường hợp các
máy ảo chỉ đi kèm với hệ điều hành đã được chọn cài đặt và hệ thống có thể
được cấu hình với tất cả các gói và ứng dụng cần thiết. Các giải pháp khác
cung cấp các hình ảnh hệ thống đã được đóng gói sẵn mà có các bộ phần mềm
cần thiết cho các sử dụng phổ biến nhất: các máy chủ web, máy chủ cơ sở dữ
liệu, hoặc bộ LAMP. Bên cạnh khả năng quản lý máy áo cơ bản, các dịch vụ
bổ sung có thể được cung cấp, thường bao gồm: phân bổ dựa vào tài nguyên
SLA, quản lý khối lượng công việc, hỗ trợ thiết kế cơ sở hạ tầng thông qua

giao diện web, và khả năng tích hợp các giải pháp IaaS của bên thứ ba.
Hình 1.3 Triển khai IaaS
Hình trên cung cấp một cái nhìn tổng thể các thành phần tạo nên một giải
pháp IaaS. Có thể phân biệt ba lớp chính: cơ sở hạ tầng vật lý (Physical
Infrastructure), phần mềm quản lý cơ sở hạ tầng (Infrastructure Management
Software), và giao diện người dùng (Web-Based Management Interface). Tại
lớp trên cùng giao diện người dùng cung cấp truy cập tới các dịch vụ được thể
hiện trong phần mềm quản lý cơ sở hạ tầng. Một giao diện như vậy thường
dựa trên công nghệ web 2.0: các dịch vụ web, RESTful APIs, và mash-ups.
Những công nghệ này cho phép hoặc các ứng dụng hoặc người dùng cuối
cùng truy cập các dịch vụ được đưa ra bởi cơ sở hạ tầng cơ bản. Các ứng
dụng web 2.0 cho phép phát triển các console quản lý tính năng đầy đủ được
lưu trữ trong một trình duyệt hoặc một trang web. Các dịch vụ web và
RESTful APIs cho phép các chương trình tương tác với dịch vụ mà không cần
sự can thiệp của con người, do đó cung cấp tích hợp đầy đủ trong một hệ
thống phần mềm. Các tính năng cốt lõi của một giải pháp IaaS được thực hiện
trong lớp phần mềm quản lý cơ sở hạ tầng. Đặc biệt, quản lý các máy ảo là
chức năng quan trọng nhất được thực hiện bởi lớp này. Thành phần lập lịch
trình (Scheduler) đóng vai trò trung tâm, phụ trách phân bổ thực thi của các
máy ảo. Thành phần lập lịch trình (Scheduler) tương tác với các thành phần
khác thực hiện các nhiệm vụ khác nhau:
• Thành phần định giá và thanh toán (pricing and billing) quản lý chi
phí thực thi mỗi máy ảo và duy trì dữ liệu được sử dụng để tính phí
người dùng.
• Thành phần giám sát (monitoring) theo dõi việc thực thi của mỗi
máy ảo và duy trì dữ liệu cần thiết để áo cáo và phân tích hiệu suất
của hệ thống.
• Thành phần dự phòng (reservation) lưu trữ thông tin của tất cả các
máy ảo đã được thực thi hoặc sẽ được thực thi trong tương lai.
• Nếu hỗ trợ thực thi dựa trên QoS (quality of service) được cung cấp,

một thành phần quản lý (management) QoS/SLA sẽ duy trì một kho
lưu trữ của tất cả các SLA thực hiện cùng với người dùng; cùng với
các thành phần giám sát, thành phần này được sử dụng để đảm bảo
một máy ảo đã cho được thực thi với chất lượng mong muốn của
dịch vụ.
• Thành phần kho lưu trữ VM (VM repository) cung cấp một danh
mục các ảnh máy ảo mà người dùng có thể sử dụng để tạo ra các
trường hợp ảo khác nhau. Một số thực hiện cũng cho phép người
dùng tải lên ảnh máy ảo của họ.
• Thành phần quản lý VM pool (VM pool manager) chịu trách nhiệm
theo dõi tất cả các máy ảo đang hoạt động.
• Cuối cùng, nếu hệ thống hỗ trợ tích hợp các nguồn tài nguyên bổ
sung thuộc về một nhà cung cấp IaaS thứ ba, một thành phần trích
lập dự phòng (provisioning) tương tác với thành phần lập lịch trình
(scheduler) để cung cấp một máy ảo ở bên ngoài cơ sở hạ tầng vật lý
cục bộ được quản lý trực tiếp bởi khối chung (pool).
Lớp dưới cùng bao gồm cơ sở hạ tầng vật lý, trên đó các lớp quản lý hoạt
động. Như đã thảo luận trước đó, cơ sở hạ tầng có thể có các loại khác nhau:
cơ sở hạ tầng cụ thể được sử dụng phụ thuộc vào sử dụng cụ thể của đám
mây. Một nhà cung cấp dịch vụ có thể sử dụng một trung tâm dữ liệu khổng
lồ chứa hàng trăm hàng ngàn các nút. Một cơ sở hạ tầng đám mây được phát
triển trong cơ sở, trong một doanh nghiệp vừa và nhỏ hoặc trong một bộ phận
trường đại học, sẽ có thể dựa trên một cụm (cluster). Ở dưới cùng của mô
hình cũng có thể cân nhắc một môi trường không đồng nhất nơi các loại tài
nguyên khác nhau – máy tính, máy trạm, và các cụm (cluster) – có thể được
tổng hợp. Trường hợp này chủ yếu đại diện cho sự tiến hóa của mạng lưới
máy tính để bàn nơi mà bất kỳ tài nguyên máy tính có sẵn (như máy tính và
máy trạm “nhàn rỗi” ngoài giờ làm việc) được khai thác để cung cấp một
năng lực tính toán khổng lồ. Từ một quan điểm kiến trúc, lớp vật lý cũng bao
gồm các nguồn tài nguyên ảo được thuê từ các nhà cung cấp IaaS bên ngoài.

Trong trường hợp các giải pháp IaaS hoàn toàn, tất cả ba mức độ được
cung cấp như dịch vụ. Điều này thường là trường hợp với các nhà cung cấp
đám mây công cộng như Amazon, GoGrid, Joyent, Rightscale, Terremark,
Rackspace, ElasticHosts, và Flexiscale, sở hữu các trung tâm dữ liệu lớn và
cho phép truy cập vào cơ sở hạ tầng điện toán của họ sử dụng hướng tiếp cận
IaaS. Các giải pháp khác thay vì chỉ bao gồm giao diện người dùng và các lớp
quản lý phần mềm cơ sở hạ tầng. Họ cần phải cung cấp thông tin để truy cập
các nhà cung cáp IaaS của bên thứ ba hoặc để sở hữu một cơ sở hạ tầng riêng
trong đó phần mềm quản lý được cài đặt. Đây là trường hợp với Enomaly,
Elastra, Eucalyptus, OpenNebula, và các giải pháp IaaS (M) cụ thể từ
VMware, IBM, và Microsoft.
Kiến trúc được đề xuất chỉ đại diện cho một mô hình tham chiếu cho việc
triển khai IaaS. Nó đã được sử dụng để cung cấp cái nhìn sâu sắc vào các đặc
tính chung phổ biến nhất của phương pháp cung cấp các dịch vụ điện toán
đám mây này và các hoạt động thường được thực hiện ở cấp độ này. Kiến trúc
tham khảo áp dụng cho việc triển khai IaaS cung cấp tài nguyên máy tính, đặc
biệt cho các việc lập lịch trình (sheduling). Nếu lưu trữ là dịch vụ chính được
cung cấp, nó vẫn còn có thể phần biệt ba lớp này. Vai trò của phần mềm quản
lý cơ sở hạ tầng không phải là để theo dõi và quản lý sự thực thi của máy ảo
mà là để cung cấpquyền truy cập tới các cơ sở hạ tầng lớn và triển khai các
giải pháp ảo hóa lưu trữ trên lớp vật lý.
1.2.4. Platform as a service
Các giải pháp PaaS cung cấp một nền tảng phát triển và triển khai cho việc
chạy các ứng dụng trên đám mây. Chúng tạo thành các trung gian để các ứng
dụng được xây dựng trên đó. Một cái nhìn tổng quan về các tính năng đặc
trưng cho các tiếp cận PaaS được đưa ra trong sau.
Hình 1.4 Mô hình tham chiếu PaaS.
Quản lý ứng dụng (Application Management) là chức năng cốt lõi của lớp
trung gian. Triển khai PaaS cung cấp các ứng dụng với một môi trường
runtime và không trình bày bất kỳ dịch vụ nào cho việc quản lý cơ sở hạ tầng

cơ bản. Chúng tự động hóa quá trình triển khai các ứng dụng tới cơ sở hạ
tầng, cấu hình các thành phần ứng dụng, dự trữ và cấu hình các công nghệ hỗ
trợ như cân bằng tải, cơ sở dữ liệu, hệ thống quản lý thay đổi dựa trên các
chính sách được thiết lập bởi người dùng. Các nhà phát triển thiết kế hệ thống
của họ xét về mặt ứng dụng và không quan tâm tới phần cứng (vật lý hay ảo),
hệ điều hành, và các dịch vụ mức thấp khác. Phần lõi trung gian (Core
Middleware) chịu trách nhiệm quản lý nguồn tài nguyên và mở rộng các ứng
dụng theo yêu cầu hoặc tự động, theo cam kết với người sử dụng. Từ quan
điểm của người dùng, phần lõi trung gian trình bày các giao diện cho phép lập
trình và triển khai ứng dụng trên đám mây. Đây có thể dưới dạng một giao
diện dựa trên web hoặc dưới dạng các API và thư viện lập trình.
Mô hình phát triển cụ thể quyết định cho các ứng dụng xác định giao diện
thể hiện tới người dùng. Một số triển khai cung cấp một giao diện hoàn toàn
dựa trên web được lưu trữ trong đám mây và cung cấp nhiều loại dịch vụ. Có
thể tìm thấy môi trường phát triển thích hợp dựa trên 4GL và các khái niệm
lập trình trực quan, hoặc môi trường tạo mẫu nhanh (rapid prototyping
environmnets) nơi các ứng dụng được xây dựng bằng cách lắp ráp các mash-
up và các thành phần người dùng định nghĩa và được tùy chỉnh lần lượt. Các
triển khai khác của mô hình PaaS cung cấp một mô hình đối tượng hoàn chỉnh
cho việc đại diện cho một ứng dụng và cung cấp một cách tiếp cận dựa trên
ngôn ngữ lập trình. Cách tiếp cận này thường cung cấp nhiều cơ hội và linh
hoạt hơn nhưng phải chịu chu kỳ phát triển dài hơn. Các nhà phát triển
thường có toàn bộ sức mạnh của các ngôn ngữ lập trình như Java, .NET,
Python, hoặc Ruby, với một vài hạn chế để cung cấp khả năng mở rộng và an
ninh tốt hơn. Trong trường hợp này, các môi trường phát triển truyền thống có
thể được sử dụng để thiết kế và phát triển các ứng dụng, sau đó được triển
khai trên đám mây bằng cách sử dụng các API được đưa ra bởi nhà cung cấp
PaaS. Các thành phần cụ thể có thể được cung cấp cùng với các thư viện phát
triển để khai thác tốt hơn các dịch vụ được cung cấp bởi môi trường PaaS.
Đôi khi một môi trường runtime cục bộ mô phỏng điều kiện của đám mây

được đưa ra cho người sử dụng để thử nghiệm các ứng dụng trước khi triển
khai. Môi trường này có thể bị hạn chế về tính năng, và nó thường không
được tối ưu hóa cho việc mở rộng quy mô.
Các giải pháp PaaS có thể cung cấp phần trung gian cho việc phát triển
các ứng dụng cùng với cơ sở hạ tầng hoặc đơn giản cung cấp cho người dùng
các phần mềm được cài đặt trên cơ sở của người dùng (user premises). Trong
trường hợp đầu tiên, nhà cung cấp PaaS cũng sở hữu các trung tâm dữ liệu lớn
nơi các ứng dụng được thực thi; trong trường hợp thứ hai, được đề cập như là
Pure PaaS, phần trung gian cấu thành giá trị cốt lõi của việc cung cấp. Nó
cũng có thể có các nhà cung cấp phân phối cả phần trung gian và cơ sở hạ
tầng và chỉ vận chuyển (ship) phần trung gian cho các cài đặt cá nhân.
Bảng 4.2 cung cấp phân loại những triển khai PaaS phổ biến nhất. Có thể
tổ chức các giải pháp khá nhau thành ba loại lớn: PaaS-I, PaaS-II, PaaS-III.
Loại đầu tiên xác định việc triển khai PaaS hoàn toàn theo phong cách điện
toán đám mây cho phát triển và triển khai ứng dụng. Chúng cung cấp một môi
trường phát triển tích hợp được lưu trữ trong trình duyệt web nơi các ứng
dụng được thiết kế, phát triển, tạo ra, và triển khai. Đây là trường hợp của
Force.com và Longjump. Cả hai cung cấp như nền tảng sự kết hợp của phần
trung gian và cơ sở hạ tầng. Trong lớp thứ hai chúng ta có thể liệt kê tất cả
các giải pháp được tập trung vào việc cung cấp một cơ sở hạ tầng có thể mở
rộng cho các ứng dụng web, chủ yếu là các website. Trong trường hợp này,
người phát triển thường sử dụng các API của nhà cung cấp để phát triển. ứng
dụng. Google AppEngine là sản phẩm phổ biến nhất trong loại này. Nó cung
cấp một runtime có thể mở rộng dựa trên ngôn ngữ lập trình Java và Python,
được sửa đổi để cung cấp môt môi trường runtime an toàn và được làm phong
phú hơn với các thành phần và các API bổ sung để hỗ trợ khả năng mở rộng.
AppScale, một triển khai mã nguồn mở của Google AppEngine, cung cấp
giao diện tương thích phần trung gian mà đã được cài dặt trên một cơ sở hạ
tầng vật lý. Joyent Smart Platform cung cấp một cách tiếp cận tương tự như
Google AppEngine. Một cách tiếp cận khác được thực hiện bởi Heroku và

Engine Yard, trong đó cung cấp hỗ trợ khả năng mở rộng cho Ruby – và
Ruby trên các website dựa trên các Rail. Trong trường hợp này các nhà phát
triển thiết kế và tạo ra các ứng dụng của họ với phương pháp truyền thống và
rồi triển khai chúng bằng cách tải lên nền tảng của nhà cung cấp.
Bảng 1-2 Phân loại Paas.
Phân
loại
Mô tả Loại sản phẩm Nhà cung cấp và
sản phầm
PaaS-I Môi trường runtime
với nền tảng phát
triển ứng dụng được
lưu trữ trên web.
Tạo mẫu ứng dụng
nhanh chóng
Middleware+Infrastructur
e
Middleware+Infrastructur
e
Force.com
Longjump
PaaS-
II
Môi trường runtime
cho mở rộng các
ứng dụng web.
Runtiem có thể
được nâng cao bằng
các thành phần bổ
sung mà cung cấp

khả năng mở rộng
quy mô
Middleware+Infrastructur
e
Middleware
Middleware+Infrastructur
e
Middleware+Infrastructur
e
Middleware+Infrastructur
e
Middleware
Google
AppEngine
AppScale
Heroku
Engine Yard
Joyent Smart
Platform
GigaSpaces
XAP
PaaS- Phần trung gian và Middleware+Infrastructur Microsoft Azure
III mô hình lập trình
cho phát triển ứng
dụng phân tán trong
đám mây
e
Middleware
Middleware
Middleware

Middleware
Middleware
DataSynapse
Cloud IQ
Manjrasof
Aneka
Apprenda
SaaSGrid
GigaSpaces
DataGrid
Loại thứ ba bao gồm tất cả các giải pháp cung cấp một nền tảng lập trình
đám mây cho bất cứ loại ứng dụng nào, không chi ứng dụng web. Trong đó,
phổ biến là Microsoft Window Azure, cung cấp một framework toàn diện để
xây dựng các ứng dụng đám mây hướng dịch vụ trên công nghệ .NET, dược
lưu trữ trên các trung tâm dữ liệu của Microsoft. Các giải pháp khác trong
cùng loại, như Manjrasoft Aneka, Apprenda SaaSGrid, Appistry Cloud IQ
Platform, DataSynapse, và GigaSpaces DataGrid chỉ cung cấp phần trung
gian với các dịch vụ. Bảng 2 chỉ cho thấy một vài tùy chọn có sẵn trong phân
khúc thị trường PaaS.
PaaS bao gồm một loạt các giải pháp để phát triển và lưu trữ các ứng dụng
trong đám mây. Mặc dù không đồng nhất, ta vẫn có thể xác định một số tiêu
chí có thể xuất hiện trong bất cứ triển khai nào. Theo ghi nhận của Sam
Charigton, quản lý sản phẩm tại Appistry.com, có một số đặc điểm quan trọng
xác định một giải pháp PaaS:
• Runtime framework. Framework này đại diện cho các phần mềm của
mô hình PaaS và các khía cạnh trực quan nhất khi người dùng đề cập
tới các giải pháp PaaS. Runtime framework thực thi mã lệnh (code)
của người dùng cuối dựa trên các chính sách được thiết lập bởi người
dùng và nhà cung cấp.
• Abstraction. Các giải pháp PaaS được phân biệt bởi mức độ trừu

tượng mức cao mà chúng cung cấp. Trong khi đó, trong trường hợp
của các giải pháp IaaS tập trung vào việc phân phối truy cập “raw”
tới cơ sở hạ tầng ảo hay vật lý, trong khi PaaS tập trung vào các ứng
dụng đám mây phải hỗ trợ. Điều này có nghĩa là các giải pháp PaaS
cung cấp một cách để triển khai và quản lý các ứng dụng trên đám
mây chứ không phải là một loạt các máy ảo trên đó cơ sở hạ tầng
CNTT được xây dựng và cấu hình.
• Automation. Môi trường PaaS tự động hóa quá trình triên khai các
ứng dụng tới cơ sở hạ tầng, mở rộng chúng bằng các nguồn tài
nguyên dự trữ bổ sung khi cần thiết. Quấ trình này được thực hiện tự
động và dựa theo SLA được thiết lập giữa khách hàng và nhà cung
cấp. Đặc tính này thường không có trong các giải pháp IaaS, chúng
chỉ cung cấp các cách để cung cấp thêm nguồn tài nguyên.
• Cloud services. Dịch vụ PaaS cung cấp các nhà phát triển và kiến
trúc sư với các dịch vụ và các API, giúp họ đơn giản hóa việc tạo ra
và phân phối các ứng dụng đám mây đàn hồi và tính sẵn sàng cao.
Các dịch vụ ày là những phần chính trong các giải pháp PaaS cạnh
tranh và thường bao gồm các thành phần cụ thể để phát triển ứng
dụng, các dịch vụ tiên tiến cho ứng dụng giám sát, quản lý và báo
cáo.
Một thành phần cần thiết cho một cách tiếp cận dựa trên PaaS là khả năng
tích hợp dịch vụ dám mây của bên thứ ba được cung cấp từ một nhà cung cấp
khác bằng cách tận dụng kiến trúc hướng dịch vụ. Sự tích hợp như vậy sẽ xảy
ra thông qua các giao diện và giao thức chuẩn. Điều này làm cho việc phát
triển các ứng dụng nhanh hơn và có thể phát triển theo nhu cầu của khách
hàng và người sử dụng.
Một trong những mối quan tâm lớn nhất của việc tận dụng các giải pháp
PaaS cho việc thực hiện các ứng dụng là vendor lock-in (là tình huống trong
đó một khách hàng sử dụng một sản phẩm hoặc một dịch vụ không thể dễ
dàng chuyển tiếpsang sản phẩm hoặc dịch vụ của đối thủ cạnh tranh với nhà

cung cấp đang sử dụng). Khác với các giải pháp IaaS cung cấp các máy chủ
ảo có thể được tùy chỉnh đầy đủ các phần mềm được cài đặt, môi trường PaaS
cung cấp một nền tảng cho việc phát triển các ứng dụng, được xác định rõ là
một tập các API và, trong nhiều trường hợp, liên kết ứng dụng với runtime cụ
thể của nhà cung cấp PaaS. Mặc dù cách tiếp cận dựa trên nền tảng đơn giản
hóa mạnh mẽ sự phát triển và chu kỳ phát triển của các ứng dụng, nó đặt ra
nguy cơ làm cho các ứng dụng này hoàn toàn phụ thuộc vào nhà cung cấp. Sự
phụ thuộc như vậy có thể trở thành một trở ngại đáng kể trong việc đặt lại
mục tiêu (retargeting) các ứng dụng tới môi trường và runtime khác nếu các
cam kết với nhà cung cấp kết thúc. Tác động của vendor lock-in trên các ứng
dụng rõ ràng thay đổi tùy theo các giải pháp khác nhau. Một số trong số họ,
chẳng hạn như Force.com, dựa vào một runtime framework độc quyền, mà
làm cho quá trình đặt lại mục tiêu (retargeting) rất khó khăn. Một số khác,
như Google AppEngine và Microsoft Azure, dựa trên các runtime tiêu chuẩn
công nghiệp nhưng xử dụng thiết bị lưu trữ và cơ sở hạ tầng điện toán riêng.
Trong trường hợp này có thể tìm thấy lựa chọn thay thế dựa trên các giải pháp
PaaS thực hiện các giao diện tương tự, với hiệu suất có lẽ khác nhau. Một số
khác như Appistry Cloud IQ Platform, Heroku, và Engine Yard, hoàn toàn
dựa trên các tiêu chuẩn mở, do đó làm cho việc di chuyển các ứng dụng dễ
dàng hơn.
Cuối cùng, từ một quan điểm tài chính, mặc dù các giải pháp IaaS cho
phép chuyển các chi phí đầu tư vào các chi phí hoạt động thông qua
outsourcing, các giải pháp PaaS có thể cắt giảm chi phí phát triển, triển khai,
và quản lý ứng dụng. Nó giúp quản lý làm giảm nguy cơ của việc các công
nghệ luôn thay đổi bằng cách giảm tải chi phí nâng cấp công nghệ với nhà
cung cấp PaaS. Điều này xảy ra với khách hàng của mô hình này, những
người có thể tập trung nỗ lực của họ vào giá trị cốt lỗi của kinh doanh. Cách
tiếp cận PaaS, khi đi kèm với các giải pháp IaaS cơ bản, thậm chí giúp các
công ty mới thành lập cung cấp nhanh chóng cho khách hàng các giải pháp
tích hợp trên nền tảng được lưu trữ với một chi phí tối thiểu. Những điều này

làm cho PaaS cung cấp một lựa chọn khả thi nhắm tới các phân khúc thị
trường khác nhau.
1.2.5. Software as a service
SaaS là một mô hình phân phối phần mềm cung cấp truy cập tới các ứng
dụng thông qua Internet như là một dịch vụ trên nền web. Nó cung cáp một
phương tiện cho người sử dụng miễn phí từ quản lý phần cứng và phần mềm
phức tạp bằng cách giảm tải công việc cho các bên thứ ba, trong đó xây dựng
các ứng dụng có thể truy cập cho nhiều người dùng thông qua một trình duyệt
web. Trong kịch bản này, khách hàng không cần phải cài đặt bất cứ thứ gì
trên cơ sở của họ cũng không phải trả chi phí đáng kể ban đầu để mua phần
mềm và các giấy phép cần thiết. Họ đơn giản chỉ cần truy cập website ứng
dụng, nhập các thông tin thanh toán của họ và ngay lập tức có thể sử udngj
các ứng dụng, trong hầu hết các trường hợp, có thể tùy chỉnh theo nhu cầu của
họ. Về phía nhà cung cấp, các chi tiết cụ thể và các tính năng của từng ứng
dụng của khách hàng được duy trì trong cơ sở hạ tầng và được cung cấp theo
yêu cầu.
Mô hình SaaS thích hợp cho các ứng dụng phục vụ một lượng lớn người
dùng và có thể được thích nghi với nhu cầu cụ thể với ít tùy biến. Yêu cầu này
biểu thị đặc điểm SaaS như là một mô hình phân phối phần mềm “một-tới-
nhiều”, nhờ đó mà một ứng dụng được chia sẻ cho nhiều người dùng. Đây là
trường hợp của hai ứng dụng CRM (là viết tắt của customer relationship
management – quản lý mối quan hệ khách hàng – nhằm xác định các mỗi
quan tâm liên quan đến sự tương tác với khách hàng và doanh số bán hàng
tiềm năng. Các giải pháp CRM là các hệ thống phần mềm đơn giản hóa quá
trình quản lý khách hàng và xác định chiến lược bán hàng) và ERP (là viết tắt
của enterprise resource planning – hoạch định nguồn lực doanh nghiệp –
thường dùng để chỉ một hệ thống dựa trên máy tính được tích hợp được sử
dụng để quản lý các nguồn tài nguyên nôi bộ và bên ngoài, bao gồm cả tài sản
hữu hình, vật liệu, và các nguồn lực tài chính, con người. Phần mềm ERP
cung cấp một cái nhìn tích hợp của doanh nghiệp và tạo điều kiện cho việc

quản lý các luồng thông tin giữa các chức năng kinh doanh và nguồn tài
nguyên ) thiết lập các nhu cầu chung cho hầu hết các doanh nghiệp, từ nhỏ tới
vừa và lớn. Mỗi doanh nghiệp sẽ có những yêu cầu tương tự cho các tính
năng liên quan đến CRM và ERP; các nhu cầu khác nhau có thể được tùy biến
hơn nữa cho phù hợp hơn. Kịch bản này tạo điều kiện cho sự phát triển nền
tảng phần mềm cung cấp một tập hợp chung các tính năng và hỗ trợ chuyên
môn hóa và dễ dàng tích hợp các thành phần mới. Hơn nữa, nó là ứng cử viên
hoàn hảo cho các giải pháp lưu trữ (hosted solutions), vì các ứng dụng được
phân phối tới người dùng là tương đương nhau, và bản thân ứng dụng cung
cấp cho người dùng các phương tiện để hình thành các ứng dụng theo nhu cầu
của người sử dụng. Kết quả là, các ứng dụng SaaS được thuê nhiều lần
(multitenant) một cách tự nhiên. Việc thuê nhiều lần (Multitenancy) là một
tính năng của SaaS so với phần mềm đóng gói truyền thống, cho phép các nhà
cung cấp tập trung và duy trì nỗ lực quản lý cơ sở hạ tầng phần cứng lớn, duy
trì và nâng cấp các ứng dụng cho người sử dụng, và tối ưu hóa nguồn tài
nguyên bằng cách chia sẻ chi phí giữa các cơ sở người dùng lớn. Về phía
khách hàng, chi phí này chiếm một phần nhỏ tối thiểu lệ phí sử dụng trả cho
phần mềm.
Như đã đề cập trước đó, khái niệm về phần mềm như một dịch vụ trước
điện toán đám mây, bắt đầu được sử dụng vào cuối năm 1990, khi nó bắt đầu
được chấp nhận trên thị trường. Từ viết tắt SaaS sau đó được đưa ra trong
năm 2001 bởi Software Information & Industry Association (SIIA) với ý
nghĩa sau:
Trong mô hình phần mềm như là một dịch vụ, ứng dụng, hoặc dịch vụ,
được triển khai từ một trung tâm dữ liệu tập trung qua một mạng – Internet,
Intranet, LAN, hoặc VPN – cung cấp truy cập và sử dụng trên cơ sở phí định
kỳ. Người dùng “thuê”, “đăng ký”, hoặc “được cấp quyền truy cập tới” ứng
dụng từ một nhà cung cấp trung tâm. Mô hình kinh doanh khác nhau tùy theo
mức độ mà các phần mềm được sắp xếp hợp lý hóa, để giảm giá thành và
tăng hiệu quả, hoặc giá trị gia tăng (value-added) thông qua tùy chỉnh để

nâng cao hơn nữa quy trình kinh doanh được số hóa.
Phân tích được thực hiện bởi SIIA chủ yếu định hướng để bao trùm các
nhà cung cấp dịch vụ ứng dụng (ASP) và tất cả các biến thể của họ, các ASP
đã có một số đặc điểm cốt lõi của SaaS:
• Sản phẩm bán cho khách hàng là truy cập ứng dụng.
• Các ứng dụng được quản lý tập trung.
• Dịch vụ cung cấp là một-tới-nhiều.
• Dịch vụ cung cấp là một giải pháp tích hợp được phân phối trên hợp
đồng
Ban đầu các ASP cung cấp các giải pháp lưu trữ (hosting) cho các ứng
dụng đóng gói, được phục vụ cho nhiều khách hàng. Liên tục, các tùy chọn
khác, như tích hợp dựa trên web của các dịch vụ ứng dụng bên thứ ba, bắt đầu
để đạt được lợi ích và một loạt cơ hội mới mở ra cho các nhà cung cấp phần
mềm và các nhà cung cấp dịch vụ độc lập. Những thời cơ cuối cùng phát
triển thành một mô hình linh hoạt hơn để cung cáp các ứng dụng như một
dịch vụ: mô hình SaaS. Các ASP cung cấp truy cập tới các giải pháp phần
mềm đóng gói giải quyết nhu cầu của nhiều khách hàng. Ban đầu cách tiếp
cận này có lợi cho các nhà cung cấp dịch vụ, nhưng sau đó nó đã trở thành bất
tiện khi chi phí tùy chỉnh và chuyên môn tăng lên. Các tiếp cận SaaS giới
thiệu một cách linh hoạt hơn việc cung cấp các dịch vụ ứng dụng là hoàn toàn
tùy theo người sử dụng bằng cách tích hợp các dịch vụ mới, thêm vào các
thành phần của chính họ, và thiết kế ứng dụng cũng như thông tin công việc.
Cách tiếp cận mới như vậy cũng đã có thể với sự hỗ trợ của công nghệ web
2.0, cho phép chuyển trình duyệt web vào một giao diện đầy đủ tính năng,
thậm chí có thể hỗ trợ cấu tạo và phát triển ứng dụng .
Điện toán đám mây liên quan tới SaaS như thế nào? Theo sự phân loại các
dịch vụ trong Hình 1.2, phương pháp tiếp cận SaaS nằm trên cùng của stack
trong điện toán đám mây. Nó phù hợp với tầm nhìn điện toán đám mây được
thể hiện bởi XaaS, Everything-as-a-Service, tất cả mọi thứ như một dịch vụ;
và với SaaS, các ứng dụng được phân phối như là một dịch vụ. Lợi ích của nó

là:
• Giảm chi phí phần mềm và tổng chi phí sở hữu (total cost of
ownership - TCO) là tối quan trọng.
• Cải thiện mức độ dịch vụ.
• Thực hiện nhanh chóng.
• Các ứng dụng độc lập và có thể cấu hình.
• Ứng dụng thô sơ và tích hợp dữ liệu.
• Subscription và pay-as-you-go (PAYG) pricing
Với sự ra đời của điện toán đám mây đã có sự chấp nhận ngày càng tăng
của SaaS như một mô hình phân phối phần mềm khả thi. Điều này dẫn đến
việc chuyển tiếp tới SaaS 2.0, mặc dù không được giới thiệu là công nghệ mới
nhưng biến đổi cách thức mà SaaS được sử dụng.
Đặc biệt SaaS 2.0 tập trung vào việc cung cấp cơ sở hạ tầng và nền tảng
ứng dụng mạnh mẽ hơn các SLA. Thay vì được mô tả là một môi trường thực
hiện và triển khai nhanh hơn, SaaS 2.0 sẽ tập trung vào việc đạt được mục
tiêu công việc nhanh chóng. Đây là lý do tại sao sự cải tiến như vậy không
được coi như là một công nghệ mới nào: Các công nghệ hiện có được cấu tạo
với nhau để đạt được mục tiêu công việc có hiệu quả. Cơ bản để quan điểm
này là khả năng để tận dụng các giải pháp hiện có và tích hợp các dịch vụ
kinh doanh giá trị gia tăng (value-added). Các cơ sở hạ tấng SaaS hiện có
không chỉ cho phép phát triển và tùy biến các ứng dụng, mà còn tạo điều kiện
cho việc tích hợp các dịch vụ của các bên khác. Các ứng dụng SaaS sau đó là
kết quả của sự kết nối kết hợp của các ứng dụng và thành phần khác nhau
cùng cung cấp cho khách khàng những giá trị nhiều hơn. Cách tiếp cận này
thay đổi đáng kể hệ sinh thái phần mềm của thị trường SaaS, nơi không còn là
độc quyền của một vài nhà cung cấp nữa mà bây giờ là một mạng lưới đầy đủ
kết nối của các nhà cung cấp dịch vụ, các cụm xung quanh một số “trung tâm
lớn” mà cung cấp ứng dụng cho khách hàng. Trong kịch bản này, mỗi thành
phần được tích hợp vào ứng dụng SaaS trở nên chịu trách nhiệm cho người
dùng để đảm bảo SLA kèm theo và cùng một thời điểm có thể có giá khác

nhau. Khách hàng sau đó có thể chọn cách chuyên môn hóa ứng dụng của họ
bằng cách quyết định thành phần và dịch vụ nào họ muốn tích hợp.
Các ứng dụng SaaS có thể phục vụ nhiều nhu cầu khác nhau. CRM, ERP,
và các ứng dụng mạng xã hội hoàn toàn là những thứ phổ biến.
SalesForce.com có lẽ là một ví dụ phổ biến và thành công nhất của một dịch
vụ CRM. Nó cung cấp một loạt các dịch vụ cho các ứng dụng: quản lý qua hệ
khách hàng và nguồn nhân lực, hoạch định nguồn lực doanh nghiệp, và nhiều
tính năng khác. SalesForce.com xây dựng trên nền tảng Force.com, cung cáp
một môi trường đầy đủ tính năng cho việc xây dựng các ứng dụng. Nó cung
cấp hoặc là một ngôn ngữ lập trình hoặc một môi trường trực quan để sắp xếp
các thành phần với nhau để xây dựng các ứng dụng. Ngoài các tính năng cơ
bản được cung cấp, tích hợp với các ứng dụng của bên thứ ba làm phong phú
thêm giá trị của SalesForce.com. Đặc biệt thông qua các khách hàng
AppExchange có thể xuất bản, tìm kiếm và tích hợp các dịch vụ và tính năng
mới vào các ứng dụng hiện có của họ. Điều này làm cho các ứng dụng
SalesForce.com hoàn toàn mở rộng và tùy biến.
Một phần quan trọng của các ứng dụng SaaS phổ biến bao gồm các ứng
dụng mạng xã hội như Facebook và các trang web mạng chuyên nghiệp như
LinkedIn. Ngoài việc cung cấp các tính năng cơ bản của mạng, chúng cho
phép kết hợp và mở rộng khả năng của chúng bằng cách tích hợp các ứng
dụng bên thứ ba. Chúng có thể được phát triển như là các plug-in cho nền
tảng lưu trữ (hosting platform), như xảy ra với Facebook, và tạo sẵn cho
người dùng, người có thể lựa chọn những ứng dụng họ muốn thêm vào hồ sơ
của họ. Kết quả là, các ứng dụng tích hợp có thể truy cập hoàn toàn vào mạng
lưới quan hệ và dữ liệu hồ sơ các nhân của người dùng. Bản chất của các ứng
dụng này có thể là các loại khác nhau: các thành phần tự động hóa văn phòng,
trò chơi, hoặc tích hợp với các dịch vụ hiện có khác.
Các ứng dụng tự động hóa văn phòng cũng là một đại diện quan trọng cho
các ứng dụng SaaS: Google Documents và Zoho Office là ví dụ cho các ứng
dụng trên nền web nhằm mục đích giải quết tất cả nhu cầu của người dùng

cho quản lý các tài liệu, bảng tính, và trình bày. Chúng cung cấp một giao
diện web để tạo, quản lý, và sửa đổi các tài liệu mà có thể dễ dàng chia sẻ
giữa người dùng và có thể truy cập từ bất cứ đâu.
Điều quan trọng cần lưu ý là là các thành phần kích hoạt (enabler) giải
pháp SaaS, trong đó cung cấp một môi trường để tích hợp các dịch vụ bên thứ
ba và chia sẻ thông tin với người khác. Một ví dụ khá thành công là Box.net,
một ứng dụng SaaS cung cấp cho người dùng một không gian và hồ sơ web
có thể được làm phong phú và mở rộng với ứng dụng của bên thứ ba như tự
động hóa văn phòng, tích hợp với các giải pháp dựa trên CRM, website xã
hội, và chỉnh sửa ảnh.
1.2.6. Phân loại đám mây
Các đám mây chính là kết quả của điện toán đám mây. Chúng là một loại
hệ thống song song và phân tán khai thác các máy tính vật lý và ảo được đưa
ra như một nguồn tài nguyên điện toán thống nhất. Các đám mây xây dựng cơ
sở hạ tầng bên trên các dịch vụ được triển khai và phân phối tới khách hàng.
Các cơ sở hạ tầng như vậy có thể là các loại khác nhau và cung cấp thông tin
hữu ích về bản chất và các dịch vụ được cung cấp bởi đám mây. Một phân
loại hữu ích hơn được đưa ra theo miền quản trị của một đám mây: nó xác
định ranh giới mà trong đó các dịch vụ điện toán đám mây được triển khai,
cung cấp gợi ý về cơ sở hạ tầng cơ bản được áp dụng để hỗ trợ những dịch vụ
như vậy. Từ đó có 4 loại khác nhau của điện toán đám mây:
• Public clouds. Đám mây được mở rộng cho công chúng.
• Private clouds. Đám mây được triển khai trong các cơ sở tư nhân
của một tổ chức và thường có thể truy cập đến các thành viên của tổ
chức hoặc một tập con của chúng.
• Hybrid or heterogeneous clouds. Đám mây là một sự kết hợp của hai
giải pháp trên và chủ yếu xác định một đám mây riêng đã được tăng
cường với các nguồn tài nguyên hoặc dịch vụ đc lưu trữ trong đám
mây công cộng.
• Community clouds. Đám mây được đặc trưng bởi một miền đa quản

trị liên quan đến các mô hình triển khai khác nhau (công cộng, tư
nhân và lai), và nó được thiết kế đặc biệt để giải quyết nhu cầu của
một ngành công nghiệp cụ thể.
Hầu như tất cả các triển khai của các đám mây có thể được phân loại
thành những loại này. Trong các phần sau, chúng ta sẽ nghiên cữu kỹ hơn về
từng loại đám mây này.
1.2.6.1. Public clouds
Các đám mây công cộng cấu tạo thành sự biểu hiện đầu tiên của điện toán
đám mây. Chúng là một thể hiện các quan điểm kinh điển về điện toán đám
mây, trong đó các dịch vụ được cung cấp có sẵn cho bất cứ ai, từ bất cứ đâu,
và bất cứ thời gian nào qua Internet. Từ một quan điểm cấu trúc chúng là một
hệ thống phân tán, chủ yếu bao gồm một hoặc nhiều trung tâm dữ liệu liên kết
với nhau, trên đó cá dịch vụ cụ thể được cung cấp bởi các đám mây được triển
khai. Bất kỳ khách hàng nào cũng có thể dễ dàng đăng nhập với nhà cung cấp
đám mây, nhập vào những thông tin thanh toán, và sử dụng các dịch vụ được
cung cấp.
Trong lịch sử, các đám mây công cộng là lớp đầu tiên của đám mây được
triển khai và cung cấp. Chúng cung cấp các giải pháp để giảm thiểu chi phí cơ
sở hạ tầng CNTT và phục vụ như là một lựa chọn khả thi để xử lý tải cao
điểm (pick loads) trên cơ sở hạ tầng cục bộ. Chúng trở thành mộ lựa chọn thú
vị cho các doanh nghiệp nhỏ, có thể bắt đầu công việc kinh doanh của họ mà
không cần đầu tư ban đầu lớn bằng cách hoàn toàn dựa vào cơ sở hạ tầng
công cộng cho nhu cầu CNTT của họ. Điều khiến cho các đám mây công
cộng thu hút hơn so với việc tái định các cơ sở tư nhân và mua bán phần cứng
là khả năng phát triển hoặc thu nhỏ tùy theo nhu cầu của doanh nghiệp. Bằng
cách thuê cơ sở hạ tầng hoặc đăng ký các dịch vụ ứng dụng, khách hàng có
thể tự động mở rộng hay thu nhỏ quy mô CNTT theo nhu cầu kinh doanh của
họ. Hiện nay, các đám mây công cộng được sử dụng cả để thay thế hoàn toàn
cơ sở hạ tầng CNTT của các doanh nghiệp và để mở rộng nó khi cần thiết.
Một đặc điểm cơ bản của đám mây công cộng là đa kênh thuê

(multitenancy). Một đám mây công cộng có nghĩa là để phục vụ vô số người
dùng, không phải chỉ một khách hàng duy nhất. Bất cứ khách hàng nào cũng
yêu cầu một môi trường máy tính ảo được tách ra, và chủ yếu là cô lập, với
người dùng khác. Đây là một yêu cầu cơ bản để cung cấp giám sát hiệu quả
các hoạt động của người dùng và đảm bảo hiệu quả mong muốn và các thuộc
tính QoS khác với người dùng. Quản lý QoS là một khía cạnh rất quan trọng
của đám mây công cộng. Do đó, một phần quan trọng của cơ sở hạ tầng phần
mềm được dành cho giám sát các nguồn tài nguyên đám mây, để gửi hóa đơn
thanh toán dựa theo hợp đồng được thực hiện với người sử dụng. Những tính
năng này là nền tảng cho các đám mây công cộng vì chúng giúp cung cấp các
dịch vụ cho người sử dụng với đầy đủ tính khả thi.
Một đám mây công cộng có thể cung cấp bất kỳ loại dịch vụ nào: cơ sở hạ
tầng, nền tảng, hoặc các ứng dụng. Ví dụ, Amazon EC2 là một đám mây công
cộng cung cấp cơ sở hạ tầng như là một dịch vụ; Google AppEngine là một
đám mây công cộng cung cấp nền tảng phát triển ứng dụng như là một dịch
vụ; và SalesForce.com là một đám mây công cộng cung cấp phần mềm như là
một dịch vụ. Điều làm cho các đám mây công cộng đặc biệt là cách chúng
được tiêu thụ: Chúng sẵn có với tất cả mọi người và thường được kiến truc để
hỗ trợ một lượng lớn người dùng. Điều tạo nên đặc điểm của chúng là khả
năng mở rộng tự nhiên và duy trì tải cao điểm (peak loads)
Từ một quan điểm kiến trúc không có hạn chế liên quan đến các loại hệ
thống phân tán được triển khai để hỗ trợ các đám mây công cộng. Chủ yếu
một hoặc nhiều trung tâm dữ liệu tạo thành cơ sở hạ tầng vật lý mà trên đó
các dịch vụ được triển khai và phân phối. Các đám mây công cộng có thể bao
gồm các trung tâm dữ liệu địa lý phân tán để chia sẻ tải của người dùng và
phục vụ họ tốt hơn tùy theo vị trí của họ. Ví dụ, Amazom Web Services có
các trung tâm dữ liệu được cài đặt tại Mỹ, Châu Âu, Singapore, và Úc; họ cho
phép khách hàng của họ lựa chọn giữa 3 vùng khác nhau us-west-1, us-east-1,
eu-west-1. Những vùng như vậy được định giá khác nhau và được chia thành
các khu vực sẵn có, tương ứng với các trung tâm dữ liệu cụ thể. Tùy theo lớp

cụ thể của dịch vụ được phân phối bởi đám mây, một bộ phần mềm được cài
đặt đê quản lý cơ sở hạ tầng: trình quản lý máy ảo, phần trung gian phân tán,
hoặc các ứng dụng phân tán.

×