Tải bản đầy đủ (.pdf) (82 trang)

Kiến trúc hướng dịch vụ SOA và ứng dụng trong đ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 (2.32 MB, 82 trang )

..

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CNTT & TT
........  ........

Nguyễn Thƣơng Huyền

KIẾN TRÚC HƢỚNG DỊCH VỤ (SOA) VÀ ỨNG DỤNG
TRONG ĐIỆN TỐN ĐÁM MÂY

Chun ngành: Khoa học máy tính
Mã số: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƢỜI HƢỚNG DẪN KHOA HỌC
PGS. TS ĐỒN VĂN BAN

Thái Ngun - 2011

Số hóa bởi Trung tâm Học liệu – ĐHTN

Th¸i Nguyªn



- 2011


LỜI CAM ĐOAN


Tơi xin cam đoan, tồn bộ nội dung liên quan tới đề tài đƣợc trình bày trong
luận văn là bản thân tơi tự tìm hiểu và nghiên cứu, dƣới sự hƣớng dẫn tận tình, khoa
học của thầy giáo Đoàn Văn Ban.
Các tài liệu, số liệu tham khảo đƣợc trích dẫn đầy đủ nguồn gốc. Tơi xin chịu
trách nhiệm trƣớc pháp luật lời cam đoan của mình.
LỜI CẢM ƠN
Tơi trân trọng cảm ơn PGS. TS Đoàn Văn Ban, ngƣời thầy đã trực tiếp tận
tình hƣớng dẫn tơi trong suốt quá trình học tập và làm luận văn, đồng thời tôi xin
trân trọng cảm ơn các thầy cô trong Khoa Công nghệ thông tin và truyền thông,
Trƣờng Đại học Công nghệ thông tin, Trƣờng Đại học Thái Nguyên đã tạo điều
kiện thuận lợi, giúp tơi hồn thành luận văn này.
Tác giả

Số hóa bởi Trung tâm Học liệu – ĐHTN




i

MỤC LỤC
LỜI CAM ĐOAN .......................................................................................................................................................................................
MỤC LỤC.....................................................................................................................................................................................................i
GIẢI THÍCH THUẬT NGỮ .............................................................................................................................................................. iii
DANH MỤC CÁC HÌNH..................................................................................................................................................................vii
MỞ ĐẦU ..................................................................................................................................................................................................... 1
CHƢƠNG 1: ĐIỆN TỐN ĐÁM MÂY ...................................................................................................................................... 3
1.1. Giới thiệu chung............................................................................................... 3
1.2. Mơ hình kiến trúc tổng quát ............................................................................ 5
1.3. Các thành phần của điện toán đám mây ......................................................... 6

1.4. Các tầng kiến trúc của điện tốn đám mây ...................................................... 8
1.5. Một số mơ hình điện tốn đám mây .............................................................. 10
1.5.1. Mơ hình kiến trúc điện toán đám mây của IBM ......................................... 10
1.5.2. Amazon Web Services ................................................................................ 11
1.6. Điện toán đám mây - hạ tầng cơ sở và ứng dụng .......................................... 14
1.7. Phân tích ƣu và nhƣợc điểm của điện toán đám mây .................................... 16
1.7.1. Các lợi ích chính của điện tốn đám mây ................................................... 16
1.7.2. Các hạn chế của điện toán đám mây ........................................................... 18
1.8. Kết luận .......................................................................................................... 19
CHƢƠNG 2: KIẾN TRÚC HƢỚNG DỊCH VỤ.....................................................................................................................20
2.1. Giới thiệu về kiến trúc hƣớng dịch vụ ........................................................... 20
2.1.1. Kiến trúc hƣớng dịch vụ là gì ?................................................................... 20
2.1.2. Bốn nguyên tắc chính của hệ thống SOA ................................................... 22
2.1.3. Các tính chất của một hệ thống SOA .......................................................... 23
2.1.4. Lợi ích của SOA ......................................................................................... 30
2.1.5. Một số mơ hình triển khai SOA .................................................................. 30

Số hóa bởi Trung tâm Học liệu – ĐHTN




ii

2.1.6. Kiến trúc phân tầng chi tiết của SOA ......................................................... 35
2.2. Ứng dụng “SOA SUITE”.............................................................................. 38
2.2.1. Giới thiệu .................................................................................................... 38
2.2.2. ServiceBus .................................................................................................. 39
2.2.3. BpelEngine .................................................................................................. 49
2.3. Kết luận .......................................................................................................... 57

CHƢƠNG 3: XÂY DỰNG ỨNG DỤNG SỬ DỤNG SOA..............................................................................................58
3.1. Các bƣớc thực hiện trong chu kì sống SOA .................................................. 58
3.1.1. Vịng đời hệ thống SOA.............................................................................. 59
3.1.2. Các pha cơ bản xây dựng hệ thống SOA .................................................... 59
3.2. Bài toán bán hàng qua mạng sử dụng SOA ................................................... 61
3.3. Phân tích và thiết kế hệ thống ........................................................................ 61
3.3.1. Mơ tả bài tốn ............................................................................................. 61
3.3.2. Biểu đồ Use case của hệ thống ................................................................... 62
3.3.3. Biểu đồ tuần tự cho hoạt động mua hàng ................................................... 63
3.3.4. Biểu đồ luồng dữ liệu (diagram) ................................................................. 64
3.3.5. Biểu đồ cơ sở dữ liệu .................................................................................. 64
3.3.6. Giao diện chƣơng trình ............................................................................... 66
3.4. Kết luận .......................................................................................................... 68
KẾT LUẬN VÀ ĐỀ NGHỊ................................................................................................................................................................70
TÀI LIỆU THAM KHẢO..................................................................................................................................................................71

Số hóa bởi Trung tâm Học liệu – ĐHTN




iii

GIẢI THÍCH THUẬT NGỮ
Thuật ngữ

