1
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
THÔNG
NGUYỄN ĐỨC ĐIỆP
NỀN TẢNG GOOGLE APP ENGINE VÀ ỨNG DỤNG
XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ TRƢỜNG
CAO ĐẲNG NGHỀ SỐ 3
Chuyên 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
Thái Nguyên - 2012
2
LỜI CẢM ƠN
Trong suốt quá trình tìm hiểu và thực hiện luận văn “Nền tảng Google
App Engine và ứng dụng xây dựng cổng thông tin điện tử trƣờng Cao
đẳng nghề số 3”, cùng với sự cố gắng nỗ lực hết mình và rất nhiều sự quan
tâm, giúp đỡ từ thầy cô, gia đình và bạn bè, luận văn cơ bản đã hoàn thành.
Tôi xin đƣợc bày tỏ lòng chân thành biết ơn tới các thầy cô giáo trƣờng
Đại học CNTT và Truyền thông – Đại học Thái Nguyên đã tận tình truyền đạt
cho tôi những kiến thức vô cùng quý báu và động viên tôi trong học tập.
Đặc biệt, tôi xin chân thành cám ơn Tiến sĩ Nguyễn Nhƣ Sơn - Viện
Công nghệ Thông tin - Viện khoa học và công nghệ Việt Nam, thầy đã tận
tình chỉ bảo, tạo mọi điều kiện cho tôi hoàn thành luận văn và sửa chữa những
sai sót trong suốt quá trình tôi thực hiện đề tài.
Tôi cũng xin gửi lời cảm ơn tới các anh chị, bạn bè trong khoa, trong
lớp đã giúp đỡ tôi về tài liệu cũng nhƣ động viên, đóng góp ý kiến trong quá
trình tôi thực hiện và nghiên cứu.
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è những ngƣời luôn bên cạnh, động viên, giúp đỡ tôi
trong học tập và cuộc sống.
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 tháng năm
Nguyễn Đức Điệp
3
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)
Nguyễn Đức Điệp
4
i
MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 3
MỤC LỤC i
CÁC THUẬT NGỮ VIẾT TẮT iv
DANH MỤC HÌNH VẼ vi
MỞ ĐẦU 1
Chƣơng 1. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 3
1.1. Giới thiệu chung về mô hình điện toán đám mây 3
1.2. Các mô hình dịch vụ của ĐTĐM 4
1.2.1. Phần mềm nhƣ là dịch vụ (SaaS) 5
1.2.2. Nền tảng nhƣ là dịch vụ (PaaS) 7
1.2.3. Cơ sở hạ tầng nhƣ là dịch vụ (IaaS) 8
1.3. Các mô hình triển khai của ĐTĐM 9
1.3.1. Mô hình đám mây công cộng (Public Cloud) 9
1.3.2. Mô hình đám mây riêng (Private Cloud) 10
1.3.3. Mô hình đám mây lai (Hybrid Cloud) 10
1.4. Kiến trúc ĐTĐM 11
1.4.1. Mô hình kiến trúc tổng quát 11
1.4.2. Các tính chất cơ bản của ĐTĐM 12
1.4.2.1. Tự phục vụ theo nhu cầu (On-demand self-service) 12
1.4.2.2. Truy xuất diện rộng (Broad network access) 13
1.4.2.3. Dùng chung tài nguyên (Resource pooling) 13
1.4.2.4. Khả năng co giãn (Rapid elasticity) 13
1.4.2.5. Điều tiết dịch vụ (Measured service) 14
1.5. An ninh trong ĐTĐM 14
1.6. Ƣu, nhƣợc điểm của ĐTĐM 15
1.6.1. Ƣu điểm 16
1.6.2. Nhƣợc điểm 16
1.7. Tổng kết chƣơng 17
CHƢƠNG 2. NỀN TẢNG DỊCH VỤ GOOGLE APP ENGINE 19
2.1. Tổng quan về Google Apps 19
ii
2.2. Google App Engine 23
2.3. Tính năng 24
2.4. Dịch vụ App Engine 25
2.5. Giới hạn sử dụng 26
2.6. Ứng dụng trên Google App Engine 26
2.6.1. Tổng quan 26
2.6.2. Môi trƣờng chạy thực 27
2.6.3. Lƣu trữ dữ liệu 30
2.6.4. Hàng đợi tác vụ và tác vụ đƣợc lập lịch 36
2.6.5. Công cụ lập trình 36
2.6.6. Quản trị 37
2.6.7. Ứng dụng trên Google App Engine 38
2.6.8. Hạn chế 41
2.7. Tổng kết chƣơng 42
CHƢƠNG 3. XÂY DỰNG THỬ NGHIỆM CỔNG THÔNG TIN ĐIỆN TỬ
TRƢỜNG CAO ĐẲNG NGHỀ SỐ 3 DỰA TRÊN NỀN TẢNG GOOGLE APP
ENGINE 44
3.1. Cổng thông tin điện tử và một số khái niệm liên quan 44
3.1.1. Khái niệm về Portal 44
3.1.2. Các đặc trƣng cơ bản của Portal 45
3.1.2.1. Tập trung thông tin 45
3.1.2.2. Chức năng tìm kiếm 45
3.1.2.3. Các ứng dụng trực tuyến 45
3.1.2.4. Tùy biến cá nhân 46
3.1.2.5. Mô hình bảo mật thống nhất 46
3.2. Phân biệt Portal và website truyền thống 46
3.2.1. Website truyền thống 46
3.2.2. Portal 47
3.3. Phân loại Portal 48
3.3.1. Phân loại dựa trên cấu trúc nội dung thông tin 48
3.3.1.1. Vertical Portal (Portal theo chiều đứng) 48
3.3.1.2. Horizontal Portal (Portal theo chiều ngang) 48
3.3.2. Phân loại dựa trên mục đích cung cấp thông tin 48
3.3.2.1. Portal công cộng 48
iii
3.3.2.2. Portal doanh nghiệp 49
3.3.2.3. Portal thƣơng mại 49
3.3.2.4. Portal cá nhân 49
3.4. Tình hình ứng dụng Portal của các Cơ quan ở Việt Nam 50
3.4.1. Về đánh giá mức độ cung cấp thông tin và dịch vụ công trực tuyến trên
Website/Portal: 50
3.4.2. Về đánh giá mức độ ứng dụng công nghệ thông tin: 52
3.4.3. Kết luận 53
3.5. Xây dựng thử nghiệm cổng thông tin điện tử trƣờng Cao đẳng nghề số 3 53
3.5.1. Các chức năng của hệ thống 53
3.5.1.1. Cá nhân hóa và tùy biến 53
3.5.1.2. Đăng nhập một lần, xác thực và phân quyền 54
3.5.1.3. Quản lý cổng thông tin và trang thông tin 54
3.5.1.4. Quản lý cấu hình 54
3.5.1.5. Tích hợp các kênh thông tin 55
3.5.1.6. Chức năng tìm kiếm thông tin 55
3.5.1.7. Quản trị ngƣời sử dụng 56
3.5.1.8. Thu thập và xuất bản thông tin 56
3.5.1.9. Sao lƣu và phục hồi dữ liệu 56
3.5.1.10. Nhật ký theo dõi 56
3.5.1.11. An toàn, bảo mật cổng thông tin 56
3.5.2. Cài đặt lên Google Apps 57
3.5.2.1. Đăng ký Google App Engine 57
3.5.2.2. Cài đặt môi trƣờng lập trình GAE cho Java 60
KẾT LUẬN 64
TÀI LIỆU THAM KHẢO 65
iv
CÁC THUẬT NGỮ VIẾT TẮT
Tên viết
tắt
Tên khoa học
Giải nghĩa
AJAX
Asynchronous Javascript and
XML
JavaScript và XML không đồng bộ
API
Aplication Programming
Interface
Giao diện lập trình ứng dụng
AWS
Amazon Web Service
Dịch vụ Web của Amazon
CNTT
Information Technology
Công Nghệ Thông Tin
CIO
Chief Information Officer
Giám đốc công nghệ thông tin
CPU
Central Processing Unit
Đơn vị xử lý trung tâm
CSDL
Database
Cơ Sở Dữ Liệu
CSDLQH
Cơ Sở Dữ Liệu Quan Hệ
ĐTĐM
Cloud Computing
Điện Toán Đám Mây
EC2
Amazon Elastic Compute
Cloud
Nền tảng tính toán của Amazon
GFS
Google File System
Hệ thống lƣu trữ tệp của Google
GAE
Google App Engine
Công nghệ nền tảng ĐTĐM của
Google
GQL
Google Query Language
Ngôn ngữ truy vấn dữ liệu của
Google
HQT
Hệ Quản Trị
IaaS
Infrastructure as a Service
Hạ tầng nhƣ một dịch vụ
IMAP
Internet Message Access
Protocol
Giao thức truy cập thƣ Internet
v
JDK
Java Development Kit
Bộ công cụ phát triển ứng dụng
ngôn ngữ Java
JDO
Java Data Objects
Các đối tƣợng dữ liệu Java
JDOQL
Java Data Objects Query
Language
Ngôn ngữ truy vấn dữ liệu trong
Datastore
JPA
Java Persistence API
NSD
User
Ngƣời Sử Dụng
PC
Personal Computer
Máy tính cá nhân
PaaS
Platform as a Service
Nền tảng nhƣ một dịch vụ
SaaS
Software as a Service
Phần mềm nhƣ một dịch vụ
S3
Amazon Simple Storage
Service
Dịch vụ lƣu trữ đơn giản của
Amazon
SDK
Software Development Kit
Bộ công cụ phát triển phần mềm
SOAP
Simple Object Access
Protocol
Giao thức truy cập đối tƣợng đơn
giản
SMTP
Simple Mail Transfer
Protocol
Giao thức truyền thƣ điện tử đơn
giản
SQL
Structured Query Language
Ngôn ngữ truy vấn có cấu trúc
TMĐT
Electronic Commerce
Thƣơng Mại Điện Tử
TTDL
Data center
Trung Tâm Dữ Liệu
URL
Uniform Resource Locator
Địa chỉ truy cập tài nguyên Internet
VDW
Virtual Data Warehouse
Kho dữ liệu ảo
VM
Virtual Machine
Máy ảo
XML
eXtensible Markup
Language
Ngôn ngữ đánh dấu mở rộng
vi
DANH MỤC HÌNH VẼ
Hình 1.1.1. Mô hình chung của điện toán đám mây 4
Hình 1.3.1. Các mô hình triển khai của điện toán đám mây 11
Hình 1.4.1. Mô hình kiến trúc của điện toán đám mây 12
vii
1
MỞ ĐẦU
Hiện nay, bài toán quản lý và sử dụng hiệu quả dữ liệu của các cơ quan,
tổ chức đang là một trong những bài toán đƣợc ƣu tiên hàng đầu. Để thực hiện
đƣợc bài toán này, các cơ quan, tổ chức phải đầu tƣ tính toán các vấn đề nhƣ
chi phí phần cứng, phần mềm, nhân sự … Ngoài ra còn phải tính đến khả
năng mở rộng, nâng cấp và bảo mật dữ liệu.
Từ một bài toán điển hình 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 cơ quan, tổ chức quản lý tốt nguồn dữ liệu đó thì việc
quan tâm đến cơ sở hạ tầng, công nghệ sẽ không còn cần thiết.
Thuật ngữ Điện toán đám mây - ĐTĐM (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, 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ệ đó
Đ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 điện toán của ngƣời dùng. Ví dụ, dịch
vụ Google AppEngine cung cấp những ứng dụng kinh doanh trực tuyến thông
2
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ủ.
Nền tảng dịch vụ Google App Engine của Google ra đời với mục đích
đáp ứng xu thế mới của Điện toán đám mây. Với Google App Engine, việc
phát triển ứng dụng, lƣu trữ nó cùng với dữ liệu, điểu khiển truy cập trở nên
đơn giản và thân thiện với nhà phát triển và ngƣời dùng. Nền tảng dịch vụ
Google App Engine đang tạo ra một sức sống mới và thúc đẩy Điện toán đám
mây càng phát triể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ảng viên
hƣớng dẫn, em đã chọn đề tài “Nền tảng Google App Engine và ứng dụng
xây dựng cổng thông tin điện tử trƣờng Cao đẳng nghề số 3” cho luận văn
tốt nghiệp của mình.
3
Chƣơng 1. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
1.1. Giới thiệu chung về mô hình điện toán đám mây
Điện toán đám mây là các phát triển dựa vào mạng Internet sử dụng các
công nghệ máy tính. Đây là một kiểu điện toán trong đó những tài nguyên
tính toán và lƣu trữ đƣợc cung cấp nhƣ những dịch vụ trên mạng. Ngƣời dùng
không cần biết hay có kinh nghiệm điều khiển và vận hành những công nghệ
này.
Trong điện toán đám mây, cơ sở hạ tầng trong suốt với ngƣời dùng,
ngƣời dùng sẽ dùng các tài nguyên mà điện toán đám mây cung cấp theo nhu
cầu riêng của họ vào bất kỳ lúc nào, cho dù họ ở bất cứ nơi đâu, miễn là họ có
kết nối Internet.
“Điện toán đám mây là một mô hình cho phép truy cập mạng theo nhu
cầu tới một nguồn tài nguyên máy tính dùng chung tin cậy và có thể cấu hình
đƣợc, các nguồn tài nguyên này có thể đƣợc cung cấp nhanh chóng và đƣợc
đƣa ra để công sức quản lý khách hàng nhỏ nhất hoặc ảnh hƣởng của các nhà
cung cấp dịch vụ nhỏ nhất”.
ĐTĐM đã trở thành một dịch vụ mở phổ biến trong lĩnh vực dịch vụ
CNTT. Các cơ sở kỹ thuật của ĐTĐM 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. Mục tiêu của
ĐTĐM 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 ĐTĐM và các nhà cung cấp ĐTĐM trong hệ thống.
Sự phát triển mạnh mẽ của ĐTĐM đã 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 CNTT đầu tƣ nghiên cứu. Rất nhiều
chuyên gia đã đƣa ra định nghĩa của mình về ĐTĐM. 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 ĐTĐM.
4
Mô hình điện toán đám mây này bao gồm năm đặc trƣng, ba mô hình
dịch vụ và bốn mô hình triển khai.
Năm đặc trƣng bao gồm:
- Tự phục vụ theo nhu cầu;
- Truy cập mạng mọi lúc mọi nơi;
- Kho tài nguyên lớn;
- Độc lập vị trí;
- Mềm dẻo;
- Dịch vụ đều đặn.
Ba mô hình dịch vụ bao gồm:
- Phần mềm nhƣ là dịch vụ (SaaS) – sử dụng các ứng dụng của nhà cung
cấp qua mạng.
- Nền tảng nhƣ là dịch vụ (PaaS) – triển khai các ứng dụng mà khách
hàng tạo ra trên đám mây.
- Cơ sở hạ tầng nhƣ là dịch vụ (IaaS) – thuê xử lý, lƣu trữ, mạng và các
tài nguyên máy tính cơ bản khác.
Hnh 1.1.1. Mô hình chung của điện toán đám mây
1.2. Các mô hình dịch vụ của ĐTĐM
Ba mô hình dịch vụ bao gồm:
5
- Phần mềm nhƣ là dịch vụ (SaaS) – sử dụng các ứng dụng của nhà
cung cấp qua mạng.
- Nền tảng nhƣ là dịch vụ (PaaS) – triển khai các ứng dụng mà khách
hàng tạo ra trên đám mây.
- Cơ sở hạ tầng nhƣ là dịch vụ (IaaS) – thuê xử lý, lƣu trữ, mạng và các
tài nguyên máy tính cơ bản khác.
1.2.1. Phần mềm như là dịch vụ (SaaS)
Phần mềm hoạt động nhƣ một dịch vụ 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, NSD 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 ở
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.
Khác với mô hình cung cấp phần mềm truyền thống, dịch vụ SaaS thay
vì việc cố gắng đáp ứng các yêu cầu của ngƣời dùng thì họ đƣ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.
Bất cứ tính năng hay chức năng nào mà các nhà cung cấp SaaS thêm vào phần
mềm này đều dựa trên những phản hồi của khách hàng 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
6
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ột-
nhiề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 NSD (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.
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.
- 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 là:
- Khách hàng sẽ bị phụ thuộc vào công nghệ mà nhà cung cấp đƣa ra cho
7
họ, giảm linh hoạt và sáng tạo. Khách hàng 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. Do đó, 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 triển khai trực tuyến trên mạng Internet, nếu đƣờng
truyền Internet bị gián đoạn thì ảnh hƣởng rất lớn đến công việc của khách
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.2.2. Nền tảng như là dịch vụ (PaaS)
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 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 NSD 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
8
“đị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.2.3. Cơ sở hạ tầng như là dịch vụ (IaaS)
Trong loại hình dịch vụ này, 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,
IAAS là một mô hình dịch vụ mà sẽ cung cấp các thiết bị nhằm hỗ trợ
hoạt động hệ thống cho khách hàng. Các thiết bị đó bao gồm kho dữ liệu,
phần cứng, máy chủ (server) và các thành phần networking. Nhà cung cấp sẽ
làm chủ các thiết bị và chịu trách nhiệm cho việc hoạt động và bảo trì hệ
thống. Khách hàng sẽ trả tiền trên các dịch vụ đó.
9
IAAS bao gồm:
Các bản hợp đồng ở các mức dịch vụ khác nhau : đối với từng nhu cầu
khác nhau mà các khách hàng có thể chọn những dịch vụ thích hợp. Ứng với
các dịch vụ đó sẽ có những hợp đồng tƣơng ứng.
Khi sử dụng dịch vụ IAAS thì phải trả phí.
IAAS đều dựa trên các hoạt động của máy ảo. Cơ chế của việc sử
dụng các thiết bị ảo trong điện toán đám mây thì rất thích hợp bởi vì nó có
nhiều lợi ích trong việc chia sẻ, quản lý tài nguyên.
IAAS tập trung chủ yếu vào việc cho thuê các thiết bị phần cứng nhƣ
là máy chủ (server) , kỹ thuật networking và không gian lƣu trữ hơn là mua và
cài đặt nó trong trung tâm dữ liệu của riêng bạn.
Các đặc điểm chính của IAAS:
Các tài nguyên IAAS thì đƣợc phân phối nhƣ là dịch vụ. Các tài
nguyên đó là các máy chủ (server), thiết bị networking, bộ nhớ, CPU, không
gian vùng nhớ, vv
Cơ sở hạ tầng thay đổi động : bạn có thể điều chỉnh các tài nguyên
theo yêu cầu sử dụng của bạn. IAAS trong cloud sẽ đáp ứng nhanh chóng việc
tăng hay giảm tài nguyên một cách dễ dàng.
Có chi phí biến đổi nghĩa là tùy vào nhu cầu sử dụng khác nhau thì các
khách hàng sẽ trả trên các dịch vụ đó. Không cố định chi phí cho bất cứ dịch
vụ nào.
IAAS thƣờng có nhiều ngƣời thuê (leaseholders or tenants).
IAAS có những mức dịch vụ khác nhau đáp ứng cho tất cả nhu cầu
của doanh nghiệp.
1.3. Các mô hình triển khai của ĐTĐM
1.3.1. Mô hình đám mây công cộng (Public 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ụ
10
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 NSD.
Tuy nhiên, mô hình đám mây công cộng 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 này, mọi dữ liệu đều
nằm trên đám mây, do nhà cung cấp dịch vụ đám mây đó bảo vệ và quản lý. Chính
điều này 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 đám
mây công cộng.
1.3.2. Mô hình đám mây riêng (Private 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. Đ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ụ. 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ũ CNTT 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.
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.3.3. Mô hình đám mây lai (Hybrid Cloud)
Đối với 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, vớ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
11
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. 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.
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ả.
Hnh 1.3.1. Các mô hình triển khai của điện toán đám mây
1.4. Kiến trúc ĐTĐM
1.4.1. Mô hình kiến trúc tổng quát
Kiến trúc ĐTĐM gồm có các thành phần chính sau.
- Hạ tầng: Cơ sở hạ tầng (Infrastructure) của ĐTĐM 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 thời gian cụ thể theo yêu
cầu.
- Lƣu trữ: 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.
12
- Cloud Runtime: Là dịch vụ 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.
- Dịch vụ: Dịch vụ đám mây (Cloud service) là một phần độc lập 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.
- Ứng dụng: Ứng dụng đám mây (Cloud application) 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 NSD. Ứng dụng đám mây loại bỏ đƣợc các chi phí để
bảo trì và vận hành các chƣơng trình ứng dụng.
- Hạ tầng khách hàng: 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 để sử dụng các
dịch vụ ĐTĐM trên mạng.
Hnh 1.4.1. Mô hình kiến trúc của điện toán đám mây
1.4.2. Các tính chất cơ bản của ĐTĐM
1.4.2.1. Tự phục vụ theo nhu cầu (On-demand self-service)
Mỗi khi có nhu cầu, khách hàng chỉ cần gửi yêu cầu thông qua trang web
cung cấp dịch vụ, hệ thống của nhà cung cấp sẽ đáp ứng yêu cầu của khách
13
hàng. Đồng thời, họ cũng có thể tự phục vụ yêu cầu của mình mà không cần
phải tƣơng tác trực tiếp với nhà cung cấp dịch vụ, mọi nhu cầu về dịch vụ đều
đƣợc xử lý trên môi trƣờng web.
1.4.2.2. Truy xuất diện rộng (Broad network access)
ĐTĐM cung cấp các dịch vụ thông qua môi trƣờng Internet. Do đó,
NSD có kết nối Internet là có thể sử dụng đƣợc dịch vụ. Hơn nữa, ĐTĐM ở
dạng dịch vụ nên không đòi hỏi khả năng xử lý cao ở phía máy khách, vì vậy
NSD có thể truy xuất bằng các thiết bị di dộng nhƣ điện thoại, PDA, laptop,
… Với ĐTĐM, NSD không còn bị phụ thuộc vào vị trí địa lý nữa, họ có thể
truy xuất dịch vụ từ bất kỳ nơi nào, vào bất kỳ lúc nào có kết nối Internet.
1.4.2.3. Dùng chung tài nguyên (Resource pooling)
Tài nguyên của nhà cung cấp dịch vụ đƣợc dùng chung, phục vụ cho
nhiều ngƣời dùng dựa trên mô hình “multi-tenant” (máy chủ dịch vụ lƣu và
quản lý những khách hàng khác nhau). Trong mô hình “multi-tenant”, tài
nguyên sẽ đƣợc phân phát động tùy theo nhu cầu của ngƣời dùng. Khi nhu
cầu của một khách hàng giảm xuống, thì phần tài nguyên dƣ thừa sẽ đƣợc tận
dụng để phục vụ cho một khách hàng khác.
ĐTĐM dựa trên công nghệ ảo hóa, nên các tài nguyên đa phần là tài
nguyên ảo. Các tài nguyên ảo này sẽ đƣợc cấp phát động theo sự thay đổi nhu
cầu của từng khách hàng khác nhau. Nhờ đó nhà cung cấp dịch vụ có thể phục
vụ nhiều khách hàng hơn so với cách cấp phát tài nguyên tĩnh truyền thống.
1.4.2.4. Khả năng co giãn (Rapid elasticity)
Đây là tính chất đặc biệt nhất, nổi bật nhất và quan trọng nhất của
ĐTĐM. Đó là khả năng tự động mở rộng hoặc thu nhỏ hệ thống tùy theo nhu
cầu của NSD. Khi nhu cầu tăng cao, hệ thống sẽ tự mở rộng bằng cách thêm
tài nguyên vào. Ngƣợc lại, khi nhu cầu giảm xuống, hệ thống sẽ tự giảm bớt
tài nguyên.
14
Khả năng co giãn giúp cho nhà cung cấp sử dụng tài nguyên hiệu quả,
tận dụng triệt để tài nguyên dƣ thừa, phục vụ đƣợc nhiều khách hàng. Đối với
khách hàng sử dụng dịch vụ, khả năng co giãn giúp họ giảm chi phí do họ chỉ
phải trả phí cho những tài nguyên thực sự dùng.
1.4.2.5. Điều tiết dịch vụ (Measured service)
Hệ thống ĐTĐM tự động kiểm soát và tối ƣu hóa việc sử dụng tài
nguyên (dung lƣợng lƣu trữ, đơn vị xử lý, băng thông, …). Lƣợng tài nguyên
sử dụng có thể đƣợc theo dõi, kiểm soát và báo cáo một cách minh bạch cho
cả hai phía nhà cung cấp dịch vụ và khách hàng.
1.5. An ninh trong ĐTĐM
Trong môi trƣờng ĐTĐM, vấn đề an ninh cốt lõi là bảo vệ thông tin.
Trong ĐTĐM, thông tin đƣợc lƣu trữ ở nhiều nơi, có thể lƣu ở trung tâm dữ
liệu hoặc ở đâu đó trong “đám mây”. Do đó, chúng ta cần phải bảo vệ ở nhiều
nơi.
Để bảo mật đƣợc dữ liệu và các dịch vụ khi chúng đang đƣợc lƣu trữ hay
đang đƣợc sử dụng trên mạng, điều quan trọng là cần sử dụng những phƣơng
thức bảo mật sau:
- Bảo mật luồng thông tin đi vào trung tâm dữ liệu: Xác nhận và mã hóa
các kết nối tới thiết bị đầu cuối trong mạng tới các thiết bị của doanh nghiệp
trong khi vẫn có thể tăng thêm các thiết bị mới. Đồng thời cần phải ngăn chặn
những cuộc tấn công từ chối dịch vụ và triển khai tƣờng lửa để bảo vệ.
- Bảo mật luồng thông tin lƣu chuyển bên trong trung tâm dữ liệu: Phân
chia mạng thành các khối với các mạng nội bộ ảo, các khu vực, các bộ định
tuyến ảo, và mạng riêng ảo, đồng thời sử dụng tƣờng lửa để bảo vệ các dữ
liệu đƣợc truyền từ ứng dụng tới ứng dụng – giữa các máy chủ, giữa các máy
ảo và giữa các điểm với nhau. Ngoài ra cũng cần triển khai các chính sách bảo
mật theo nhận biết ứng dụng dựa trên định danh.