Tải bản đầy đủ (.doc) (78 trang)

Tìm hiểu điện toán đám mây và thử nghiệm ứng dụng trong hệ thống thông tin nhà trường

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 (1.5 MB, 78 trang )

LỜI CẢM ƠN
Để có thể tìm hiểu, hoàn thiện luận văn và có được kết quả như ngày hôm
nay, tôi xin chân thành bày tỏ lòng cảm ơn tới trường Đại học công nghệ thông tin
và truyền thông – Đại học Thái Nguyên đã tạo môi trường thật tốt cho tôi được học
tập, rèn luyện, tìm hiểu và trau dồi kiến thức trong suốt hai năm học vừa qua.
Tôi cũng xin được gửi lời cảm ơn tới các thầy trong Viện Công nghệ thông
tin – Viện khoa học và công nghệ Việt Nam, những người đã tận tình dạy bảo tôi
cùng tập thể lớp trong suốt quá trình chúng tôi học tập tại trường.
Đặc biệt tôi xin được gửi lời cảm ơn tới GS.TS Nguyễn Thanh Thủy, thầy đã
rất nhiệt tình hướng dẫn, chỉ bảo, đóng góp ý kiến và tạo mọi điều kiện cho tôi thực
hiện luận văn.
Cuối cùng, tôi muốn bày tỏ lòng biết ơn chân thành, lời cảm ơn sâu sắc tới
gia đình, bạn bè, đồng nghiệp... những người luôn bên cạnh, động viên, giúp đỡ tôi
trong quá trình học tập và thực hiện luận văn.
Luận văn có được một số kết quả nhất định, tuy nhiên không thể tránh khỏi
sai sót và hạn chế, kính mong được sự cảm thông và đóng góp ý kiến của thầy cô và
các bạn.
Thái Nguyên, ngày 02 tháng 01 năm 2013
Đặng Thị Thùy Linh


LỜI CAM ĐOAN
Tôi cam đoan toàn bộ nội dung trong luận văn này là kết quả quá trình tìm
hiểu các tài liệu liên quan đến đề tài của tôi. Các số liệu, kết quả nêu trong luận văn
là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác.

(Ký tên và ghi rõ họ tên)

Đặng Thị Thùy Linh




i

MỤC LỤC
Trang
CÁC THUẬT NGỮ VIẾT TẮT.................................................................................................................ii
DANH MỤC BẢNG.............................................................................................................................iv
DANH MỤC HÌNH VẼ..........................................................................................................................v
MỞ ĐẦU............................................................................................................................................1
CHƯƠNG 1........................................................................................................................................2
TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY VÀ SỔ LIÊN LẠC ĐIỆN TỬ.....................................................2
1.1.6.1. Các ưu điểm của điện toán đám mây ...............................................................................16
1.1.6.2. Các hạn chế của điện toán đám mây ................................................................................18
1.2.1. Điện toán lưới (grid computing)..........................................................................................22
1.2.2. Tính toán theo yêu cầu (Utility Computing).........................................................................25
1.2.3. Dịch vụ web (Web service)...................................................................................................26
1.3. Các tính chất cơ bản của điện toán đám mây..........................................................................28
1.3.1. Tự phục vụ theo nhu cầu (On-demand self-service).............................................................28
1.3.2. Truy xuất diện rộng (Broad network access).........................................................................28
1.3.3. Dùng chung tài nguyên (Resource pooling)...........................................................................29
1.3.4. Khả năng co giãn (Rapid elasticity)........................................................................................29
1.3.5. Điều tiết dịch vụ (Measured service).....................................................................................30

1.5.Kết luận.................................................................................................................32
2.2.1. Dịch vụ nền tảng điện toán đám mây của Google.................................................................37
2.2.2. Tổng quan về Google Apps...................................................................................................37
2.4.1. Môi trường phát triển...........................................................................................................52
2.4.2. Công cụ quản lý ứng dụng.....................................................................................................53
2.4.3. Xây dựng và triển khai ứng dụng trên GAE...........................................................................54
CHƯƠNG 3:XÂY DỰNG HỆ THỐNG SỔ LIÊN LẠC ĐIỆN TỬ TRÊN NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY

CỦA GOOGLE...................................................................................................................................58
KẾT LUẬN.........................................................................................................................................68
TÀI LIỆU THAM KHẢO......................................................................................................................69


ii

CÁC THUẬT NGỮ VIẾT TẮT
Tên viết tắt
AJAX

AOP
API
CIO
CPU
CSDLQH
CSS
EC2
FTP
GAE
GFS
HTML
HTTP
IaaS
IMAP
JDO
JDOQL
JVM
OGSA
PC

PaaS
SaaS
SDK
SOA
SOAP

Tên khoa học
Asynchronous Javascript and

Giải nghĩa
JavaScript và XML không

XML