Viết tắt

Access Control List


ACL

Tác nhân ngồi

Actor

Asynchronous
JavaScript and XML

AJAX

Ý nghĩa
Danh sách quản lí truy cập
Là một ngƣời hoặc một cái gì đó bên
ngồi hệ thống tƣơng tác với hệ thống
Kỹ thuật xây dựng ứng dụng Web với sự
phối hợp một số công nghệ XHTML, CSS,
DOM,

JavaScript,

đối

tƣợng

XMLHttpRequest,…
Application
Programming Interface
Chief Information
Officer

Cơ sở dữ liệu

Cascading Style Sheets

API

Giao diện lập trình ứng dụng

CIO

Giám đốc thông tin

CSDL

Cơ sở dữ liệu

CSS

Kiểu theo tầng đƣợc dùng để miêu tả cách
trình bày các tài liệu viết bằng ngôn ngữ
HTML, XHTML, XML,...

Data as a service

DaaS

Dịch vụ dữ liệu

Dynamic Hyper Text
Markup Language


DHTML

Ngôn ngữ đánh dấu siêu văn bản động

Dynamic Link Library

DLL

Thƣ viện liên kết động

Document Object Model DOM

Mơ hình đối tƣợng tài liệu là một giao
diện lập trình ứng dụng độc lập với hệ
điều hành

Số hóa bởi Trung tâm Học liệu – ĐHTN




iv

Direct Web Remoting

DWR

Thƣ viện lập trình cho phép Javascript
trong trang Web tƣơng tác với Java trên

máy chủ

Hyper Text Markup

HTML

Language
Hypertext Transfer

Ngôn ngữ đánh dấu siêu văn bản

HTTP

Giao thức truyền tin siêu văn bản

HTTPS

Giao thức truyền tin siêu văn bản an toàn

IaaS

Dịch vụ cơ sở hạ tầng

IBM

Tập đồn máy tính quốc tế

IEEE

Viện các kỹ sƣ điện và điện tử


JDBC

Chuẩn truy xuất cơ sở dữ liệu

Local Area Network

LAN

Mạng cục bộ

Dịch vụ thƣ mục điện tử

LDAP

Dịch vu thƣ mục điện tử

Organizations to
promote standards of

OASIS

Tổ chức quốc tế xúc tiến các tiêu chuẩn
thơng tin có cấu trúc

OOP

Lập trình hƣớng đối tƣợng

Protocol

Secure Hypertext
Transfer Protocol
Infrastructure as a
Services
International Business
Machines
Institute of Electrical
and Electronics
Engineers
Java DataBase
Connectivity

structured information
Object Oriented

Số hóa bởi Trung tâm Học liệu – ĐHTN




v

Programming
Platform as a service

PaaS

Dịch vụ nền tảng

Portable Document

Format

PDF

Định dạng Tài liệu Di động

Cổng giao tiếp điện tử

Portal

Cổng giao tiếp điện tử tích hợp thơng tin
và dịch vụ

Quality of Service

QoS

Chất lƣợng dịch vụ

Hệ quản trị cơ sở dữ liệu QTCSDL Hệ quản trị cơ sở dữ liệu
Chuẩn định dạng tài liệu dựa trên XML
cho phép tra cứu thơng tin tóm lƣợc trong

Really Simple
Syndication

RSS

Software as a Service


SaaS

Phần mềm dịch vụ

Service Oriented
Architecture

SOA

Kiến trúc hƣớng dịch vụ

Simple Object Access
Protocol

một đoạn dữ liệu ngắn gọn

SOAP

Giao

thức

truy

nhập

đối

tƣợng


đơn giản

Structured Query
Language

SQL

Ngôn ngữ truy vấn cấu trúc

Use - Case Model

UCM

Mô hình trƣờng hợp sử dụng

Universal Description,
Discovery, and

UDDI

Tích hợp, khám phá và mơ tả đa năng

UML

Ngơn ngữ mơ hình hóa hợp nhất

Integration
Unified Modeling

Số hóa bởi Trung tâm Học liệu – ĐHTN





vi

Language

Trƣờng hợp sử dụng

Là một hoặc một chuỗi các hành động mà
Use-Case hệ thống thực hiện mang lại một kết quả
quan sát đƣợc đối với một tác nhân ngoài

Wide Area Network

WAN

Mạng diện rộng

XHTML

Ngôn ngữ đánh dấu siêu văn bản mở rộng

XML

Ngôn ngữ đánh dấu mở rộng

XML Query


Xquery

Ngôn ngữ truy vấn thông tin trong XML

Extensible Stylesheet
Language

XSLT

Ngôn ngữ định kiểu mở rộng chuyển đổi

WS-

Ngơn ngữ thực hiện qui trình kinh doanh

BPEL

WS

Extended Hyper Text
Markup Language
eXtensible Markup
Language

Transformations
Web Services Business
Process Execution
Language

Số hóa bởi Trung tâm Học liệu – ĐHTN





vii

DANH MỤC CÁC HÌNH
Hình 1.1 Mơ hình “Điện tốn đám mây” ..............................................................................Error! Bookmark not defined.
Hình 1.2 Mơ hình kiến trúc điện tốn đám mây..................................................................Error! Bookmark not defined.
Hình 1.3 Các thành phần của điện tốn đám mây...............................................................Error! Bookmark not defined.
Hình 1.4 Cơ sở hạ tầng các tầng của điện toán đám mây .................................................Error! Bookmark not defined.
Hình 1.5 Cơ sở hạ tầng điện tốn đám mây hỗ trợ để học viện có thể phân phối các giải pháp phần mềm nhƣ là các
dịch vụ ...............................................................................................................................................Error! Bookmark not defined.
Hình 1.6 Mẫu kiến trúc của máy chủ ảo 2 lớp cho các ứng dụng dựa trên đám mây ........................................................11
Hình 1.7. Tính tốn “đám mây” di trú tài nguyên trên Internet .......................................Error! Bookmark not defined.
Hình 1.8. Ảo hóa và sử dụng tài nguyên ................................................................................Error! Bookmark not defined.
Hình 1.9 Các tầng của tính tốn “đám mây”.........................................................................Error! Bookmark not defined.
Hình 2.1.1 Sơ đồ cộng tác trong SOA ....................................................................................Error! Bookmark not defined.
Hình 2.1.2 Tính chất loose-coupling........................................................................................Error! Bookmark not defined.
Hình 2.1.3 Các đối tƣợng hạt mịn (fine-grained).................................................................Error! Bookmark not defined.
Hình 2.1.4 Các đối tƣợng hạt thơ (coarse-grained)..............................................................Error! Bookmark not defined.
Hình 2.1.5 Các mức độ mịn (granularity) ..............................................................................Error! Bookmark not defined.
Hình 2.1.6 Mơ hình service registry.........................................................................................Error! Bookmark not defined.
Hình 2.1.7 Mơ hình service broker...........................................................................................Error! Bookmark not defined.
Hình 2.1.8 Mơ hình service bus.................................................................................................Error! Bookmark not defined.
Hình 2.1.9 Mơ hình service bus phân tán...............................................................................Error! Bookmark not defined.
Hình 2.1.10 Kiến trúc phân tầng của hệ thống SOA [3] ...................................................Error! Bookmark not defined.
Hình 2.2.1 Các thành phần của SOASuite ............................................................................Error! Bookmark not defined.
Hình 2.2.2 Môi trƣờng trao đổi thông điệp SOAP của serviceBUS.............................Error! Bookmark not defined.
Số hóa bởi Trung tâm Học liệu – ĐHTN





viii

Hình 2.2.3 Liến kết giữa ServiceBus và WSE Messaging [9]........................................Error! Bookmark not defined.
Hình 2.2.4 Qui trình xử lý thơng điệp của serviceBUS .....................................................Error! Bookmark not defined.
Hình 2.2.5 Sơ đồ kiến trúc của BpelEngine ..........................................................................Error! Bookmark not defined.
Hình 2.2.6 Tạo các đối tƣợng triển khai hoạt động .............................................................Error! Bookmark not defined.
Hình 2.2.7 Sơ đồ điều phối thông điệp của engine..............................................................Error! Bookmark not defined.
Hình 2.2.8 Sơ đồ phân cấp của các xử lý ...............................................................................Error! Bookmark not defined.
Hình 3.1 Vịng đời hệ thống SOA ...........................................................................................Error! Bookmark not defined.
Hình 3.2 Mơ hình bài tốn bán hàng qua mạng...................................................................Error! Bookmark not defined.
Hình3.3 Sơđờuse casecủahệthớng.....................................................................................Error! Bookmark not defined.
Hình 3.4 Biểu đồ tuần tự của hoạt động mua hàng.............................................................Error! Bookmark not defined.
Hình 3.5 Biểu đồ luồng dữ liệu.................................................................................................Error! Bookmark not defined.
Hình 3.6 Cơ sở dữ liệu admin....................................................................................................Error! Bookmark not defined.
Hình 3.7 Cơ sở dữ liệu khách hàng..........................................................................................Error! Bookmark not defined.
Hình 3.8 Cơ sở dữ liệu đặt hàng................................................................................................Error! Bookmark not defined.
Hình 3.9 Cơ sở dữ liệu sản phẩm..............................................................................................Error! Bookmark not defined.
Hình 3.10 Giao diện chính của chƣơng trình........................................................................Error! Bookmark not defined.
Hình3.11Giaodiệnđăngký.....................................................................................................Error! Bookmark not defined.
Hình 3.12 Giao diện giỏ hàng....................................................................................................Error! Bookmark not defined.
Hình 3.13 Hóa đơn........................................................................................................................Error! Bookmark not defined.

Số hóa bởi Trung tâm Học liệu – ĐHTN





1

MỞ ĐẦU
“Điện toán đám mây” là sự kết hợp nhiều cơng nghệ hiện có nhƣ: Kiến trúc
hƣớng dịch vụ (Service Oriented Architecture - SOA), ảo hóa, điện tốn tự trị với
những ý tƣởng mới để tạo ra một giải pháp cơng nghệ thơng tin đầy đủ. “Điện tốn
đám mây” (cloud computing) là một giải pháp bao gồm tất cả, trong đó các tài
ngun điện tốn nhƣ phần cứng, phần mềm, mạng, lƣu trữ, ... đƣợc cung cấp nhanh
chóng cho ngƣời dùng theo họ yêu cầu. Các nguồn tài nguyên hoặc các dịch vụ
đƣợc phân phát có thể quản trị để đảm bảo khả năng sẵn sàng cao, an ninh và chất
lƣợng. Yếu tố chính cho các giải pháp này là chúng sở hữu khả năng điều chỉnh
tăng và giảm, để cho ngƣời dùng có đƣợc những tài nguyên mà họ cần. Các giải
pháp “điện tốn đám mây” cho phép cơng nghệ thông tin (CNTT) đƣợc cung cấp
nhƣ một dịch vụ. Đối tƣợng phục vụ chủ yếu hiện nay của CNTT là các tổ chức, các
cơ sở doanh nghiệp. Với sự phát triển của Internet và xu thế hội nhập chung của
toàn thế giới, các tổ chức, doanh nghiệp cần bắt tay, phối hợp hoạt động và chia sẻ
tài nguyên với nhau để nâng cao hiệu quả hoạt động. Khi đó các sản phẩm sẽ ngày
càng phức tạp, kéo theo chi phí sản xuất, quản lý và bảo trì. Đặc biệt, ngành cơng
nghệ phần mềm cịn đối mặt với vấn đề rất quan trọng là bảo mật, và tái sử dụng lại
các hệ thống sẵn có, vấn đề khơng tƣơng thích về hệ thống giữa các tổ chức hợp tác
với nhau.
Để giải quyết vấn đề trên ngƣời ta đã đƣa ra nhiều giải pháp và hiện nay, một
giải pháp đang đƣợc quan tâm là kiến trúc hƣớng dịch vụ (SOA). Các ứng dụng khi
sử dụng dịch vụ này chỉ cần gửi thông điệp yêu cầu đến một dịch vụ (service) khác
và chờ nhận kết quả từ dịch vụ đó và dịch vụ này không phụ thuộc vào môi trƣờng
hệ điều hành, ví dụ nhƣ các dịch vụ WEB hiện nay chẳng hạn, nó thể hiện rất rõ ý
tƣởng này. Hiện nay nhiều công ty phần mềm lớn trên thế giới đều quan tâm phát
triển và ứng dụng SOA trong điện toán đám mây, ví dụ nhƣ Oracle, IBM,
Microsoft, ...