đồng bộ
Phương pháp lập trình hướng

Aspect Oriented Programming
Aplication Programming
Interface
Chief Information Officer
Central Processing Unit

khía cạnh
Giao diện lập trình ứng dụng

Cascading Style Sheets
Amazon Elastic Compute

Giám đốc công nghệ thông tin

Đơn vị xử lý trung tâm
Cơ Sở Dữ Liệu Quan Hệ
Tập tin định kiểu theo tầng
Nền tảng tính toán của Amazon

Cloud
File Transfer Protocol
Google App Engine

Giao thức truyền tập tin
Công nghệ nền tảng điện toán

Google File System

đám mây của Google
Hệ thống lưu trữ tệp của

HyperText Markup Language
HyperText Transfer Protocol
Infrastructure as a Service
Internet Message Access
Protocol
Java Data Objects
Java Data Objects Query

Google
Ngôn ngữ đánh dấu siêu văn bản
Giao thức truyền tin siêu văn bản
Hạ tầng như một dịch vụ
Giao thức truy cập thư

Internet
Các đối tượng dữ liệu Java
Ngôn ngữ truy vấn dữ liệu

Language
trong Datastore
Java Virtual Machine
Máy ảo Java
Open Grid Service Architecture Kiến trúc dịch vụ lưới mở
Personal Computer
Máy tính cá nhân
Platform as a Service
Nền tảng như một dịch vụ
Software as a Service
Phần mềm như một dịch vụ
Software Development Kit
Bộ công cụ phát triển phần mềm
Service Oriented Architecture
Kiến trúc hướng dịch vụ
Simple Object Access Protocol Giao thức truy cập đối tượng


iii

SMTP
SQL
TTDL
URL
XML


Simple Mail Transfer Protocol

đơn giản
Giao thức truyền thư điện tử đơn

Structured Query Language
Data center
Uniform Resource Locator

giản
Ngôn ngữ truy vấn có cấu trúc
Trung Tâm Dữ Liệu
Địa chỉ truy cập tài nguyên

eXtensible Markup Language

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


iv

DANH MỤC BẢNG
Số hiệu bảng

Tên bảng

Trang

Bảng 2.1


Bảng ánh xạ giữa CSDLQH với App Engine Datastore

47

Bảng 2.2

Giá trị của các lớp thuộc tính

47


v

DANH MỤC HÌNH VẼ
Số hiệu hình vẽ

Tên hình vẽ

Trang

Hình1.1

Mô hình “Cloud Computing”

4

Hình 1.2

Các mô hình dịch vụ điện toán đám mây


5

Hình 1.3

Các mô hình triển khai đám mây

11

Hình 1.4

Mô hình kiến trúc điện toán đám mây

12

Hình 1.5

Các thành phần của điện toán đám mây

13

Hình 1.6

Cơ sở hạ tầng các tầng của điện toán đám mây

14

Hình 1.7

Mô hình grid computing


22

Hình 1.8

Mô hình Tính toán theo yêu cầu

25

Hình 1.9

Mô hình Web service

27

Hình 2.1

Kiến trúc GAE

45

Hình 2.2

Ánh xạ thư viện chuẩn Java vào các dịch vụ của App
Engine

46

Hình 2.3


Giao diện quản lý ứng dụng

54

Hình 2.4

Cấu trúc một ứng dụng App Engine

56

Hình 2.5

Nội dung của tệp appengine-web.xml

56

Hình 2.6

Nội dung của tệp jdoconfig.xml

56

Hình 3.1

Mô hình tổng thể hệ thống

59

Hình 3.2


Mô hình ca sử dụng quản trị hệ thống

60

Hình 3.3

Các ca sử dụng của người dùng cuối

60

Hình 3.4

Ca sử dụng quản lý người dùng

60

Hình 3.5

Ca sử dụng quản danh sách học sinh

61

Hình 3.6

Biểu đồ hoạt động cho chức năng đăng nhập

61

Hình 3.7


Biểu đồ hoạt động cho chức năng cập nhật điểm

61

Hình 3.8

Biểu đồ hoạt động cho chức năng xem điểm

62

Hình 3.9

Biểu đồ hoạt động cho chức năng gửi nhận xét

62

Hình 3.10

Biểu đồ tuần tự chức năng xem điểm

62

Hình 3.11

Biểu đồ tuần tự chức năng cập nhật điểm

63

Hình 3.12


Biểu đồ tuần tự chức năng gửi nhận xét

63


vi

Hình 3.13

Biểu đồ tuần tự chức năng tạo sổ liên lạc

64

Hình 3.14

Biểu đồ tuần tự chức năng sửa thông tin học sinh

64

Hình 3.15

Giao diện đăng nhập hệ thống

65

Hình 3.16

Giao diện tạo sổ liên lạc

65


Hình 3.17

Giao diện nhập danh sách giáo viên

65