Luận văn đƣợc kết cấu gồm 3 chƣơng với các nội dung chính sau:
Số hóa bởi Trung tâm Học liệu – ĐHTN




2

Chƣơng I: Điện toán đám mây
-

Giới thiệu khái quát về điện toán đám mây và ứng dụng

Chƣơng II: Kiến trúc hƣớng dịch vụ
-

Trình bày kiến trúc hƣớng dịch vụ và ứng dụng trong điện toán đám mây

Chƣơng III: Xây dựng ứng dụng sử dụng SOA
-

Luận văn tập trung xây dựng một website bán hàng trực tuyến. Website cho

phép trƣng bày, giới thiệu các loại máy tính và điện thoại đến khách hàng . Khách
hàng có thể đặt hàng sản phẩm trên website . Ở đây bài toán bán hàng qua mạng
đƣợc xây dƣ̣ng trên mô hì nh SOA Service registry.

Số hóa bởi Trung tâm Học liệu – ĐHTN





3

CHƢƠNG 1: ĐIỆN TỐN ĐÁM MÂY
1.1. Giới thiệu chung
Điện tốn đám mây (cloud computing), cịn gọi là điện tốn máy chủ ảo,
là mơ hình tính tốn sử dụng các cơng nghệ máy tính và phát triển dựa vào
mạng Internet.
Thuật ngữ “Điện tốn đám mây” ra đời giữa năm 2007 khơng phải để nói về
một trào lƣu mới, mà để khái quát lại các hƣớng phát triển của cơ sở hạ tầng Công
nghệ Thông tin (CNTT) vốn đã và đang diễn ra từ những năm qua. Quan niệm này
có thể đƣợc diễn giải một cách đơn giản: các nguồn tính tốn khổng lồ nhƣ các phần
cứng (máy chủ), phần mềm, và các dịch vụ (chƣơng trình ứng dụng), ..., sẽ nằm tại
các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn
phịng (trên mặt đất) để mọi ngƣời kết nối và sử dụng mỗi khi họ cần. Nói cách
khác, ở mơ hình tính tốn này, mọi khả năng liên quan đến công nghệ thông tin đều
đƣợc cung cấp dƣới dạng các “dịch vụ”, cho phép ngƣời sử dụng truy cập các dịch
vụ công nghệ thông tin từ một nhà cung cấp nào đó “trong đám mây” mà khơng cần
phải biết về cơng nghệ đó, cũng nhƣ không cần quan tâm đến các cơ sở hạ tầng
phục vụ cơng nghệ đó.

Hình 1.1 Mơ hình “Điện tốn đám mây”
Theo tổ chức IEEE, “Điện toán đám mây là hình mẫu trong đó thơng tin
được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được lưu trữ tạm thời
ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong
doanh nghiệp, các phương tiện máy tính cầm tay, ...” [4].
Số hóa bởi Trung tâm Học liệu – ĐHTN





4

Điện toán đám mây là khái niệm tổng thể bao gồm cả các khái niệm
nhƣ phần mềm dịch vụ, Web 2.0 và các vấn đề khác xuất hiện gần đây, các xu
hƣớng cơng nghệ nổi bật, trong đó đề tài chủ yếu của nó là vấn đề dựa vào Internet
để đáp ứng những nhu cầu tính tốn của ngƣời dùng. Ví dụ, dịch vụ Google Apps
[20] cung cấp những ứng dụng kinh doanh trực tuyến thơng thƣờng, có thể truy
nhập từ một trình duyệt web, cịn các phần mềm và dữ liệu đều đƣợc lƣu trữ trên
các máy chủ.
Với các dịch vụ sẵn có trên Internet, doanh nghiệp khơng phải mua và duy trì
hàng trăm, thậm chí hàng nghìn máy tính cũng nhƣ các phần mềm. Họ chỉ cần tập
trung sản xuất bởi đã có ngƣời khác lo cơ sở hạ tầng và công nghệ thay họ. Google
ủng hộ điện tốn đám mây tích cực nhất, bởi hoạt động kinh doanh của họ dựa trên
việc phân phối các dịch vụ máy chủ ảo (virtual server). Điện toán đám mây cho
phép ngƣời dùng tiếp cận đến các tài ngun tính tốn và lƣu trữ khối lƣợng dữ liệu
khổng lồ mà không cần biết chúng ở đâu và đƣợc cấu hình nhƣ thế nào.
Tuy nhiên, mặt hạn chế là ngƣời dùng sẽ bị phụ thuộc vào công nghệ mà nhà
cung cấp đƣa ra cho họ, khiến cho sự linh hoạt và sáng tạo giảm đi. Điện tốn đám
mây có nguy cơ lặp lại khiếm khuyết của mơ hình tính tốn cũ: các cơng ty sở hữu
những hệ thống trung tâm máy tính lớn mainframe (tƣơng tự nhƣ cloud) và mọi
ngƣời sẽ kết nối với chúng qua các trạm. Ngƣời sử dụng cảm thấy bị gị bó vì chỉ có
quyền thực hiện những việc trong phạm vi nhà quản trị cho phép nên khơng thể bắt
kịp cải tiến mới nhất.
Nhƣng điện tốn “đám mây” hiện có tính mở hơn rất nhiều và quan trọng
hơn, đây là giải pháp giá rẻ của các doanh nghiệp cũng nhƣ sự lựa chọn hàng đầu
cho những ai thƣờng xuyên phải đi xa. Ngay cả những hãng có năng lực tài chính
cũng đánh giá cao xu hƣớng này, nhƣ Coca-Cola gần đây đã ký thỏa thuận đƣa tất
cả tài khoản e-mail của họ (khoảng 75.000) lên dịch vụ trực tuyến Microsoft