Hình 3.18

Giao diện nhập điểm

66

Hình 3.19

Giao diện xem điểm

66

Hình 3.20

Giao diện gửi nhận xét, phản hồi nhận xét

66

Hình 3.21

Bảng danh sách sổ liên lạc

67



1

MỞ ĐẦU
Ngày nay, đối với các công ty, doanh nghiệp, việc quản lý tốt, hiệu quả dữ
liệu của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những bài
toán được ưu tiên hàng đầu và đang không ngừng gây khó khăn cho họ. Để có thể
quản lý được nguồn dữ liệu đó, ban đầu các doanh nghiệp phải đầu tư, tính toán rất
nhiều loại chi phí như chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị
viên, chi phí bảo trì, sửa chữa, … Ngoài ra họ còn phải tính toán khả năng mở rộng,
nâng cấp thiết bị, phải kiểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng cao
của dữ liệu. Nếu có một nơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu
đó, các doanh nghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ
tập trung chính vào công việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và
lợi nhuận ngày càng cao hơn. Điện toán đám mây ra đời đã giúp giải quyết vấn đề
đó.
Điện toán đám mây là một xu thế phát triển tất yêu và ngày càng có tầm ảnh
hưởng to lớn. Nhận thấy tính thiết thực của vấn đề này và được sự gợi ý của giáo
viên hướng dẫn, em đã chọn đề tài “Tìm hiểu điện toán đám mây và thử nghiệm
ứng dụng trong hệ thống thông tin nhà trường” cho luận văn tốt nghiệp của mình.
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, luận văn được trình bày
trong 3 chương, các nội dung cơ bản của luận văn được trình bày theo cấu trúc
như sau:
Chương 1: Tổng quan về điện toán đám mây và sổ liên lạc điện tử, trình bày
một số khái niệm cơ bản, kiến trúc điện toán đám mây, các dịch vụ và mô hình của
điện toán đám mây, tình hình ứng dụng công nghệ thông tin trong hệ thống thông
tin nhà trường và ứng dụng sổ liên lạc điện tử.
Chương 2: Công nghệ điện toán đám mây của Google, trình bày về công nghệ
nguồn mở, giải pháp điện toán đám mây của Google với nền tảng là App Engine,

các dịch vụ của Google Apps
Chương 3: Xây dựng thử nghiệm sổ liên lạc điện tử trong hệ thống thông tin
nhà trường trên nền tảng điện toán đám mây của Google..


2

CHƯƠNG 1
TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY VÀ SỔ LIÊN LẠC ĐIỆN TỬ
1.1. Tổng quan về mô hình điện toán đám mây.
1.1.1. Khái niệm điện toán đám mây.
Ngày nay, đối với các công ty, doanh nghiệp, việc quản lý tốt, hiệu quả dữ liệu
của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những bài toán
được ưu tiên hàng đầu và đang không ngừng gây khó khăn cho họ. Để có thể quản
lý được nguồn dữ liệu đó, ban đầu các doanh nghiệp phải đầu tư, tính toán rất nhiều
loại chi phí như chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị viên,
chi phí bảo trì, sửa chữa, … Ngoài ra họ còn phải tính toán khả năng mở rộng, nâng
cấp thiết bị; phải kiểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng cao của dữ
liệu.
Từ một bài toán như vậy, chúng ta thấy được rằng nếu có một nơi tin cậy giúp
các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn
quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh
doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn.
Thuật ngữ “cloud computing” ra đời bắt nguồn từ một trong những hoàn cảnh
như vậy.
Điện toán đám mây (tiếng Anh: Cloud computing), còn gọi là điện toán máy
chủ ảo, là mô hình điện toá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ữ “đám mây” ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa
vào cách được bố trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về
độ phức tạp của các cơ sở hạ tầng chứa trong nó. Ở mô hình điện toá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ệ từ một nhà cung cấp
nào đó trong “đám mây” mà không cần phải có các kiến thức, kinh nghiệm 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ệ
đó. Nói cách khác, các nguồn tính toá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


3

chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn phòng
để mọi người kết nối và sử dụng mỗi khi họ cần.
Đ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 toán của người dùng. Ví dụ, dịch vụ Google Apps 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ọ. Cloud computing cho phép người dùng tiếp cận đến các tài nguyên
tính toá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.
Điện toán đám mây đã trở thành một dịch vụ mở phổ biến trong lĩnh vực dịch vụ
công nghệ thông tin.
Các cơ sở kỹ thuật của điện toán đám mây bao gồm kiến trúc hướng dịch vụ
(SOA) và công nghệ ảo hóa của phần cứng và phần mềm với mục tiêu là chia sẻ tài