Exchange Online [15].

Số hóa bởi Trung tâm Học liệu – ĐHTN




5

1.2. Mơ hình kiến trúc tổng qt
Phần lớn hạ tầng cơ sở của điện toán đám mây hiện nay là sự kết hợp của
những dịch vụ đáng tin cậy đƣợc phân phối thông qua các trung tâm dữ liệu (data
center) đƣợc xây dựng trên những máy chủ với những cấp độ khác nhau của các
cơng nghệ ảo hóa. Những dịch vụ này có thể đƣợc truy cập từ bất kỳ đâu trên thế
giới, trong đó Đám mây là một điểm truy cập duy nhất cho tất cả các máy tính có
nhu cầu của khách hàng. Các dịch vụ thƣơng mại cần đáp ứng yêu cầu chất lƣợng
dịch vụ từ phía khách hàng và thông thƣờng đều đƣa ra các mức thỏa thuận dịch
vụ. Các tiêu chuẩn mở (Open standard) và phần mềm mã nguồn mở (open source
software) cũng góp phần phát triển điện tốn đám mây.

Hình 1.2 Mơ hình kiến trúc điện tốn đám mây
Tất cả các tài ngun tính toán (phần cứng, phần mềm) đƣợc tổ chức thành
danh mục các dịch vụ (Services Catalog). Các dịch vụ này đƣợc cung cấp lên mạng
Internet ở các Server trong các đám mây thông qua các công cụ cung cấp dịch vụ
(Provisioning Tool). Các dịch vụ đƣợc tƣơng tác với ngƣời sử dụng thông qua các
phần giao diện tƣơng tác ngƣời sử dụng (User Interaction Interface). Tất cả các dịch
vụ đƣợc quản lý bởi Quản lý hệ thống (Systems Management) và đƣợc theo dõi bởi
hệ thống giám sát (Monitoring & Metering) [2].
Theo kiến trúc của điện tốn đám mây, có thể xử lý theo lô (batch
processing) nhiều công việc theo truyền thống đƣợc tải xuống kết hợp với tính tốn

lƣới:

Số hóa bởi Trung tâm Học liệu – ĐHTN




6

Lưu trữ đám mây (Cloud storage): Mơ hình lƣu trữ dữ liệu trên mạng các

-

máy tính, trong đó dữ liệu đƣợc lƣu trữ ở nhiều server ảo (multiple virtual servers)
-

Đƣợc đƣa lên (Hosted) bởi các bên thứ ba

-

Các hãng Hosting thao tác các Trung tâm CSDL lớn

-

Các dịch vụ đám mây (Cloud services): Dịch vụ Web đƣợc cung cấp

thông qua điện toán đám mây.
1.3. Các thành phần của điện toán đám mây
Điện toán đám mây là cách thức chuyển đổi các chƣơng trình ứng dụng diện
rộng theo kiến trúc và phân phối các dịch vụ. Trong nhiều thập kỷ qua, các hãng

CNTT đã tập nhiều công sức, thời gian và các tài nguyên để xây dựng cơ sở hạ tầng
và cung cấp chúng để dành thế cạnh tranh. Phần lớn các trƣờng hợp theo cách tiếp
cận đó dẫn đến kết quả:
-

Những vùng lớn các khả năng tính toán khơng đƣợc sử dụng hết công

-

Trong nhiều trƣờng hợp phải tận dụng những máy tính khơng đủ mạnh để

suất.

làm các máy chủ, trong khi rất nhiều máy chủ mạnh lại không đƣợc sử dụng hết
cơng suất.
-

Chi phí cho các ứng dụng giải quyết các bài toán đặt ra trong thực tế là

rất cao, tốn kém (tồn bộ chi phí là của chủ nhân).
-

Với điện tốn đám mây, những khả năng tính tốn vƣợt trội đƣợc cung

cấp cho khách hàng đúng theo yêu cầu với một chi phí thấp nhất có thể.
Điện tốn đám mây đƣợc phát triển để khắc phục những nhƣợc điểm trên.
Điện tốn đám mây gồm 6 thành phần chính liên quan với nhau nhƣ trong hình sau.

Số hóa bởi Trung tâm Học liệu – ĐHTN





7