nguyên giữa các người sử dụng dịch vụ đám mây, các đối tác điện toán đám mây và
các nhà cung cấp điện toán đám mây trong hệ thống.
Sự phát triển mạnh mẽ của điện toán đám mây đã thu hút rất nhiều nhà khoa
học, các trường đại học và cả các công ty công nghệ thông tin đầu tư nghiên cứu.
Rất nhiều chuyên gia đã đưa ra định nghĩa của mình về điện toán đám mây. Mỗi
nhóm nghiên cứu đưa ra định nghĩa theo cách hiểu, cách tiếp cận của riêng mình
nên rất khó tìm ra được một định nghĩa tổng quát nhất của điện toán đám mây. Dưới
đây là một số ví dụ định nghĩa về điện toán đám mây.


4

Hình 1.1. Mô hình “Cloud Computing” [3]
Điện toán đám mây là một mô hình xử lý dựa trên cơ sở Internet, nơi được chia
sẻ tài nguyên, phần mềm và thông tin cung cấp cho máy tính và các thiết bị khác
như điện thoại thông minh, … theo yêu cầu qua Internet [14].
Theo Ian Foster thì điện toán đám mây là một mô hình điện toán phân tán có
tính co giãn cao đồng thời hướng theo co giãn về mặt kinh tế, là nơi chứa các sức
mạnh tính toán, kho lưu trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và
co giãn linh động sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài
thông qua Internet [8].
Còn Rajkumar Buyya lại cho rằng điện toán đám mây là một loại hệ thống phân
bố và xử lý song song gồm các máy tính ảo kết nối với nhau và được cung cấp động
cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận
dịch vụ giữa nhà cung cấp và người sử dụng [9].
Theo tổ chức Xã hội máy tính 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


5


đượ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, ...". [13]
Tuy dưới những cái nhìn khác nhau có những khái niệm về điện toán đám mây
khác nhau, nhưng nó vẫn mang những tính chất đặc thù của nó là khả năng co giãn
linh hoạt, sự tiện lợi không phụ thuộc địa lý, điện toán đám mây cung cấp các dịch
vụ thông qua Internet, tài nguyên của nhà cung cấp dịch vụ được dùng chung, tự
phục vụ theo nhu cầu, chỉ trả chi phí cho những gì mình dùng, do đó làm giảm tối
đa chi phí cho người sử dụng. Chính điều này thu hút sự quan tâm của rất nhiều
doanh nghiệp bước chân vào môi trường điện toán đám mây.
1.1.2. Các mô hình dịch vụ của điện toán đám mây.
Hiện nay, các nhà cung cấp dịch vụ điện toán đám mây cung cấp nhiều loại
dịch vụ khác nhau. Tuy nhiên có ba loại dịch vụ điện toán đám mây cơ bản bao
gồm: phần mềm như một dịch vụ (SaaS - Software as a Service), nền tảng như một
dịch vụ (PaaS - Platform as a Service) và cơ sở hạ tầng như một dịch vụ (IaaS Infrastructure as a Service).

Hình 1.2. Các mô hình dịch vụ điện toán đám mây [3]
1.1.2.1. Phần mềm như một dịch vụ (SaaS - Software as a Service)
Phần mềm hoạt động như một dịch vụ (SaaS - Software as a Service) là một
mô hình triển khai phần mềm được phát triển và hoạt động trên nền tảng Internet
được quản lý bởi nhà cung cấp và cho phép người dùng truy cập từ xa. Đối với các
phần mềm đóng gói truyền thống, người sử dụng thường phải cài đặt vào hệ thống
máy tính cá nhân hoặc các máy chủ của họ. Còn dịch vụ SaaS, nhà cung cấp phần
mềm dịch vụ sẽ sở hữu phần mềm này và chạy phần mềm đó trên hệ thống máy tính


6

ở trung tâm dữ liệu của nhà cung cấp. Khách hàng không sở hữu phần mềm này
nhưng họ có thể thuê nó để tiết kiệm chi phí cho việc mua máy chủ và bản quyền

phần mềm.
Với mô hình cung cấp phần mềm truyền thống, nhà cung cấp cố gắng đáp ứng
các yêu cầu của người dùng thì với SaaS nhà cung cấp đưa ra các giải pháp “một
cho tất cả”. Nghĩa là tất cả các khách hàng của một nhà cung cấp sản phẩm phần
mềm dịch vụ SaaS sẽ dùng chung một phần mềm. Mã chương trình được dùng cho
tất cả khách hàng là giống nhau và không thể tuỳ chỉnh. Dựa trên những phản hồi
của khách hàng mà các nhà cung cấp SaaS thêm vào các tính năng hay chức năng
vào phần mềm nhằm cung cấp một phần mềm thích hợp nhất phục vụ cho số đông.
Các nhà cung cấp cho thuê dịch vụ SaaS cung cấp đồng thời một sản phẩm cho
nhiều khách hàng, giúp cho các nhà cung cấp sản phẩm phần mềm dịch vụ có thể
cung cấp cho khách hàng những sản phẩm thích hợp hơn với giá cả thấp hơn, nhờ
đó khách hàng có thể tiết kiệm chi phí hiệu quả và luôn đảm bảo chắc chắn sản
phẩm họ dùng sẽ được nâng cấp lên những phiên bản mới nhất.
Dịch vụ SaaS có các đặc tính sau:
- Truy cập và quản lý phần mềm thương mại dựa trên mạng Internet.
- Các hoạt động được quản lý từ trung tâm thay cho mỗi vị trí của khách
hàng, cho phép khách hàng truy cập vào các ứng dụng từ xa thông qua trình duyệt.
- Việc phân phối phần mềm ứng dụng được thực hiện theo mô hình mộtnhiều (một đối tượng - nhiều người thuê) khác với mô hình một-một, kể cả kiến
trúc, giá cả và sự quản lý.
- Các nhà cung cấp SaaS xác định chi phí của phần mềm dựa theo yêu cầu
người sử dụng (per-user basis), trường hợp số người sử dụng chỉ đạt con số cực tiểu
thì thường phải cộng thêm phí tổn cho băng thông và không gian lưu trữ dữ liệu. [3]
Ngoài những đặc tính nêu trên, SaaS còn có những lợi thế như sau:
- Khách hàng tiết kiệm được tiền do không phải mua các máy chủ hoặc
phần mềm khác để hỗ trợ sử dụng tất cả mọi thứ đều được sử dụng thông qua trình
duyệt.


7


- Khách hàng luôn có được các tính năng, chức năng mới nhất của các phần
mềm dịch vụ được cung cấp mà không cần lo lắng về việc cập nhật các bản vá lỗi
hay nâng cấp phần mềm bởi vì điều này đã được thực hiện bởi các nhà cung cấp
dịch vụ.
- Khách hàng luôn được đáp ứng với những sản phẩm tốt nhất trong thực tế
với giá thành thấp nhất có thể.
Bên cạnh những lợi thế trên thì mô hình SaaS cũng có một số nhược điểm:
- Khách hàng sẽ bị phụ thuộc vào công nghệ mà nhà cung cấp đưa ra cho họ,
giảm tính linh hoạt và sáng tạo, cảm thấy bức bối vì chỉ có quyền thực hiện những
việc trong phạm vi nhà cung cấp cho phép.
- Do phải cung cấp dịch vụ để đáp ứng cho nhiều đối tượng khách hàng,
trong đó những công ty lớn có khối lượng dữ liệu rất lớn nên đòi hỏi nhà cung cấp
phải có hệ thống máy chủ khổng lồ, nguồn tài chính hùng mạnh và hệ thống phải
được phân bố ở nhiều nơi. Vì vậy, chỉ có các hãng công nghệ lớn trên thế giới mới
có thể đáp ứng được những yêu cầu đó như Microsoft, Google, IBM,
Amazon,Yahoo, …
- Chi phí bảo trì, phát triển và cả trách nhiệm cho các sản phẩm phần mềm
cùng đội ngũ nhân viên sẽ tăng dần theo khối lượng dữ liệu khách hàng.
- Với các ứng dụng được triển khai trực tuyến trên mạng Internet, nếu đường
truyền Internet bị gián đoạn thì công việc của khách hàng sẽ bị ảnh hưởng.
Trước những ưu thế vượt trội của mô hình SaaS, đã có nhiều nhà cung cấp
dịch vụ SaaS, điển hình là Google. Hãng đã cung cấp bộ phần mềm gồm cả miễn
phí lẫn tính phí là Google Apps. Bộ phần mềm này có nhiều chức năng bao gồm thư
điện tử (Gmail), lịch trực tuyến (Google Calendar), trao đổi trực tuyến (Google
Talk), … và đặc biệt là gói phần mềm văn phòng (Google Documents &
Spreadsheets) thực hiện soạn thảo, bảng tính, ...[1]
1.1.2.2. Nền tảng như một dịch vụ (PaaS - Platform as a Service)
Khi khách hàng cần một môi trường để phát triển ứng dụng, PaaS là một sự
lựa chọn tốt nhất. Nó mang đến môi trường phát triển như một dịch vụ, phục vụ yêu



8