Hình 1.3 Các thành phần của điện tốn đám mây
- Cơ sở hạ tầng (Infrastructure): Cơ sở hạ tầng của điện toán đám mây là
phần cứng đƣợc cung cấp nhƣ là các dịch vụ, nghĩa là đƣợc chia sẻ và có thể sử
dụng lại dễ dàng. Các tài nguyên phần cứng đƣợc cung cấp theo các thời gian cụ thể
theo yêu cầu. Dịch vụ kiểu này giúp cho việc giảm chi phí bảo hành, chi phí sử
dụng, …
- Lƣu trữ đám mây (Cloud Storage): là khái niệm tách dữ liệu khỏi quá
trình xử lý và chúng đƣợc lƣu trữ ở những vị trí từ xa. Lƣu trữ đám mây cũng bao
gồm cả các dịch vụ CSDL, ví dụ nhƣ BigTable của Google, SimpleDB của
Amazon…
- Nền tảng đám mây (Cloud Platform): Là dịch vụ cho việc phát triển phần
mềm ứng dụng và quản lý các yêu cầu phần cứng, nhu cầu phần mềm. Ví dụ nền
dịch vụ nhƣ Khung ứng Web (Web application frameworks), Web hosting, ...
- Ứng dụng (Application): Ứng dụng đám mây là một đề xuất về kiến trúc
phần mềm sẵn sàng phục vụ, nhằm loại bỏ sự cần thiết phải mua phần mềm, cài đặt,
vận hành và duy trì ứng dụng tại máy bàn/thiết bị (desktop/device) của ngƣời sử
dụng. Ứng dụng đám mây loại bỏ đƣợc các chi phí/tài ngun để bảo trì và vận
hành các chƣơng trình ứng dụng.
- Dịch vụ (Services): Dịch vụ đám mây là một phần độc lập của phần mềm có
thể kết hợp với các dịch vụ khác để thực hiện tƣơng tác, kết hợp giữa các máy tính

Số hóa bởi Trung tâm Học liệu – ĐHTN





8

với nhau để thực thi chƣơng trình ứng theo yêu cầu trên mạng. Ví dụ các dịch vụ
hiện nay nhƣ: Simple Queue Service, Google maps, các dịch vụ thanh tóan linh họat
trên mạng của Amazon, ...
- Khách hàng (Client): Khách hàng đám mây là những yêu cầu phần mềm
hoặc phần cứng để tận dụng các dịch vụ điện toán đám mây trên mạng. Thiết bị
cung cấp cho khách hàng có thể là Web browser, PC, laptop hoặc mobile, …
1.4. Các tầng kiến trúc của điện toán đám mây
Theo kiến trúc do Sun đề xuất, điện toán đám mây cung cấp các dịch vụ ở tất
cả các tầng, từ phần cứng tới các phần mềm nhƣ trong hình sau.

Hình 1.4 Cơ sở hạ tầng các tầng của điện toán đám mây
Cơ sở hạ tầng của điện toán đám mây gồm 6 tầng kiến trúc [2]:
1.

Các server thƣ̣c (Physical Servers),

2.

Server ảo,

3.

Hệ điều hành,

4.

Phần mềm trung gian (Middleware),


5.

Các chƣơng trình ứng dụng và trên cao nhất là các dịch vụ.

Số hóa bởi Trung tâm Học liệu – ĐHTN




9

6.

Các dịch vụ có thể chia thành 3 lớp chính: Phần mềm dịch vụ

(software as a service), nền tảng dịch vụ (platform as a service) và cơ sở hạ tầng
dịch vụ (infrastructure as a service). Các lớp này có thể tập hợp thành các tầng kiến
trúc khác nhau, có thể chồng chéo, gối nhau.
- Phần mềm dịch vụ (Software as a service - SaaS): Tƣơng tự nhƣ dịch vụ theo
yêu cầu, một phần mềm có thể thực hiện trên nền đám mây và làm dịch vụ cho
nhiều ngƣời sử dụng đầu cuối, nhiều khách hàng (các tổ chức ) khác nhau . Ví dụ ,
salesforce.com là SaaS điển hình , ngoài ra phải kể đến Google Apps dịch vụ thƣ
điện tử, xử lý văn bản , … hay force .com là nhƣ̃ng dị ch vụ có thể đƣợc xem là nền
dịch vụ.
- Nền tảng dịch vụ (Platform as a service - PaaS): Nền dịch vụ đóng gói tầng
kiến trúc phần mềm và cung cấp nó nhƣ là một dịch vụ để xây dựng những dịch vụ
ở mức cao hơn. Ở đây, PaaS phụ thuộc vào ngƣời cung cấp dịch vụ và ngƣời sử
dụng dịch vụ. Có thể thực hiện các dịch vụ PaaS phụ thuộc vào các phƣơng diện
dịch vụ của ngƣời sản xuất hoặc khách hàng:

o Một số ngƣời có thể tạo ra mơi trƣờng tích hợp hệ điều hành OS, các
phần mềm trung gian, phần mềm ứng dụng, hoặc phát triển những môi trƣờng cung
cấp cho khách hàng phát triển phần mềm giống nhƣ một dịch vụ. Ví dụ NetBeans™
là mơi trƣờng phát triển thích hợp, Sun GlassFish™ Web stack hỗ trợ cho các ngơn
ngữ lập trình giống nhƣ Perl hoặc Ruby.
o Một số ngƣời có thể sử dụng PaaS nhƣ là các dịch vụ đóng gói thơng
qua một API . Dịch vụ thƣơng mại của PaaS phải kể đến nhƣ Google Apps Engine,
cung cấp các ứng dụng trên nền cơ sở hạ tầng của Google‟s infrastructure.
- Cơ sở hạ tầng dịch vụ (Infrastructure as a service - IaaS): cung cấp các khả
năng lƣu trữ cơ sở và tính tốn nhƣ là các dịch vụ chuẩn. Servers, các hệ thống lƣu
trữ (storage systems ), switches, routers, và nhiều hệ thống phụ trợ khác giúp cho
việc xử lý tải công việc từ các thành phần ứng dụng tới các ứng dụng tính toán hiệu

Số hóa bởi Trung tâm Học liệu – ĐHTN




10

năng cao. Dịch vụ thƣơng mại của loại dịch vụ này có thể kể ra là Joyent, sản phẩm
chính là dòng các máy chủ ảo sẵn sàng dịch vụ theo u cầu.
1.5. Một số mơ hình điện tốn đám mây
1.5.1. Mơ hình kiến trúc điện tốn đám mây của IBM
Sau đây là một mơ hình kiến trúc “Điện tốn đám mây” của IBM sử dụng
các máy ảo VM [14].