cầu của khách hàng. Khách hàng sẽ xây dựng ứng dụng chạy trên cơ sở hạ tầng của
nhà cung cấp và phân phối tới người sử dụng thông qua máy chủ của nhà cung cấp
đó. Khách hàng không cần phải quản lý hoặc kiểm soát các cơ sở hạ tầng bên dưới
bao gồm cả mạng, máy chủ, hệ điều hành, lưu trữ, các công cụ, môi trường phát
triển ứng dụng. Đặc biệt, PaaS sẽ giải quyết bài toán “địa lý” khi nhóm phát triển
ứng dụng ở những vùng địa lý khác nhau. Khi khách hàng cần môi trường để triển
khai một ứng dụng, khách hàng sẽ gửi yêu cầu tài nguyên về CPU, bộ nhớ và dung
lượng lưu trữ thông qua trình duyệt, hệ thống của nhà cung cấp sẽ đáp ứng yêu cầu
tài nguyên cho khách hàng. Từ đó khách hàng có thể triển khai ứng dụng nhanh
hơn, linh hoạt và ổn định hơn trong khi chỉ phải trả chi phí cho tài nguyên mà mình
sử dụng. Một số nhà cung cấp dịch vụ PaaS điển hình là Google App Engine,
Microsoft Azure, Force.com, …[1]
1.1.2.3. Hạ tầng như một dịch vụ (IaaS - Infrastructure as a Service)
Với IaaS, khách hàng được cung cấp tài nguyên là “máy chủ ảo” (gồm bộ xử
lý, dung lượng lưu trữ, các kết nối mạng, …) được ảo hóa từ cơ sở hạ tầng vật lý
của nhà cung cấp. Khách hàng sẽ cài hệ điều hành, triển khai và cấu hình ứng dụng.
Nhà cung cấp dịch vụ sẽ quản lý cơ sở hạ tầng cơ bản bên dưới, khách hàng sẽ phải
quản lý hệ điều hành, lưu trữ, các ứng dụng triển khai trên hệ thống và các kết nối
giữa các thành phần. Sử dụng dịch vụ này, khách hàng tránh được rủi ro khi đầu tư
cơ sở hạ tầng. Khi cần máy chủ cấu hình cao, khách hàng cấu hình thêm máy chủ,
bộ nhớ, CPU, … và ngược lại. Điều này đáp ứng được nhu cầu thực tế của các
doanh nghiệp khi cần triển khai hệ thống mới, hệ thống của họ lúc đầu nhỏ, cần
máy chủ cấu hình thấp, nhưng sau một thời gian hoạt động, mô hình hệ thống lớn
dần, cần máy chủ có cấu hình cao hơn, dịch vụ này sẽ sẵn sàng đáp ứng. Ở dịch vụ
này, điển hình là Amazon EC2, IBM Blue Cloud, ...[1]
1.1.3. Các mô hình triển khai của điện toán đám mây.
Với sự đa dạng các dịch vụ, điện toán đám mây đã đáp ứng được đa số yêu

cầu của khách hàng. Tuy nhiên, có những doanh nghiệp do yêu cầu về an toàn, an
ninh thông tin, trong đó những dữ liệu, thông tin quan trọng không thể công khai


9

lên đám mây của các nhà cung cấp, hay có doanh nghiệp có thể vừa công khai một
số dữ liệu, thông tin, lại vừa bảo mật, quản lý một số thông tin khác trong hệ thống
của mình. Dó đó, dưới góc nhìn an toàn, an ninh thông tin, điện toán đám mây được
chia thành ba mô hình triển khai bao gồm: đám mây công cộng (public cloud),
đám mây riêng (private cloud) và đám mây lai (hybrid cloud).
1.1.3.1. Mô hình đám mây công cộng (Public Cloud)
Trong mô hình đám mây công cộng (Public cloud), các hoạt động, chức năng
công nghệ thông tin được cung cấp như là các dịch vụ trên Internet, cho phép truy
cập tới các dịch vụ được h ỗ trợ bởi công nghệ mà không cần phải biết, không

yêu cầu phải có kinh nghiệm hoặc phải làm chủ hạ tầng công nghệ để thực
hiện các dịch vụ đó. Nó còn được gọi là đám mây bên ngoài “external cloud.”
Các dịch vụ trên mô hình đám mây công cộng được nhà cung cấp dịch vụ
cung cấp cho mọi người sử dụng rộng rãi. Các dịch vụ được cung cấp và quản lý
bởi một nhà cung cấp dịch vụ và các ứng dụng của người dùng đều nằm trên hệ
thống đám mây.
Người sử dụng dịch vụ sẽ được lợi là chi phí đầu tư thấp, giảm thiểu rủi ro do
nhà cung cấp dịch vụ đã gánh vác nhiệm vụ quản lý hệ thống, cơ sở hạ tầng, bảo
mật, … Một lợi ích khác của mô hình này là cung cấp khả năng co giãn theo yêu
cầu của người sử dụng.
Tuy nhiên, mô hình này có một trở ngại, đó là vấn đề mất kiểm soát về dữ liệu
và vấn đề an toàn dữ liệu. Trong mô hình đám mây công cộng, mọi dữ liệu đều nằm
trên đám mây và do nhà cung cấp dịch vụ đám mây đó bảo vệ và quản khiến cho
khách hàng, nhất là các công ty lớn cảm thấy không an toàn đối với những dữ liệu

quan trọng của mình khi sử dụng các dịch vụ trên mô hình này.
1.1.3.2. Mô hình đám mây riêng (Private Cloud)
Trong mô hình đám mây riêng (Private cloud), các hoạt động, chức năng công
nghệ thông tin được cung cấp như là các dịch vụ trên mạng nội bộ Intranet. Nó
được xây dựng cho các chủ sở hữu của một tổ chức, và mọi giao dịch được thực
hiện bên trong tường lửa (firewall) của tổ chức (thay cho Internet). Chủ đám mây


10

riêng không chia sẻ tài nguyên với các công ty, tổ chứ c khác. Nó còn được gọi là

đám mây bên trong “internal cloud.”.
Trong mô hình đám mây riêng, cơ sở hạ tầng và các dịch vụ được xây dựng để
phục vụ cho một tổ chức (doanh nghiệp) duy nhất. Nó cho phép một công ty phủ
các lớp ảo hóa và phần mềm quản lý lên cơ sở hạ tầng hiện có để liên kết các máy
chủ, lưu trữ, mạng, dữ liệu và các ứng dụng. Doanh nghiệp sở hữu cơ sở hạ tầng và
quản lý các ứng dụng được triển khai trên đó. Mô hình đám mây riêng có thể được
xây dựng và quản lý bởi chính đội ngũ công nghệ thông tin của doanh nghiệp hoặc
có thể thuê một nhà cung cấp dịch vụ đảm nhiệm công việc này. Điều này giúp cho
doanh nghiệp có thể kiểm soát tối đa đối với dữ liệu, bảo mật và chất lượng dịch vụ.
Như vậy, mặc dù tốn chi phí đầu tư nhưng mô hình này lại cung cấp cho doanh
nghiệp khả năng kiểm soát và quản lý chặt chẽ những dữ liệu quan trọng.
1.1.3.3. Mô hình đám mây lai (Hybrid Cloud)
Mô hình đám mây công cộng thì dễ triển khai, chi phí thấp nhưng chưa đảm
bảo an toàn. Ngược lại, mô hình đám mây riêng an toàn hơn nhưng tốn chi phí và
khó triển khai. Do đó, nếu kết hợp được hai mô hình này lại với nhau thì sẽ khai
thác được những ưu điểm của từng mô hình. Đó là ý tưởng hình thành mô hình đám
mây lai.
Mô hình đám mây lai là sự kết hợp giữa đám mây công cộng và đám mây

riêng. Mô hình đám mây lai tích hợp cả các phương pháp dịch vụ bên trong và

bên ngoài. Các qui tắc và chính sách sử dụng dịch vụ được tổ chức công bố
dựa trên các yêu cầu về an ninh, kiến trúc sao cho các hoạt động và các nhiệm
vụ được phép thực hiện như ở bên trong hoặc bên ngoài tương ứng. Trong đó,
doanh nghiệp sẽ đi thuê ngoài các dịch vụ của đám mây công cộng để giải quyết và
xử lý các chức năng nghiệp vụ và dữ liệu không quan trọng. Đồng thời, doanh
nghiệp sẽ giữ lại các chức năng nghiệp vụ và dữ liệu quan trọng trong tầm kiểm
soát trên đám mây riêng.


11

Hình 1.3. Các mô hình triển khai đám mây [10]
Tuy nhiên một khó khăn khi áp dụng mô hình đám mây lai là làm sao triển
khai cùng một ứng dụng trên cả hai phía “đám mây công cộng” và “đám mây riêng”
mà nó vẫn có thể kết nối, trao đổi dữ liệu và hoạt động một cách hiệu quả.
Doanh nghiệp có thể chọn để triển khai các ứng dụng trên đám mây công
cộng, đám mây riêng hay đám mây lai tùy theo nhu cầu cụ thể. Mỗi mô hình đều có
điểm mạnh và yếu riêng. Các doanh nghiệp phải cân nhắc đối với các mô hình điện
toán đám mây mà họ chọn. Đồng thời, họ có thể sử dụng nhiều mô hình để giải
quyết các vấn đề khác nhau. Nhu cầu về một ứng dụng có tính tạm thời có thể triển
khai trên đám mây công cộng bởi vì nó giúp tránh việc phải mua thêm thiết bị để
giải quyết một nhu cầu tạm thời. Tương tự, nhu cầu về một ứng dụng thường trú
hoặc một ứng dụng có những yêu cầu cụ thể về chất lượng dịch vụ hay vị trí của dữ
liệu thì nên triển khai trên đám mây riêng hoặc đám mây lai.
1.1.4. Kiến trúc điện toán đám mây.
1.1.4.1. Kiến trúc tổng quát
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.


12

Hình 1.4. Mô hình kiến trúc điện toán đám mây [3]
Tất cả các tài nguyên tính toán (phần cứng, phần mềm) được tổ chức thành
catalog 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). [3]
1.1.4.2. Các thành phần của điện toán đám mây
Trong nhiều thập kỷ qua, các hãng công nghệ thông tin đã tốn nhiều công