Hình 1.5 Cơ sở hạ tầng điện toán đám mây hỗ trợ để học viện có thể phân phối
các giải pháp phần mềm nhƣ là các dịch vụ
Máy chủ của IBM sử dụng bộ xử lý Intel thế hệ mới và Phần mềm mới cho

Trung tâm Dữ liệu (Data Center – System x). Với năng lực mở rộng có khả năng hỗ
trợ tới 96 lõi xử lý và 1 TB bộ nhớ, các máy chủ System x của IBM sẽ bổ sung cho
dòng sản phẩm VMware vSphere thế hệ mới IBM sắp phát hành. Chúng là một lựa
chọn tuyệt vời dành cho các khách hàng đang triển khai những môi trƣờng điện tốn
đám mây.
Một ví dụ khác thể hiện khả năng kết hợp cơ chế ảo với bản thân các dịch vụ
để phát triển các ứng dụng Web theo kiến trúc 2 tầng vào đám mây nhƣ trong hình
sau.

Số hóa bởi Trung tâm Học liệu – ĐHTN




11

APACHE
A

Hình 1.6 Mẫu kiến trúc của máy chủ ảo 2 lớp cho các ứng dụng dựa trên đám
mây
-

Ngƣời phát triển ứng dụng có thể chọn cân bằng tải (Load Balancer), Web

server, database server từ thƣ viện đƣợc cấu hình trƣớc trong máy ảo VM.
-

Ngƣời phát triển ứng dụng có thể thiết lập cấu hình cho từng thành phần


ứng dụng nhằm đáp ứng yêu cầu của khách hàng.
-

Ngƣời phát triển ứng dụng có thể lập trình trên kiến trúc mới và tạo ra các

thành phần phần mềm phù hợp với các yêu cầu cụ thể của từng ứng dụng.
-

Ngƣời phát triển ứng dụng có thể lựa chọn các mẫu ảnh cho từng lớp và

triển khai chúng, xử lý trên mạng, bảo đảm an toàn , an ninh cho các phần mềm ứng
dụng.
1.5.2. Amazon Web Services
Amazon Web Services ([2],[18]) là tập hợp các dịch vụ cung cấp cho ngƣời
lập trình có khả năng truy cập tới hạ tầng kiến trúc tính tốn kiểu sẵn sàng-để-sử
dụng (ready-to-use) của Amazon. Các máy tính có nền tảng vững chắc đã đƣợc xây
dựng và tinh chế qua nhiều năm của Amazon bây giờ là có thể cho phép bất cứ ai
cũng có quyền cập tới qua Internet. Amazon cung cấp một số dịch vụ Web , bao
gồm các dịch vụ khối hợp nhất (building-block) cơ bản, cái mà đáp ứng đƣợc một
số yêu cầu cốt lõi của hầu hết các hệ thống nhƣ : lƣu trữ, tính tốn, truyền thơng điệp
và tập dữ liệu . Có thể xây dựng các ứng dụng phức tạp và gồm n
Số hóa bởi Trung tâm Học liệu – ĐHTN

hiều phần khác




12


nhau bằng cách sử dụng các chức năng phân tầng với các dịch vụ đáng tin cậy, hiệu
quả khối hợp nhất đƣợc cung cấp bởi Amazon. Các dịch vụ Web mà tồn tại bên
trong đám mây phía bên ngồi mơi trƣờng của ngƣời sử dụng và có khả năng thực
hiện là rất cao.
Các thành phần chính của hạ tầng cơ sở của các trang Web ứng dụng, cái mà
cung cấp hầu hết các khối xây dựng cơ bản phổ biến cần thiết cho hầu hết các ứng
dụng không tầm thƣờng:
- Lƣu trữ (Storage): Mọi ngƣời sƣ̉ d ụng đều có nhu cầu lƣu trữ -cho các tệp ,
các tài liệu , các dữ liệu tải về của ngƣời sƣ̉ dụng hoặc các bản sao lƣu . Có thể tiến
hành lƣu trữ bất kỳ các ứng dụng cần thiết của ngƣời sƣ̉ dụng trong Amazon Simple
Storage Service (S3) và nhận đƣợc các lợi ích với nó nhƣ có khả năng mở rộng,
đáng tin cậy và với mức chi phí thấp cho việc lƣu trữ.
- Tính tốn (Computing): Amazon Elastic Compute Cloud (EC2) cung cấp khả
năng để mở rộng tài nguyên tính toán của ngƣời sƣ̉ dụng lớn lên hoặc giảm xuống
dựa trên nhu cầu và tạo ra khả năng cung cấp dịch vụ mới một cách dễ dàng.
- Gửi thông điệp (Messaging): Thực hiện tách riêng các thành phần ứng dụng
của ngƣời sƣ̉ dụng bằng cách sử dụng khả năng không giới hạn của việc truyền
thông điệp đƣợc cung cấp bởi Amazon Simple Queue Service (SQS).
- Tập hợp dữ liệu (Datasets): Amazon SimpleDB (SDB) cung cấp khả năng
mở rộng, lập chỉ mục, khả năng lƣu trữ mà khơng cần bảo trì, cùng với việc thực
hiện xử lý và truy vấn với tập hợp dữ liệu.

Amazon và vấn đề về bảo mật
- Sự chứng thực (Authentication): Đảm bảo rằng yêu cầu đang gửi bởi
ngƣời dùng sở hữu thùng hoặc đối tƣợng. Mỗi yêu cầu trên S3 phải bao gồm khóa
truy cập Amazon Web Services xác định ngƣời dùng một cách duy nhất.
- Sự cấp phép (Authorization): Đảm bảo rằng ngƣời dùng đang cố gắng truy
cập tới tài nguyên có quyền truy cập tới tài nguyên đó. Mỗi đối tƣợng S3 có một
Số hóa bởi Trung tâm Học liệu – ĐHTN