sức, thời gian, 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 suất.

-

Trong nhiều trường hợp phải tận dụng những máy tính không đủ mạnh để 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.


13

-

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.
Điện toán đám mây được phát triển để khắc phục những nhược điểm trên.

Kiến trúc điện toán đám mây gồm 6 thành phần chính liên quan với nhau như
trong hình sau.

Hình 1.5. Các thành phần của điện toán đám mây[1]
-

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, …
-

Storage: 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ụ cơ sở dữ liệu, ví dụ như BigTable của Google, SimpleDB của
Amazon…
-

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 dụng
Web (Web application frameworks), Web hosting, ...
-

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


14

dụng đám mây loại bỏ được các chi phí,tài nguyên để bảo trì và vận hành các
chương trình ứng dụng.
-

Service: 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 với nhau để
thực thi chương trình ứng dụ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, ...
-


Clients: Khách hàng đám mây hay hạ tầng khách hàng đám mây (Client

Infrastructure) 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.1.5. 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.6. Cơ sở hạ tầng các tầng của điện toán đám mây[1]
Cơ sở hạ tầng của điện toán đám mây gồm 6 tầng kiến trúc:
1. Các server thực (Physical Servers)
2. Server ảo (Virtual Servers)
3. Hệ điều hành (Operating system)
4. Phần mềm trung gian (Middleware)
5. Các chương trình ứng dụng (Applicatios)


15

6. Các dịch vụ (Services)
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 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.
-

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 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ụ.
-

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:
+ 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 tí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.
+ 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.
-

Infrastructure as a service (IaaS): cung cấp các khả năng lưu trữ cơ sở và tính

toá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 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 yêu cầu.



16

1.1.6. Các ưu, nhược điểm của điện toán đám mây.
1.1.6.1. Các ưu điểm của điện toán đám mây
Để tạo ra lợi ích từ đám mây điện toán, các lập trình viên phải thiết lập các
tham số trên các ứng dụng để họ có thể sử dụng một cách tối ưu nhất các mẫu kiến
trúc và triển khai do đám mấy điện toán hỗ trợ. Lợi ích của các ứng dụng triển khai
sử dụng đám mây điện toán bao gồm giảm thời gian thực hiện và thời gian phản
hồi, giảm rủi ro trong việc triển khai cơ sở hạ tầng vật lý, giảm giá đầu vào, và tăng
cường các cải tiển công nghệ….
-

Giảm thời gian thực hiện và thời gian phản hồi. Để các ứng dụng sử dụng đám

mây điện toán hoạt động một cách hiệu quả bằng cách thực hiện công việc theo lô
(batch job), khi giải quyết một vấn đề, điện toán đám mây có thể tập trung sử dụng
1000 servers để giải quyết bài toán đó trong khoảng thời gian bằng 1/1000 thời gian
mà một server chạy riêng lẻ. Đối với các ứng dụng, để có yêu cầu phản hồi (trả lời
các kết quả) nhanh thì cần tham số hóa các ứng dụng đó để các bài toán được
chuyển cho các máy ảo hỗ trợ để tối ưu thời gian phản hồi trong khi điều chỉnh yêu
cầu cho phù hợp với yêu cầu của khách hàng.
-

Giảm thiểu rủi ro cơ sở hạ tầng: Các tổ chức IT có thể sử dụng đám mây để

giảm rủi ro trong việc đầu tư các servers cũng như các các cơ sở hạ tầng khác. Để
xây dựng một ứng dụng mới thành công thì cần bao nhiêu tài nguyên và triển khai
như thế nào để đủ đáp ứng được sự tăng lên nhanh chóng của khối lượng công việc.
Nếu không xác định tốt yêu cầu, cần đầu tư một lượng lớn server, điều này có thể
dẫn đến sự dư thừa. Thông thường các ứng dụng này chỉ tồn tại trong một thời gian

ngắn, các tổ chức IT sẽ đầu tư xây dựng một cơ sở hạ tầng đồ sộ để phần lớn thời
gian của hệ thống máy móc này nằm ở trạng thái treo (idle). Trong trường hợp đặt
một ứng dụng ra ngoài đám mây, việc thay đổi và độ rủi ro của giá cả cơ sở hạ tầng
đắt hay rẻ lại là vấn đề của các nhà cung cấp đám mây. Với việc tăng lên về mặt số
lượng, nhà cung cấp đám mây phải xây dựng được một cơ sở hạ tầng đủ mạnh để
nó có thể thu hút được sự phát triển và khả năng phân bổ tải của các khách hàng cá
nhân, giảm thiểu các rủi ro tài chính mà họ có thể gặp phải. Nói cách khác, ở điện


×