13

danh sách quản lý truy cập (access-control list - ACL) gắn với nó mà xác định một
cách minh bạch các quyền và giới hạn cho tài nguyên đó. Có thể cấp quyền truy cập
tới tất cả các ngƣời dùng của Amazon Web Services hoặc tới một ngƣời dùng cụ thể
đƣợc xác định bởi địa chỉ email, hoặc có thể cấp quyền truy cập nặc danh cho mọi
ngƣời dùng.
- Tính tích hợp (Integrity): Mỗi yêu cầu E3 phải có chữ ký số của ngƣời
dùng u cầu với một khóa bí mật của Amazon Web Services. Khi nhận đƣợc yêu
cầu, S3 sẽ kiểm tra chữ ký để đảm bảo rằng yêu cầu đó khơng bị can thiệp trong q
trình ln chuyển.
- Mã hóa (Encryption): Có thể truy cập S3 thơng qua giao thức HTTPS để
đảm bảo rằng dữ liệu đƣợc chuyển đi thơng qua một kết nối đƣợc mã hóa.
- Khơng từ chối (Nonrepudiation): Mỗi yêu cầu S3 đƣợc dán tem thời gian
(time-stamped) và phục vụ nhƣ chứng cớ của giao dịch. Mỗi và mọi yêu cầu REST
gửi tới S3 phải trải qua các bƣớc cơ bản cần thiết cho việc bảo mật sau:


Yêu cầu và các tham số cần thiết phải đƣợc gộp lại thành một chuỗi ký tự

(string).


Khóa truy cập bí mật Amazon Web Services đƣợc sử dụng để tạo một chữ

ký băm xác thực (keyed-Hash Message Authentication Code - HMAC) của chuỗi
yêu cầu.



Chữ ký này đƣợc thêm vào nhƣ là một tham số của yêu cầu.



Sau đó yêu cầu đƣợc chuyển tiếp đến Amazon S3.



Amazon S3 sẽ kiểm tra xem nếu chữ ký đƣợc cung cấp có là một chữ ký

băm xác thực hợp lệ của yêu cầu không.


Nếu (và chỉ nếu) chữ ký là hợp lệ, thì Amazon S3 mới tiến hành xử lý yêu

cầu.

Số hóa bởi Trung tâm Học liệu – ĐHTN




14

1.6. Điện toán đám mây - hạ tầng cơ sở và ứng dụng
Từ góc nhìn bên ngồi, Điện tốn đám mây đơn giản chỉ là việc di trú tài nguyên
tính toán (Computing resources) và lƣu trữ từ doanh nghiệp vào “đám mây” trên Internet.
Ngƣời dùng (Computing Users) chỉ định yêu cầu tài nguyên và nhà cung cấp đám mây

(cloud provider) hầu nhƣ tập hợp các thành phần ảo này trong hạ tầng của nó.

Hình 1.7. Tính tốn “đám mây” di trú tài nguyên trên Internet
Nhƣng tại sao ngƣời sử dụng lại sẵn sàng từ bỏ quyền kiểm soát tài nguyên
của mình và cho phép chúng tồn tại ảo trong “đám mây” ? Có nhiều lý do nhƣng có
lẽ quan trọng nhất là tính dễ mở rộng và chi phí thấp. Ƣu điểm mới của Điện toán
đám mây là khả năng ảo hóa và chia sẻ tài nguyên giữa các ứng dụng.

Số hóa bởi Trung tâm Học Hình
liệu – ĐHTN
1.8. Ảo


hóa và sử dụng tài nguyên


15

Ở đây các nền tảng tồn tại độc lập cho các ứng dụng khác nhau nhƣ App/OS
A, App/OS A, mỗi ứng dụng chạy trên server của nó, server U, server V. Trong
“đám mây”, server có thể đƣợc chia sẻ (đƣợc ảo hóa) giữa các hệ điều hành và các
ứng dụng để sử dụng server tốt hơn. Bên trong “đám mây” khơng chỉ có một dịch
vụ mà là một tập các dịch vụ. Các tầng định nghĩa mức dịch vụ đƣợc cung cấp.

Hình 1.9 Các tầng của tính tốn “đám mây”
Tầng thấp nhất là Hạ tầng (Hạ tầng nhƣ một dịch vụ - IaaS) bao gồm các
server, storage. IaaS là hạ tầng cho thuê nhƣ một dịch vụ bao gồm các máy tính ảo
hóa (virtualization) và băng thơng dành riêng cho lƣu trữ và truy cập Internet. Về cơ
bản, đó là khả năng cho thuê máy tính hay trung tâm dữ liệu với ràng buộc về chất
lƣợng dịch vụ (Quality of Service – QoS) sao cho ngƣời dùng có khả năng chạy

phần mềm hay hệ điều hành nào đó tùy ý.
Lên mức tiếp theo là tầng nền (Platform) nhƣ một dịch vụ - PaaS. PaaS giống
nhƣ IaaS nhƣng gồm cả hệ điều hành và các dịch vụ cần thiết cho một ứng dụng
chun biệt. Ví dụ PaaS ngồi server và lƣu trữ ảo hóa cung hệ điều hành đặc biệt
và tập các ứng dụng (nhƣ một máy ảo) cùng các dịch vụ cần thiết nhƣ MySQL, …
Nói cách khác, PaaS là IaaS với một ngăn xếp phần mềm dành cho một ứng dụng.
Trên cùng là các dịch vụ đƣợc cung cấp: ứng dụng (Application). Tầng này
đƣợc gọi là Phần mềm nhƣ một dịch vụ (SaaS) và nó là mơ hình triển khai phần

Số hóa bởi Trung tâm Học liệu – ĐHTN




×