Một cách tổng quát, điện toán đám mây thuật ngữ tiếng Anh: Cloud computing, hay còn được biết đến với tên gọi “Điện toán máy chủ ảo” là mô hình máy tính dựa trên nền tảng phát triển của
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ DUY HƯNG
DỊCH VỤ BẢN ĐỒ TRONG ĐIỆN TOÁN ĐÁM MÂY VÀ ỨNG DỤNG QUẢN LÝ THÔNG TIN CÁC CỬA KHẨU HẢI
QUAN
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội, 2012
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ DUY HƯNG
DỊCH VỤ BẢN ĐỒ TRONG ĐIỆN TOÁN ĐÁM MÂY VÀ ỨNG DỤNG QUẢN LÝ THÔNG TIN CÁC CỬA KHẨU HẢI
QUAN
Ngành : Công nghệ thông tin
Chuyên ngành : Công nghệ phần mềm
Mã số : 60 48 10
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TIẾN SỸ NGUYỄN NHƯ SƠN
Hà Nội, 2012
Trang 3MỤC LỤC
Trang
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
TÓM TẮT NỘI DUNG LUẬN VĂN 3
MỤC LỤC 4
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 7
DANH MỤC CÁC BẢNG 9
DANH MỤC HÌNH VẼ 10
MỞ ĐẦU 12
Chương 1 CƠ SỞ LÝ THUYẾT, MÔ HÌNH, KIẾN TRÚC ĐIỆN TOÁN ĐÁM MÂY 13
1.1 Khái niệm điện toán đám mây 13
1.2 Mô hình dịch vụ trong điện toán đám mây 15
1.2.1 Dịch vụ hạ tầng (IaaS – Infrastructure as a Service) 16
1.2.2 Dịch vụ nền tảng (PaaS – Platform as a Service) 16
1.2.3 Dịch vụ phần mềm (SaaS – Software as a Servive) 18
1.3 Kiến trúc điên toán đám mây 19
1.4 Các thành phần tham gia điện toán đám mây 20
1.5 Cách thức hoạt động của điện toán đám mây 22
1.6 Các mô hình triển khai điện toán đám mây 23
1.6.1 Đám mây công (Public Cloud) 23
1.6.2 Đám mây dùng riêng (Private Cloud) 24
1.6.3 Đám mây lai (Hybird Cloud) 24
1.7 Ưu, nhược điểm của điện toán đám mây 26
1.7.1 Ưu điểm của điện toán đám mây 26
1.7.2 Nhược điểm của điện toán đám mây 27
1.8 Các tác nhân tham gia điện toán đám mây 28
1.8.1 Nhà cung cấp dịch vụ (Provider) 28
1.8.2 Người dùng (Users) 28
1.8.3 Đại lý cung cấp dịch vụ (Vendor) 28
1.9 Một số nhà cung cấp dịch vụ điện toán đám mây 28
1.9.1 IBM 28
1.9.2 Microsoft 30
Trang 41.9.3 Google 32
1.9.4 Một số nhà cung cấp dịch vụ điện toán đám mây ở Việt Nam 34
1.10 Bảo mật trong điên toán đám mây 34
1.11 Tổng kết chương 35
Chương 2 DỊCH VỤ BẢN ĐỒ TRONG ĐIỆN TOÁN ĐÁM MÂY 37
2.1 Bing Maps [16] 37
2.1.1 Tổng quan về Bing 37
2.1.2 Dịch vụ Bing Maps 39
2.2 Google Maps [9,22] 40
2.2.1 Môi trường phát triển 41
2.2.2 Các thành phần của Google Maps JavaScrip API 41
2.3 Nền tảng công nghệ Microsoft [17] 44
2.3.1 Microsoft Net 45
2.3.2 Net Platform 49
2.3.3 Bing Maps SDK 50
2.3.4 Sử dụng Window Azure thể hiện ứng dụng Bing Maps [18] 52
2.4 Google App Engine 64
2.4.1 Tổng quan 64
2.4.2 Môi trường phát triển 65
2.4.3 Mô hình kiến trúc và các dịch vụ của App Engine 65
2.4.4 Xây dựng và triển khai ứng dụng trên GAE 67
2.5 So sánh Google Maps và Bing Maps 68
2.5.1 Dịch vụ bản đồ 68
2.5.2 Xây dựng ứng dụng bản đồ 68
2.6 Tổng kết chương 68
Chương 3 XÂY DỰNG HỆ THỐNG QUẢN LÝ THÔNG TIN CÁC CỬA KHẨU HẢI QUAN 70
3.1 Tổng quan hệ thống tra cứu thông tin các cửa khẩu hải quan 70
3.1.1 Sự cần thiết phải xây dựng hệ thống 70
3.1.2 Khảo sát thực tế hệ thống 70
3.2 Phân tích thiết kế hệ thống 70
3.2.1 Mô hình tổng thể hệ thống 70
3.2.2 Các ca sử dụng chi tiết của hệ thống 71
3.2.3 Mô tả các ca sử dụng chi tiết 72
3.3 Phát triển mã nguồn của ứng dụng 80
3.3.1 Môi trường xây dựng ứng dụng 80
Trang 53.3.2 Code chương trình 81
3.4 Kết quả của xây dựng ứng dụng demo 83
3.5 Tổng kết chương 86
KẾT LUẬN 87
TÀI LIỆU THAM KHẢO 88
Trang 6DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
STT Tên viết
2 GMaps Google Maps Dịch vụ bản đồ số của Google
4 GAE Google App Engine Dịch vụ máy chủ ứng dụng của Google, là nơi
chứa ứng dụng sau khi xây dựng
5 PaaS Platform as a Service Nền tảng như dịch vụ
6 IaaS Infrastructure as a
Service Hạ tầng như dịch vụ
7 SaaS Software as a Service Phần mềm như dịch vụ
8 CSDL Data base Cơ sở dữ liệu
9 API
Application Programming Interface
Giao diện lập trình ứng dụng
10 VM Virtual Machine Máy ảo
11 REST Representation State
Transfer
Yêu cầu dịch vụ web mà máy khách truyền đi trạng thái của tất cả giao dịch
12 HTML Hyper Text Markup
Language Ngôn ngữ liên kết siêu văn bản
13 XML Extensible Markup
Language Ngôn ngữ đánh dấu mở rộng
14 IIS Internet Information
Service Dịch vụ cung cấp thông tin Internet
15 SOAP Simple Object Access
Protocol
Giao thức truyền tải dữ liệu, dữ liệu truyền ở đây là XML
16 URL Uniform Resource
Locator Địa chỉ hiện hành của web
17 TMĐT E-commerce Thương mại điện tử
18 CLR Common Language
Runtime Thực thi ngôn ngữ chung
19 HTTP HyperText Transfer
Protocol Giao thức truyền tải siêu văn bản
20 HTTPS HyperText Transfer Giao thức truyền tải siêu văn bản bảo mật
Trang 7Protocol Secure
21 ACS Microsoft Access
Control Servive Dịch vụ điều khiển truy cập của Microsoft
22 WCF
Windows Communication Foundation
Công nghệ nền tảng nhằm thống nhất nhiều
mô hình lập trình giao tiếp đƣợc hỗ trợ trong NET 2.0 thành một mô hình duy nhất
Trang 8DANH MỤC CÁC BẢNG
Bảng 2.1 Các dịch vụ tìm kiếm của Bing 38Bảng 2.2 Bảng ánh xạ các thành phần lƣợc đồ CSDL quan hệ với DataStore 66
Trang 9DANH MỤC HÌNH VẼ
Hình 1.1 Mô phỏng các thời kỳ phát triển của điện toán [11] 13
Hình 1.2 Sơ đồ mô hình chung điện toán đám mây [1] 15
Hình 1.3 Các loại dịch vụ Cloud computing 15
Hình 1.4 Mô hình lớp dịch vụ SPI [11] 16
Hình 1.5 Mô hình PaaS [11] 17
Hình 1.6 Kiến trúc SaaS [11] 18
Hình 1.7 Mô hình kiến trúc của điện toán đám mây [3] 20
Hình 1.8 Sơ đồ các thành phần tham gia điện toán đám mây [2] 21
Hình 1.9 Hạ tầng thiết bị chứa ở lớp Back-end, và giao diện người dùng của các ứng dụng chứa ở lớp Front-end [11] 22
Hình 1.10 Mô hình Public Cloud [11] 23
Hình 1.11 Mô hình Private Cloud [11] 24
Hình 1.12 Kết hợp Public Cloud và Private Cloud 25
Hình 1.13 Mô hình Hybird Cloud [11] 25
Hình 1.14 Triển khai ứng dụng trên Hybird Cloud [11] 25
Hình 1.15 Minh họa dữ liệu chứa trên các “đám mây” sẽ phải giao phó toàn bộ “số phận” cho “đám mây” 27
Hình 1.16 Mô hình cơ sở hạ tầng điện toán đám mây của IBM 29
Hình 1.17 Nền tảng điện toán đám mây của Microsoft 30
Hình 1.18 Mô hình Windows Azure chạy trên dữ liệu trung tâm Microsoft 30
Hình 1.19 Nền tảng dịch vụ Azure 31
Hình 1.20 Fabric Controller 32
Hình 2.1 Trang chủ Bing 37
Hình 2.2 Giao diện chính của Bing Maps 39
Hình 2.3 Giao diện chính của Google Maps 41
Hình 2.4 Đăng ký một sự kiện trong GAE 42
Hình 2.5 Màn hình đăng nhập/Tạo mới account khi sử dụng Bing 51
Hình 2.6 Màn hình đăng nhập thành công https://www.bingmapsportal.com/Account 51
Hình 2.7 Thông tin về đường dẫn của ứng dụng đã được tạo trên Bing Maps 52
Hình 2.8 Các dịch vụ lưu trữ và tính toán dựa trên Windows cho các ứng dụng đám mây của Windows Azure [6] 53
Hình 2.9 Ứng dụng Windows Azure có thể bao gồm các thể hiện web role 55
Hình 2.10 Mô hình lưu trữ dữ liệu trong các blob, table và queue, sử dụng RESTful để truy cập của Windows Azure [7] 57
Hình 2.11 Mô hình định danh ACS [5] 59
Hình 2.12 Ứng dụng dựa trên trình duyệt [5] 61
Hình 2.13 Không gian tên miền trong ACS [5] 62
Trang 10Hình 2.14 Tệp cấu hình ACM[5] 62
Hình 2.15 Tạo một tài nguyên Issuer sử dụng ACM.EXE [5] 62
Hình 2.16 Tạo tài nguyên Token Policy [5] 63
Hình 2.17 Tạo một Scope [5] 63
Hình 2.18 Tạo một luật [5] 64
Hình 2.19 Mô hình kiến trúc GAE 65
Hình 2.20 Ánh xạ thư viện chuẩn Java vào các dịch vụ GAE 66
Hình 2.21 Eclipse và chức năng deploy App trong GAE 67
Hình 3.1 Mô hình thiết kế ứng dụng 71
Hình 3.2 Use case hệ thống 71
Hình 3.3 Ca sử dụng chức năng quản lý thông tin CKHQ 72
Hình 3.4 Ca sử dụng chức năng tìm kiếm thông tin CKHQ 72
Hình 3.5 Biểu đồ tuần tự hệ thống chức năng thêm mới thông tin CKHQ 73
Hình 3.6 Biểu đồ lớp thực thi ca sử dụng chức năng thêm mới thông tin CKHQ 74
Hình 3.7 Biểu đồ tuần tự hệ thống chức năng sửa thông tin CKHQ 75
Hình 3.8 Biểu đồ lớp thực thi ca sử dụng chức năng sửa thông tin CKHQ 75
Hình 3.9 Biểu đồ tuần tự hệ thống chức năng xóa thông tin CKHQ 76
Hình 3.10 Biểu đồ lớp thực thi ca sử dụng chức năng xóa thông tin CKHQ 77
Hình 3.11 Biểu đồ tuần tự hệ thống chức năng tìm kiếm thông tin CKHQ 78
Hình 3.12 Biểu đồ lớp thực thi ca sử dụng chức năng tìm kiếm thông tin CKHQ 78
Hình 3.13 Biểu đồ tuần tự hệ thống chức năng tìm đường 79
Hình 3.14 Biểu đồ lớp thực thi ca sử dụng chức năng tìm đường 80
Hình 3.15 Kết quả sau khi đưa ứng dụng lên GAE 80
Hình 3.16 Chi tiết ứng dụng được quản lý trên GAE 81
Hình 3.17 Các thành phần trong code 81
Hình 3.18 Lớp trong ứng dụng 82
Hình 3.19 Lớp DAO 82
Hình 3.20 Xử lý các chức năng trong hệ thống 83
Hình 3.21 Màn hình giao diện chính của hệ thống 83
Hình 3.22 Màn hình danh sách thông tin CKHQ 84
Hình 3.23 Màn hình thêm mới thông tin CKHQ 84
Hình 3.24 Màn hình chức năng cập nhật thông tin CKHQ 84
Hình 3.25 Màn hình chức năng tìm kiếm thông tin CKHQ 85
Hình 3.26 Kết quả tìm kiếm đường đi đến CKHQ 85
Trang 11MỞ ĐẦU
Sự ra đời của phần mềm gắn liền với sự ra đời của máy tính Phần mềm hỗ trợ con người trong các công việc, làm tăng năng suất lao động và tạo đà thúc đẩy nhiều lĩnh vực khác cùng phát triển Ở giai đoạn ban đầu, mỗi người dùng sử dụng phần mềm như một cá thể độc lập Tuy nhiên càng về sau khi nhu cầu thay đổi, đi đôi với sự phát triển của công nghệ, xu hướng này nhanh chóng bị thay đổi Con người có nhu cầu hợp tác trong công việc, chia sẻ tài nguyên dữ liệu để tăng hiệu quả công việc Công nghệ phát triển góp phần vào việc xây dựng những hệ thống cho phép con người thỏa mãn được nhu cầu này Bên cạnh đó, những yêu cầu nghiệp vụ càng phức tạp cùng với những hoạt động nghiệp vụ với hiệu suất cao, dữ liệu lớn đòi hỏi những hệ thống lớn cả về phần mềm và phần cứng Để thỏa mãn nhu cầu tất yếu này, ban đầu người ta thường phải đầu tư những hệ thống tốn kém Làm thế nào để giảm đi những chi phí không cần thiết mà vẫn thỏa mãn được nhu cầu sử dụng là bài toán luôn đặt ra Điện toán đám mây xuất hiện đã giải quyết được bài toán trên Với những gì mà điện toán đám mây hứa hẹn sẽ mang lại, có thể nói rằng một cuộc cách mạng lớn trong lĩnh vực công nghệ thông tin đã ra đời Người dùng sẽ không cần phải đầu tư những hệ thống lớn để đáp ứng nhu cầu, không cần phải cài đặt trực tiếp những ứng dụng nặng
nề trên máy, hay lưu trữ lượng dữ liệu khổng lồ với việc quản trị phức tạp Việc tính toán, lưu trữ, quản trị được đẩy hoàn toàn về phía nhà cung cấp
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: Cơ sở lý thuyết, mô hình, kiến trúc điện toán đám mây, trình bày
một số khái niệm, thành phần, kiến trúc, các ưu, nhược điểm và các nhà cung cấp điện toán đám mây
Chương 2: Dịch vụ bản đồ trong điện toán đám mây, tìm hiểu các dịch vụ bản
đồ hiện có, đó là Bing Maps và Google Maps Trên cơ sở đó đưa ra so sánh giữa các dịch vụ bản đồ hiện có, từ đó sẽ đưa ra lựa chọn dịch vụ và công nghệ sử dụng để xây
dựng ứng dụng “Quản lý thông tin các cửa khẩu hải quan”
Chương 3: Xây dựng hệ thống quản lý thông tin các cửa khẩu hải quan, trên
cơ sở các kiến thức đã được tìm hiểu, chương này sẽ trình bày các bước xây dựng ứng
“Quản lý thông tin các cửa khẩu hải quan”, sử dụng dịch vụ bản đồ Google và công
nghệ java kết hợp với javascript, trên nền Eclipse
Trang 12Chương 1
CƠ SỞ LÝ THUYẾT, MÔ HÌNH, KIẾN TRÚC ĐIỆN TOÁN ĐÁM MÂY
Chương này sẽ tìm hiểu về mô hình điện toán đám mây, các loại điện toán đám mây, kiến trúc tổng thể của điện toán đám mây, các thành phần tham gia và ưu nhược điểm của điện toán đám mây Trên cơ sở đó đưa ra so sánh giữa mô hình điện toán đám mây với các mô hình khác Đồng thời chương này cũng tìm hiểu các mô hình điện toán đám mây đang có
1.1 Khái niệm điện toán đám mây
Mô hình điện toán tiến hóa qua các thời kỳ lịch sử khác nhau cùng với sự phát triển của máy tính và hạ tầng mạng truyền thông Từ thế hệ máy tính thứ nhất đến thế
hệ máy tính thứ ba, máy tính vẫn là các máy cồng kềnh, đắt đỏ Cùng với đó là sự phức tạp của các chương trình ứng dụng, sự đầu tư lớn trong phát triển và vận hành ứng dụng, sử dụng hệ thống khắt khe
Thế hệ thứ tư của máy tính xuất hiện những năm 70 đến nay với sự xuất hiện của vi xử lý, cùng với sự ra đời của các ngôn ngữ lập trình thân thiện, phù hợp hơn cho từng lĩnh vực ứng dụng đặc thù đã tạo ra một cuộc cách mạng trong lĩnh vực công nghệ Với việc cho ra đời máy tính cá nhân đầu những năm 80 của IBM và Apple, điện toán đã được tiếp cận rộng rãi và trở nên phổ thông Bước sang những năm 80, nhất là những năm 90 của thế kỉ XX, công nghệ và hạ tầng mạng truyền thông đã có những bước phát triển vượt bậc, với sự ra đời của mạng Internet kết nối toàn cầu và sự bùng
nổ của ứng dụng Web
Hình 0.1 Mô phỏng các thời kỳ phát triển của điện toán [11]
Ngày nay, những năm đầu thế kỷ XXI, hạ tầng máy tính, viễn thông đã hội tụ trên nền tảng công nghệ số Công nghệ kết nối có dây, không dây qua cáp đồng, cáp quang, vệ tinh, wifi, mạng 3G, 4G,… cho phép kết nối mạng toàn cầu, vươn tới tất cả các nơi trên thế giới Hạ tầng cơ sở kỹ thuật công nghệ phát triển dẫn đến các thiết bị tính toán cũng hết sức đa dạng, từ các siêu máy tính, máy chủ lớn, tới các máy tính cá
Trang 13nhân, máy tính xách tay, các thiết bị di động thông minh hay các điện thoại di động giá
rẻ đều có thể kết nối với nhau
Khi thế giới điện toán đã kết nối với nhau thì làm thế nào để khai thác được tối
đa năng lực điện toán đó với chi phí thấp nhất và thời gian nhanh nhất? Các nhu cầu đặt ra khi điện toán được sử dụng là vô cùng to lớn và điện toán đám mây (Cloud computing) được kỳ vọng sẽ đáp ứng được các tất cả các yêu cầu trong thực tế của con người Điện toán đám mây sẽ đem sản phẩm và dịch vụ công nghệ thông tin chất lượng cao đến mọi đối tượng theo nhu cầu, với thời gian nhanh và chi phí rẻ hơn
Điện toán đám mây (Cloud computing) có lẽ là thuật ngữ thời sự nhất trong giới công nghệ thông tin trên thế giới hiện nay và được Gartner xếp đầu bảng trong các công nghệ chiến lược từ năm 2010 Dẫu vậy, điện toán đám mây vẫn còn là một mô hình đang tiến tới hoàn chỉnh, các hãng công nghệ cũng như các tổ chức tiêu chuẩn trên thế giới đang đưa ra các định nghĩa và cách nhìn của riêng mình
Một cách tổng quát, điện toán đám mây (thuật ngữ tiếng Anh: Cloud
computing, hay còn được biết đến với tên gọi “Điện toán máy chủ ảo”) là mô hình máy tính dựa trên nền tảng phát triển của 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 cũng như các thiết bị khác theo yêu cầu qua Internet [10] Điện toán đám mây là sự nâng cấp từ mô hình máy chủ
mainframe sang mô hình client-server Cụ thể, người dùng sẽ không cần phải có các kiến thức về chuyên sâu để điều khiển các công nghệ, máy móc và cơ sở hạ tầng, mà các chuyên gia trong “đám mây” của các hãng cung cấp sẽ giúp thực hiện điều đó Thuật ngữ “đám mây” ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách bố trí của
nó trong sơ đồ mạng máy tính) và như là 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 đám mâ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ệ đó
Ví dụ đơn giản, nếu một website được chứa trên một máy chủ, người dùng phải lựa chọn hệ điều hành để cài đặt (Linux/Windows/Mac), tiến hành các thiết lập để máy chủ và website có thể hoạt động Tuy nhiên, nếu trang web được chứa trên “đám mây”, người dùng sẽ không cần phải thực hiện thêm bất cứ điều gì khác Điều này cũng đảm bảo yếu tố đầu tư về phần cứng được giảm tải ở mức tối đa Tài nguyên, dữ liệu, phần mềm và các thông tin liên quan đều được chứa trên các server (chính là các
“đám mây”) Nói một cách đơn giản nhất “ứng dụng điện toán đám mây” chính là những ứng dụng trực tuyến trên Internet Trình duyệt là nơi ứng dụng hiện hữu và vận hành còn dữ liệu được lưu trữ và xử lý ở máy chủ của nhà cung cấp ứng dụng đó
Trang 14Hình 0.2 Sơ đồ mô hình chung điện toán đám mây [1]
1.2 Mô hình dịch vụ trong điện toán đám mây
Hình 0.3 Các loại dịch vụ Cloud computing
Dịch vụ Cloud computing rất đa dạng và bao gồm tất cả các lớp dịch vụ điện toán từ cung cấp năng lực tính toán trên dưới máy chủ hiệu suất cao hay các máy chủ
ảo, không gian lưu trữ dữ liệu, hay một hệ điều hành, một công cụ lập trình, hay một ứng dụng kế toán… Các dịch vụ cũng được phân loại khá đa dạng nhưng các mô hình dịch vụ Cloud computing phổ biến nhất có thể được phân thành ba nhóm: Dịch vụ hạ tầng (IaaS – Infrastructure as a Service), dịch vụ nền tảng (Paas – Platform as a Service), dịch vụ phần mềm (SaaS - Software as a Service) Cách phân loại này thường được gọi là “mô hình SPI”
Mô hình các lớp dịch vụ SPI được thể hiện như sau:
Trang 15Hình 0.4 Mô hình lớp dịch vụ SPI [11]
1.2.1 Dịch vụ hạ tầng (IaaS – Infrastructure as a Service)
Dịch vụ IaaS cung cấp dịch vụ cơ bản bao gồm năng lực tính toán, không gian lưu trữ, kết nối mạng tới khách hàng Khách hàng (cá nhân hoặc tổ chức) có thể sử dụng tài nguyên hạ tầng này nhằm đáp ứng nhu cầu tính toán hoặc cài đặt ứng dụng riêng cho người sử dụng Với dịch vụ này khách hàng làm chủ hệ điều hành, lưu trữ và các ứng dụng do khách hàng cài đặt, còn nhà cung cấp dịch vụ sẽ quản lý cơ sở hạ tầng bên dưới Khách hàng điển hình của dịch vụ IaaS có thể là mọi đối tượng cần tới một máy tính tự cài đặt ứng dụng của mình
Ví dụ điển hình về dịch vụ này là dịch vụ EC2 của Amazon Trên dịch vụ này, khách hàng có thể đăng ký sử dụng một máy tính ảo và lựa chọn một hệ điều hành (Windows, Linux …) và tự cài đặt ứng dụng của mình trên đó
1.2.2 Dịch vụ nền tảng (PaaS – Platform as a Service)
Dịch vụ PaaS cung cấp nền tảng điện toán cho phép khách hàng phát triển các phần mềm, phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nền tảng Cloud đó Dịch vụ PaaS có thể được cung cấp dưới dạng các ứng dụng giữa các lớp (middleware), các ứng dụng chủ (application server) cùng các công cụ lập trình với ngôn ngữ lập trình nhất định để xây dựng ứng dụng Dịch vụ PaaS cũng có thể được xây dựng riêng và cung cấp cho khách hàng thông qua một API riêng Khách hàng xây dựng ứng dụng và tương tác với hạ tầng Cloud computing thông qua các API đó Ở mức PaaS, khách hàng không phải quản lý hoặc kiểm soát 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 nhưng quản lý các ứng dụng mình cài đặt hoặc phát triển Khách hàng điển hình của dịch vụ PaaS chính là các nhà phát triển ứng dụng (ISV)
Trang 16Hình 0.5 Mô hình PaaS [11]
Ví dụ điển hình trong thực tế là dịch vụ App Engine của Google Dịch vụ App Engine là một dịch vụ PaaS, cho phép khách hàng xây dựng các ứng dụng Web với môi trường chạy ứng dụng và phát triển trên ngôn ngữ lập trình Java hoặc Python Hoặc một ví dụ khác là dịch vụ Bing Maps của Microsoft Đây là một dịch vụ PaaS,
nó cũng cho phép khách hàng xây dựng các ứng dụng Web với môi trường chạy ứng dụng và phát triển trên ngôn ngữ NET của Microsoft
Ưu điểm của PaaS:
Dịch vụ nền tảng PaaS đang ở thời kỳ đầu và đang được ưa chuộng vì nó cung cấp dịch vụ phần mềm có tích hợp các yếu tố về nền tảng hệ thống
Tiện lợi trong những dự án tập hợp các công việc nhóm có sự phân tán về địa lý
Có khả năng tích hợp nhiều nguồn của dịch vụ Web
Giảm chi phí ngoài lề khi tích hợp các dịch vụ về bảo mật, khả năng mở rộng và kiểm soát lỗi
Giảm chi phí khi trừu tượng hóa công việc lập trình ở mức cao để tạo dịch
vụ, giao diện người dùng và các yếu tố ứng dụng khác
Hướng việc sử dụng công nghệ để đạt được mục đích tạo điều kiện dễ dàng hơn cho việc phát triển ứng dụng đa người dùng cho những người không chỉ trong nhóm lập trình mà còn có thể kết hợp nhiều nhóm làm việc với nhau
Nhược điểm của PaaS:
Ràng buộc bởi nhà cung cấp: Do giới hạn phụ thuộc vào dịch vụ của nhà cung cấp
Giới hạn phát triển: Độ phức tạp khiến nó không phù hợp với yêu cầu phát triển nhanh vì những tính năng phức tạp chạy trên nền tảng Web
Trang 171.2.3 Dịch vụ phần mềm (SaaS – Software as a Servive)
Dịch vụ SaaS cung cấp các ứng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiều khách hàng với chỉ một phiên bản cài đặt Khách hàng lựa chọn ứng dụng phù hợp với nhu cầu và sử dụng và chạy ứng dụng trên cơ sở hạ tầng Cloud mà không quan tâm tới hay bỏ công sức quản lý tài nguyên tính toán bên dưới Mô hình này giải phóng con người khỏi việc quản lý hệ thống, cơ sở hạ tầng, hệ điều hành,… tất cả sẽ
do nhà cung cấp dịch vụ quản lý và kiểm soát để đảm bảo ứng dụng luôn sẵn sàng và hoạt động ổn định
SaaS là tầng đầu tiên trong mô hình Cloud computing, là mô hình triển khai phần mềm từ một hệ tập trung sang chạy trên máy tính cục bộ
Hình 0.6 Kiến trúc SaaS [11]
Chi tiết các tầng trong kiến trúc SaaS như sau:
Cấp 1 (Custom): Là nơi khách hàng làm chủ phiên bản riêng của ứng dụng
Cấp 2 (Configurable): Cung cấp sự linh hoạt cấu hình thông qua metadata Vì vậy nhiều khách hàng có thể sử dụng mã của cùng một ứng dụng Điều này cho phép các nhà cung cấp đáp ứng các nhu cầu khác nhau của mỗi khách hàng thông qua các tùy chọn cấu hình chi tiết, trong khi đơn giản hóa bảo trì và cập nhật của một cơ sở hạ tầng
Cấp 3 (Configurable, Multi-Tenant-Efficient): Cung cấp một chương trình duy nhất để phục vụ cho nhiều khách hàng cùng một lúc
Cấp 4 (Scalable, configurable, Multi-Tenant-Efficient): Cung cấp hiệu quả một kiến trúc đa tầng để cho phép khả năng mở rộng giữa các máy chủ Các nhà cung cấp có thể tăng hoặc giảm công suất của hệ thống để phù hợp với nhu cầu bằng cách thêm hoặc loại bỏ các máy chủ mà không cần bất kỳ sự thay đổi nào của các ứng dụng phần mềm kiến trúc
Dịch vụ SaaS nổi tiếng và điển hình nhất của mô hình này phải kể đến
Trang 18Salesforce.com với các ứng dụng cho doanh nghiệp mà nổi bật nhất là CRM Các ứng dụng SaaS sử dụng cho người dùng cuối phổ biến là các ứng dụng Office Online của Microsoft hay Google Docs của Google
Ưu điểm của SaaS:
Tiết kiệm tiền do không phải mua máy chủ hoặc cá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
Tập trung ngân sách vào lợi thế cạnh tranh hơn là cơ sở hạ tầng
Khách hàng của các ứng dụng SaaS không cần quan tâm về việc cập nhật bản vá lỗi hay nâng cấp phần mềm vì điều này được thực hiện bởi các nhà cung cấp dịch vụ
Cho phép nhiều người dùng cùng lúc
Tính linh hoạt và khả năng mở rộng cao
Dễ sử dụng
Đối với nhà cung cấp họ chỉ phải duy trì một ứng dụng chung cho nhiều đơn
vị nên chi phí rẻ hơn so với kiểu hosting truyền thống
Cách tiếp cận trước đây của SaaS là ASP (Application Service Provider) Các ASP cung cấp các thuê bao đối với các phần mềm lưu trữ và phân phối trên mạng ASP tính phí theo thời gian sử dụng nên người sử dụng chỉ phải thuê phần mềm khi cần mà không cần phải mua
Nhược điểm của SaaS:
Người dùng sẽ bị phụ thuộc vào công nghệ mà nhà cung cấp đưa ra, họ sẽ giảm sự linh hoạt và sáng tạo Người sử dụ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à quản trị 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
đó có những công ty lớn có khối lượng dữ liệu 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à phân bố
hệ thống ở nhiều nơi
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 cũng tăng dần theo khối lượng dữ liệu của khách hàng
Với các ứng dụng triển khai trên Web, 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 người dùng và không phải công ty hay doanh nghiệp nào cũng có thể sử dụng SaaS
1.3 Kiến trúc điên toán đám mây
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ì nơi nào trên thế giới, trong đó
Trang 19“đám mây” là nơi truy cập duy nhất cho tất cả các máy tính trong mạng khi các máy tính đó có nhu cầu 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ụ (Service level agreement) 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 lớn để giúp điện toán đám mây phát triển
Hình 0.7 Mô hình kiến trúc của điện toán đám mây [3]
Tất cả các tài nguyên dùng để tính toán (phần cứng, phần mềm) được tổ chức thành các dịch vụ (Service catalog) Các dịch vụ này được đưa 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 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 phần quản lý hệ thống (Systems Management) và được theo dõi bởi hệ thống giám sát (Monitoring & Metering)
Theo kiến trúc của điện toá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 toán lưới
1.4 Các thành phần tham gia đ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 công nghệ thông tin đã tập hợ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 để giành lợi thế khi cạnh tranh Tuy nhiên, phần lớn các cách tiếp cận đó đều cho những kết quả:
Những vùng lớn không sử dụng được hết khả năng tính toán
Trong nhiều trường hợp cần sử dụng các máy chủ tính toán đủ mạnh để tính toán thì lại phải sử dụng các máy tính không đủ mạng theo yêu cầu, trong khi vẫn có máy chủ chưa tận dụng được hết hiệu suất
Chi phí cho các ứng dụng giải quyết bài toán đặt ra trong thực tế là rất cao, tốn kém (toàn bộ chi phí là do người sử dụng chi trả)
Với điện toán đám mây, những khả năng tính toá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ể
Trang 20Trước những khó khăn trên, điện toán đám mây đã được phát triển để khắc phục những nhược điểm trên Điện toán đám mây gồm các thành phần cơ bản theo như mô hình dưới đây
Hình 0.8 Sơ đồ các thành phần tham gia điện toán đám mây [2]
Các thành phần trong điện toán đám mây có chức năng cụ thể như sau:
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 yêu cầu Dịch vụ kiểu này giúp cho việc giảm chi phí bảo hành, bảo trì, 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: Cung cấp nền tảng cho điện toán và các giải pháp của dịch vụ, chi
phối đến cấu trúc hạ tầng của “đám mây” Đồng thời Platform cũng là điểm tựa cho lớp ứng dụng, cho phép các ứng dụng hoạt động trên nền tảng đó Nó làm giảm sự tốn kém khi triển khai các ứng dụng do người dùng không phải trang bị
cơ sở hạ tầng (phần mềm, phần cứng) cho riêng mình Ví dụ như Web application frameworks, Web hosting, …
Application: Lớp ứng dụng của điện toán đám mây làm nhiệm vụ phân phối
phần mềm như một dịch vụ thông qua mạng Internet Qua đó khách hàng có thể truy cập và sử dụng các ứng dụng, dịch vụ mà không cần phải cài đặt trên máy của mình, các ứng dụng dễ dàng được chỉnh sửa và người sử dụng dễ dàng nhận được sự hỗ trợ Các đặc trưng của lớp ứng dụng bao gồm:
Các hoạt động được quản lý tại trung tâm của đám mây chứ không phải nằm
ở phía khách hàng (lớp Client), cho phép khách hàng truy cập các ứng dụng
từ xa thông qua Website
Trang 21 Người dùng không còn cần thực hiện các tính năng như cập nhật phiên bản,
vá lỗi, dowload phiên bản mới mà tất cả sẽ được làm tự động từ các “đám mây”
Service: Dịch vụ đám mây là một phần độc lập của phầm 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 khác nhau để thực hiện chương trình ứng dụng theo như yêu cầu Ví dụ các dịch vụ hiện nay như Google Maps, các dịch vụ thanh toán linh hoạt trên Amazon, …
Clients: Khách hàng đám mây bao gồm các phần cứng, phần mềm để dựa vào
đó khách hàng có thể truy cập và sử dụng các ứng dụng hoặc dịch vụ được cung cấp từ đám mây Ví dụ như máy tính và đường dây kết nối Internet (thiết bị phần cứng) và các trình duyệt Web (sản phẩm phần mềm)
1.5 Cách thức hoạt động của điện toán đám mây
Để hiểu cách thức hoạt động của “đám mây”, hãy tưởng tượng “đám mây” gồm
2 lớp: Lớp Back-end và lớp Front-end
Lớp Front-end: Đây là lớp người dùng, cho phép người dùng sử dụng và thực hiện thông qua giao diện người dùng Khi người dùng truy cập các dịch vụ trực tuyến, họ sẽ phải sử dụng giao diện từ lớp Front-end, và các phần mềm sẽ được chạy trên lớp Back-end nằm ở “đám mây”
Lớp Back-end: Bao gồm các cấu trúc phần cứng và phần mềm để cung cấp giao diện cho lớp Front-end và được người dùng tác động thông qua giao diện đó
Hình 0.9 Hạ tầng thiết bị chứa ở lớp Back-end, và giao diện người dùng của các ứng
dụng chứa ở lớp Front-end [11]
Trang 22Bởi vì các máy tính trên “đám mây” được thiết lập cơ chế để hoạt động cùng nhau, do vậy các ứng dụng có thể sử dụng toàn bộ sức mạnh của các máy tính để có thể đạt được hiệu suất cao nhất Điện toán đám mây cũng đáp ứng đầy đủ các tính linh hoạt cho người dùng Tùy thuộc vào nhu cầu, người dùng có thể tăng thêm tài nguyên
mà các đám mây cần sử dụng để đáp ứng mà không cần phải nâng cấp thêm tài nguyên phần cứng như sử dụng máy tính cá nhân Ngoài ra, với điện toán đám mây vấn đề hạn chế của hệ điều hành khi sử dụng các ứng dụng không còn bị ràng buộc như cách sử dụng máy tính thông thường
1.6 Các mô hình triển khai điện toán đám mây
Từ “đám mây” (cloud) xuất phát từ hình ảnh minh họa trên Internet đã được sử dụng rộng rãi trong các hệ thống mạng máy tính của giới công nghệ thông tin Nói một cách khác, điện toán đám mây là mô hình điện toán Internet Tuy nhiên khi mô hình Cloud computing dần định hình thì các ưu điểm của nó đã dần được vận dụng để áp dụng trong các môi trường có quy mô và phạm vi riêng, dẫn đến sự hình thành các mô hình khác nhau
1.6.1 Đám mây công (Public Cloud)
Các dịch vụ Cloud được nhà cung cấp dịch vụ cung cấp cho mọi người sử dụng rộng rãi thông qua hạ tầng Internet hoặc các mạng công cộng diện rộng Các dịch vụ được cung cấp 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 “đám mây” Các ứng dụng khác nhau chia sẻ chung tài nguyên tính toán, mạng và lưu trữ Do vậy, hạ tầng điện toán đám mây được thiết kế để đảm bảo cô lập
về dữ liệu giữa các khách hàng và tách biệt về truy cập
Hình 0.10 Mô hình Public Cloud [11]
Các dịch vụ Public Cloud hướng tới số lượng khách hàng lớn nên thường có năng lực về hạ tầng cao, đáp ứng nhu cầu linh họat, đem lại chi phí thấp cho khách hàng 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
Trang 23nhà cung cấp dịch vụ đã gánh trách nhiệm 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 (mở rộng hoặc thu nhỏ) tùy theo yêu cầu của người sử dụng Tuy nhiên, Public Cloud có một trở ngại là tính bảo mật và an toàn dữ liệu Trong mô hình này, mọi dữ liệu đều nằm trên dịch vụ Cloud, do nhà cung cấp dịch vụ quản lý Chính điều này làm cho các công ty lớn cảm thấy không an toàn đối với dữ liệu của mình khi sử dụng dịch vụ Cloud
1.6.2 Đám mây dùng riêng (Private Cloud)
Đám mây dùng riêng (Private Cloud) là mô hình trong đó hạ tầng đám mây được sở hữu bởi một tổ chức hay doanh nghiệp và phục vụ cho người dùng của tổ chức hoặc doanh nghiệp đó Private Cloud có thể được vận hành bởi một bên thứ ba và
hạ tầng đám mây có thể được đặt bên trong hoặc bên ngoài tổ chức sở hữu (tại bên thứ
ba vận hành hoặc thậm chí có thể là bên thứ tư)
Hình 0.11 Mô hình Private Cloud [11]
Private Cloud được các tổ chức, doanh nghiệp lớn xây dựng cho mình nhằm khai thác ưu điểm về công nghệ và khả năng quản trị của Cloud Computing Với Private Cloud thì các doanh nghiệp tối ưu được hạ tầng của mình, nâng cao hiệu quả
sử dụng, quản lý trong cấp phát và thu hồi tài nguyên, qua đó giảm thời gian đưa sản phẩm sản xuất kinh doanh ra thị trường
1.6.3 Đám mây lai (Hybird Cloud)
Như đã phân tích ở trên, Pulic Cloud dễ dàng áp dụng, chi phí thấp nhưng không an toàn Ngược lại, Private Cloud an toàn hơn nhưng tốn chi phí và khó áp dụng Do đó nếu kết hợp được hai mô hình này với nhau thì sẽ khai thác được ưu điểm của từng mô hình Đó chính là ý tưởng hình thành mô hình “đám mây lai” (Hybird Cloud)
Trang 24Hình 0.12 Kết hợp Public Cloud và Private Cloud
Hybird Cloud là sự kết hợp của Public Cloud và Private Cloud, trong đó doanh nghiệp sẽ “out source” các chức năng nghiệp vụ và dữ liệu không quan trọng, sử dụng các dịch vụ Public Cloud để giải quyết và xử lý các dữ liệu này Đồng thời doanh nghiệp sẽ giữ lại các chức năng và nghiệp vụ tương đối quan trọng trong tầm kiểm soát sử dụng Private Cloud
Hình 0.13 Mô hình Hybird Cloud [11]
Một khó khăn khi áp dụng mô hình Hybird Cloud là làm sao triển khai cùng một ứng dụng trên cả hai phía Public Cloud và Private Cloud sao cho ứng dụng đó có thể kết nối, trao đổi dữ liệu để hoạt động một cách hiệu quả
Hình 0.14 Triển khai ứng dụng trên Hybird Cloud [11]
Trang 25Mỗi mô hình điện toán đám mây đều có ưu và nhược điểm riêng nên tùy theo mục đích và nhu cầu sử dụng mà người sử dụng chọn mô hình sử dụng sao cho phù hợp với mục đích sử dụng của mình Người dùng có thể dùng nhiều mô hình khác nhau để giải quyết một vấn đề Những yêu cầu về một ứng dụng tạm thời có thể triển khai trên Public Cloud vì nó giúp tránh phải mua thêm các thiết bị để giải quyết nhu cầu tạm thời, trong khi những nhu cầu về một ứng dụng thường trú hoặc một ứng dụng
có 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 sử dụng Private Cloud hoặc Hybird Cloud
1.7 Ưu, nhược điểm của điện toán đám mây
Cũng như các mô hình đã khác, Cloud computing cũng có những ưu điểm và nhược điểm riêng của nó
1.7.1 Ưu điểm của điện toán đám mây
Những ưu điểm và thế mạnh dưới đây đã góp phần giúp điện toán đám mây trở thành mô hình điện toán được áp dụng rộng rãi trên toàn thế giới:
Tốc độ xử lý nhanh, cung cấp cho người dùng những dịch vụ nhanh chóng và giá thành rẻ dựa trên nền tảng cơ sở hạ tầng tập trung (đám mây)
Chi phí đầu tư ban đầu về cơ sở hạ tầng, máy móc và nguồn nhân lực của người
sử dụng điện toán đám mây được giảm đến mức thấp nhất
Không còn phụ thuộc vào thiết bị và vị trí địa lý, cho phép người dùng truy cập
và sử dụng hệ thống thông qua trình duyệt Web ở bất kì đâu và trên bất kì thiết
bị nào họ sử dụng (chẳng hạn PC hoặc điện thoại di động…)
Chia sẻ tài nguyên và chi phí trên một địa bàn rộng lớn, đem lại lợi ích cho người sử dụng:
Tập trung cơ sở hạ tầng, thiết bị tại một vị trí giúp người dùng không tốn nhiều giá thành đầu tư về trang thiết bị
Công suất xử lý được nhanh hơn do tài nguyên được tập trung
Không cần đầu tư về nguồn nhân lực quản lý hệ thống
Khả năng khai thác và hiệu suất được cải thiện hơn 10 -20% so với hệ thống máy tính cá nhân thông thường
Với độ tin cậy cao, không chỉ dành cho người dùng phổ thông, điện toán đám mây phù hợp với các yêu cầu cao và liên tục của các công ty kinh doanh và các nghiên cứu khoa học Tuy nhiên, một vài dịch vụ lớn của điện toán đám mây đôi khi rơi vào trạng thái quá tải, khiến hoạt động bị ngưng trệ Khi rơi vào trạng thái này, người dùng không có khả năng để xử lý các sự cố mà phải nhờ vào các chuyên gia từ đám mây tiến hành xử lý
Khả năng mở rộng được giúp cải thiện chất lượng các dịch vụ trên đám mây
Khả năng bảo mật được cải thiện do dữ liệu được tập trung ở một nơi
Trang 26 Các ứng dụng trên điện toán đám mây dễ dàng sửa chữa vì chúng không được cài đặt trên một máy cố định nào Chúng dễ dàng hỗ trợ và cải thiện về tính năng
Tài nguyên sử dụng của điện toán đám mây luôn được thống kê theo từng khách hàng, trên từng ứng dụng, theo từng ngày, từng tháng, từng năm Điều này đảm bảo cho việc định lượng, tính toán giá cả của mỗi dịch vụ do điện toán đám mây cung cấp, từ đó người dùng có thể đưa ra lựa chọn phù hợp với mình
1.7.2 Nhược điểm của điện toán đám mây
Tuy có nhiều ưu điểm nhưng điện toán đám mây cũng không thể tránh được những nhược điểm:
Tính riêng tư: Các thông tin người dùng và dữ liệu được chứa trên điện toán đám mây có đảm bảo được riêng tư, và các dữ liệu đó có được sử dụng với mục đích khác không?
Tính sẵn sàng: Liệu các dịch vụ lưu trữ dữ liệu trực tuyến trên đám mây bất ngờ ngừng hoạt động hoặc không tiếp tục cung cấp dịch vụ, khiến cho người dùng phải sao lưu dữ liệu của họ từ “đám mây” về máy tính cá nhân Điều này sẽ mất thời gian Thậm chí một vài trường hợp vì một lý do nào đó dữ liệu của người dùng bị mất và không thể phục hồi được
Hình 0.15 Minh họa dữ liệu chứa trên các “đám mây” sẽ phải giao phó toàn bộ “số
phận” cho “đám mây”
Tính di động của dữ liệu và quyền sở hữu: Một câu hỏi đặt ra là liệu người dùng
có thể chia sẻ dữ liệu từ dịch vụ của đám mây khác? Hoặc trong trường hợp không muốn tiếp tục sử dụng dịch vụ cung cấp từ đám mây thì người dùng có thể sao lưu toàn bộ dữ liệu của họ từ đám mây? Và làm cách nào để chắc chắn rằng các dịch vụ đám mây sẽ không hủy toàn bộ dữ liệu của họ trong trường hợp dịch vụ ngừng hoạt động
Khả năng bảo mật: Vấn đề tập trung dữ liệu trên các “đám mây” là cách thức hiệu quả để tăng cường bảo mật, nhưng mặt khác lại là mối lo của người sử dụng dịch vụ điện toán đám mây Bởi lẽ một khi các đám mây bị tấn công hoặc đột nhập, toàn bộ dữ liệu sẽ bị chiếm dụng Tuy nhiên, đây không chỉ là vấn đề
Trang 27riêng của “điện toán đám mây” bởi vì tấn công đánh cắp dữ liệu là vấn đề gặp phải trên bất kì môi trường nào, ngay cả trên các máy tính cá nhân
1.8 Các tác nhân tham gia điện toán đám mây
Điện toán đám mây hình thành, phát triển cùng với sự tham gia của ba tác nhân chính: Nhà cung cấp dịch vụ (Provider), người dùng (User) và đại lý cung cấp dịch vụ (Vendor)
1.8.2 Người dùng (Users)
Người dùng là người sử dụng hệ thống điện toán đám mây Đối với người dùng thì tính riêng tư về thông tin của người dùng và quyền truy cập vào các chức năng hệ thống là những yếu tố mà họ quan tâm
1.8.3 Đại lý cung cấp dịch vụ (Vendor)
Một số nhà sản xuất bán hay đưa sản phẩm và các dịch vụ làm tăng tính thuận lợi và sự phân phối, sự chấp nhận và sử dụng điện toán đám mây Các dịch vụ có thể cung cấp là thiết bị phần cứng (thiết bị lưu trữ, hạ tầng) hay các phần mềm (ứng dụng,
hệ điều hành)
1.9 Một số nhà cung cấp dịch vụ điện toán đám mây
Điện toán đám mây đã và đang trở thành xu hướng phát triển trong thời điểm hiện tại và cả tương lai của thế giới công nghệ Đi cùng với sự phát triển đó là sự tham gia của các nhà cung cấp dịch vụ, các hãng công nghệ hàng đầu trên thế giới mà đáng nói nhất trong số đó phải kể đến IBM, Microsoft, Google…
1.9.1 IBM
Với kinh nghiệm lâu năm trong lĩnh vực xây dựng kho dữ liệu trung tâm và đi đầu về công nghệ ảo hóa, IBM có một lợi thế vô cùng to lớn để cung cấp các dịch vụ điện toán đám mây Dưới đây là mô hình tổng quát của điện toán đám mây theo cách tiếp cận của IBM [12]
Trang 28Hình 0.16 Mô hình cơ sở hạ tầng điện toán đám mây của IBM
Theo mô hình trên của IBM, một trung tâm điện toán đám mây được chia thành
ba lớp: Lớp vật lý, lớp ảo hóa và lớp quản lý
Lớp vật lý: Là lớp phần cứng vật lý bao gồm máy chủ, thiết bị mạng, thiết bị lưu trữ
Lớp ảo hóa: Là một trong hai thành phần chủ yếu của mô hình điện toán đám mây cùng với lớp quản lý Trong lớp này, các tài nguyên vật lý được trừu tượng thành các máy chủ, kho lưu trữ và mạng ảo Tài nguyên tính toán có thể được tạo ra, mở rộng hoặc thu hẹp lại theo nhu cầu thực tế sử dụng Với môi trường động như điện toán đám mây, ảo hóa mang lại nhiều lợi ích như tăng cường khả năng chia sẻ, sử dụng tối đa tài nguyên giúp cho ứng dụng của một người không ảnh hưởng đến người khác trong môi trường chia sẻ dữ liệu
Lớp quản lý: Để việc quản lý và sử dụng tài nguyên ảo được hiệu quả nhất, trung tâm dữ liệu điện toán đám mây cần đến một lớp quản lý đóng vai trò như một trung tâm điều khiển để quản lý việc sử dụng tài nguyên trong toàn bộ hệ thống Một lớp quản lý cần có các thành phần sau:
Tự động hóa: Cho phép hệ thống tự động hóa việc cấp phát, cài đặt hay thu hồi tài nguyên theo yêu cầu Hệ thống cũng cho phép đặt trước các tài nguyên sẽ sử dụng trong tương lai
Cổng thông tin người sử dụng: Cho phép người sử dụng có thể tự yêu cầu tài nguyên Ngoài ra, người sử dụng cũng có thể quản lý các tài nguyên của mình như thêm bớt máy chủ, gia hạn sử dụng tài nguyên, …
Theo dõi mức độ sử dụng của các tài nguyên: Các thông tin theo dõi này sẽ giúp người quản trị có thể nhanh chóng đưa ra các điều chỉnh cần thiết để hệ thống đáp ứng các yêu cầu tính toán Thông tin theo dõi này cũng giúp cho việc lên kế hoạch tăng thêm tài nguyên một cách hợp lý hơn
Máy chủ của IBM sử dụng bộ vi xử lý Intel thế hệ mới và phần mềm mới cho trung tâm dữ liệu (Data center) Tại Việt Nam, IBM là một trong các công ty tiên phong đưa điện toán đám mây vào ứng dụng từ năm 2008 và khách hàng chủ yếu là
Trang 29các doanh nghiệp Việt Nam Hiện nay IBM có khoảng 10 phòng thí nghiệm điện toán đám mây trên toàn thế giới và một trong số đó là ở Việt Nam Điều này cũng phần nào chứng tỏ được vai trò cũng như tầm quan trọng của môi trường Việt Nam trong lĩnh vực này dưới góc nhìn của IBM cũng như giới công nghệ trên thế giới
1.9.2 Microsoft
Cùng với IBM, Microsoft cũng là một đại gia trong lĩnh vực công nghệ thông tin Nắm bắt được các cơ hội lớn trong lĩnh vực điện toán đám mây, với vai trò của một “người khổng lồ”, Microsoft cũng nhanh chóng tham gia vào lĩnh vực này từ rất sớm Nền tảng dịch vụ Azure của Microsoft là nền tảng điện toán đám mây “cung cấp một dịch vụ trong phạm vi rộng lớn, có thể sử dụng được từ cả môi trường nhà hay môi trường Internet” Nó là bước đầu tiên quan trọng của Microsoft trong việc xây dựng điện toán đám mây, tiếp theo sự khởi động của dịch vụ trực tuyến Microsoft
Hình 0.17 Nền tảng điện toán đám mây của Microsoft
Nền tảng dịch vụ Aruze là một nền tảng ứng dụng trong đám mây cho phép các ứng dụng được cài đặt và chạy ở các trung tâm dữ liệu Microsoft Nó cung cấp một hệ điều hành đám mây gọi là Window Azure [13], phục vụ cho các ứng dụng và cung cấp một tập các dịch vụ cho phép sự phát triển, quản lý và lưu trữ những ứng dụng bên ngoài Mọi dịch vụ Azure và các ứng dụng xây dựng sử dụng chúng chạy phía trên của Windows Azure
Hình 0.18 Mô hình Windows Azure chạy trên dữ liệu trung tâm Microsoft
Trang 30Nền tảng dịch vụ Azure cung cấp một API dựa trên REST, HTTP và XML cho phép một nhà phát triển có thể tương tác với các dịch vụ cung cấp bởi Windows Azure Một thư viện lớp quản lý phía Client cũng được cung cấp bao gồm các tính năng của việc tương tác với dịch vụ, đồng thời nó cũng tích hợp với Microsoft Visual Studio, do đó có thể được sử dụng như là các IDE để phát triển những ứng dụng được đặt trên Azure
Hình 0.19 Nền tảng dịch vụ Azure
Nền tảng dịch vụ Azure bao gồm 5 dịch vụ: dịch vụ Live, dịch vụ SQL Azure, AppFabric, dịch vụ SharePoint và dịch vụ Dynamics CRM Các dịch vụ này sẽ được các nhà phát triển sử dụng để xây dựng các ứng dụng sẽ chạy trên đám mây Ngoài ra còn có một thư viện, dạng mã được quản lý, và các công cụ đi kèm được cung cấp và được sử dụng để phát triển các ứng dụng đám mây trong Visual Studio Tính mở rộng
và độ tin cậy được điều khiển bởi Fabric Controller, do đó những dịch vụ và môi trường không bị hỏng nếu một trong những server trong trung tâm dữ liệu Microsoft bị hỏng, đồng thời nó cũng cung cấp sự quản lý đối với ứng dụng web của người dùng giống như các tài nguyên bộ nhớ và được chia tải
Nền tảng dịch vụ Azure có thể chạy các ứng dụng NET Framework viết trong C# và VB.NET, trong khi cung cấp framework ASP.NET và các phương pháp phát triển kết hợp để phân phối các ứng dụng trên platform đám mây Hai công cụ phát triển phần mềm được cung cấp sẵn cho sự tương tác với nền tảng dịch vụ Azure: Java SDK cho AppFabric và Ruby SDK cho AppFabric Chúng cho phép các nhà phát triển Java và Ruby tích hợp với AppFabric [4]
Môi trường điều khiển của Windows Azure gọi là Fabric Controller, cho phép
tổ hợp những hệ thống riêng biệt vào một mạng tự động quản lý tài nguyên Fabric Controller cho phép điều chỉnh tải, sao chép vị trí địa lý và vòng đời phần mềm mà không đòi hỏi các ứng dụng cài đặt đó đáp ứng yêu cầu Ngoài ra nó cũng cung cấp những dịch vụ khác mà hầu hết những ứng dụng yêu cầu – như là các dịch vụ lưu trữ Windows Azure (Windows Azure Storage Service) cung cấp các ứng dụng với khả
Trang 31năng lưu trữ dữ liệu không có cấu trúc như là binary BLOGs Các ứng dụng có thể sử dụng những dịch vụ khác là một phần của nền tảng dịch vụ Azure
Hình 0.20 Fabric Controller
Tại Việt Nam, Microsoft cũng đã và đang tiến hành một lọat các hoạt động nhằm khẳng định hơn nữa vai trò và tầm quan trọng của mình trong lĩnh vực còn rất nhiều tiềm năng này
1.9.3 Google
Google cung cấp nền tảng cho phép khách hàng xây dựng và triển khai các ứng dụng web lên Google App Engine (GAE) [14] Các ứng dụng dựa trên nền tảng này có thể viết bằng hai ngôn ngữ chính phổ biến là Python hoặc Java Ứng dụng giao tiếp với GAE bằng các dịch vụ như Google account, Memcache … Ngoài ra, Google còn cung cấp các phần mềm như là dịch vụ (Google Apps)
Dịch vụ nền tảng của Google: Dịch vụ nền tảng của Google là GAE Đây là nền tảng giúp cho các khách hàng triển khai các ứng dụng web một cách đơn giản,
dễ mở rộng mà không cần chi phí ban đầu cho băng thông hay không gian lưu trữ Nền tảng GAE hoàn toàn miễn phí (nhỏ hơn 1GB), có đủ băng thông và CPU để cho nhiều người có thể cùng xem một lúc
Các phần mềm dịch vụ của Google (Google Apps) [15]: Google Apps là một bộ ứng dụng bao gồm dịch vụ thư điện tử (Gmail), lịch chia sẻ trực tuyến (Google Canlendar), trao đổi trực tuyến (Google Talk), gói phần mềm văn phòng trực tuyến (Google Documents & Spreadsheets), tạo và xuất bản trang web của nhóm (Google Sites) … được các cá nhân, tổ chức được sử dụng mà không c ần phải mua phần mềm cũng như bản quyền, lắp đặt hay duy trì phần cứng Hiện tại, Google đưa ra ba phiên bản chính khác nhau của Google Apps™ với mục đích đáp ứng nhu cầu đa dạng của người sử dụng, bao gồm:
Google Apps™ Standard Edition, gói sản phẩm - dịch vụ miễn phí cho
phép các doanh nghiệp, hộ gia đình, các nhóm khác nhau có thể sử dụng
Trang 32Google Apps với tên miền riêng (domain riêng của chính tổ chức - doanh nghiệp)
Google Apps™ Premier Edition, gói sản phẩm - dịch vụ có thu phí trên
từng người sử dụng (phí cho 01 người sử dụng là 50USD/người/năm) và phiên bản này được thiết kế nhằm đáp ứng sự gia tăng yêu cầu về hội nhập, lưu trữ Tổ chức - doanh nghiệp được hỗ trợ cho các loại hình kinh doanh khác nhau, trong đó bao gồm cả việc hỗ trợ ứng dụng bằng điện thoại đi động/Pocket PC, hộp thư có dung lượng 25 Gb và có khả năng tích hợp thêm các ứng dụng khác của doanh nghiệp qua giao diện lập trình Google APIs
Google Apps™ Education Edition, gói sản phẩm - dịch vụ có các tính
năng tương tự Google Apps™ Premier Edition nhưng dành cho các trường đại học và các cơ sở giáo dục và hoàn toàn miễn phí (gói này chỉ dành cho các tên miền edu)
Một số dịch vụ cơ bản cụ thể của Google Apps bao gồm:
Gmail: Dịch vụ thư điện tử với dung lượng lưu trữ cho một hộp thư là 7 Gb
Dịch vụ cho phép nhận và gửi thư thông qua môi trường Web Ngoài ra công cụ tìm kiếm cho phép người dùng tìm thông tin/nội dung thư điện tử một cách nhanh chóng với nhiều tiêu chí Tóm lại, tất cả các tính năng của dịch vụ Gmail đều được hãng Google cung cấp tại dịch vụ này
Google Calendar: Dịch vụ lập lịch làm việc trực tuyến giúp người sử dụng sắp
xếp thời gian biểu, cho phép chia sẻ các sự kiện, các cuộc họp hay lịch làm việc riêng cho người khác
Google Documents/Spreadsheet: Dịch vụ ứng dụng văn phòng trực tuyến giúp
người sử dụng có thể tạo sửa các văn bản và bảng tính tương tự như sử dụng Microsoft Word và Microsoft Excel ngay trên trình duyệt web Đồng thời cho phép lưu trữ ngay trên web và người sử dụng có truy xuất để cập nhật hoặc chia
sẻ với người sử dụng khác bất cứ khi nào
Google Talk: Dịch vụ trò chuyện trực tuyến cho phép nhóm người sử dụng trao
đổi và bàn bạc công việc không giới hạn khoảng cách địa lý và không gian Đồng thời, các tổ chức, doanh nghiệp có thể sử dụng hệ thống này thay cho hệ thống trao đổi trực tuyến nội bộ của mình
Start Page: Dịch vụ “trang bắt đầu” là nơi trung tâm dành cho người sử dụng
có thể xem lướt qua hộp thư đến, lịch làm việc, các tài liệu chia sẻ cũng như truy cập hoặc điều chỉnh theo ý thích các nội dung khác như thời tiết, biểu đồ chứng khoán, tin tức …
Google Video: Chia sẻ an toàn các video mà bất kỳ ai cũng có thể nhận xét, gắn
thẻ và xếp hạng
Google Groups: Tạo ra các Group, là nơi mà mọi người có thể cùng tham gia
Trang 33trao đổi thông tin về một lĩnh vực nào đó mà họ cùng quan tâm
…
Tại Việt Nam, Google từ lâu đã được biết đến như là một trong những nhà cung cấp dịch vụ công nghệ thông tin hàng đầu không chỉ ở Việt Nam mà còn trên phạm vi toàn thế giới Google sẽ là lựa chọn đầu tiên của đa số người dùng khi muốn tìm kiếm thông tin
1.9.4 Một số nhà cung cấp dịch vụ điện toán đám mây ở Việt Nam
Trước nhu cầu sử dụng dịch vụ điên toán đám mây ngày càng lớn thì ngày càng
có nhiều doanh nghiệp, tổ chức trong nước chú trọng đầu tư vào lĩnh vực này
FPT: Với lợi thế là một trong những doanh nghiệp công nghệ thông tin hàng đầu Việt Nam và là đối tác tin cậy của các công ty công nghệ hàng đầu thế giới như Microsoft, IBM, nên FPT có thể dễ dàng đưa vào khai thác và sử dụng các dịch vụ phục vụ cho điện toán đám mây Hiện tại FPT đang là nhà cung cấp, xây dựng và bảo trì các hệ thống cũng như phần mềm cho đa số các bộ, nghành của chính phủ nên việc đưa điện toán đám mây vào sử dụng sẽ làm tăng thêm tính hiệu quả trong sử dụng các dịch vụ này
VNPT: Là doanh nghiệp viễn thông hàng đầu Việt Nam, có mạng lưới cơ sở hạ tầng tốt nên có thể phát triển nhanh
Viettel: Đang chú trọng phát triển dịch vụ điện toán đám mây, không chỉ ở trong nước mà còn phát triển ra nước ngoài
…
1.10 Bảo mật trong điên toán đám mây
Do đặc thù của vệc chia sẻ thông tin nên việc bảo mật thông tin và an toàn dữ liệu trong mô hình điện toán đám mây là vấn đề rất quan trọng được ưu tiên hàng đầu nhằm tăng cường khả năng sử dụng mô hình này trong thực tiễn Trong mô hình điện toán đám mây, dữ liệu được lưu trữ ở nhiều nơi, có thể ở trung tâm dữ liệu hoặc ở đâu
đó trong “đám mây” Trong quá trình họat động của hệ thống, dữ liệu có thể được di chuyển từ nơi này sang nơi khác, có thể từ thiết bị đầu cuối này tới thiết bị đầu cuối khác hoặc từ máy chủ tới các thiết bị đầu cuối hoặc ngược lại Chính vì vậy, việc đảm bảo thông tin được chính xác là yêu cầu quan trọng nhất Để đảm bảo được điều này thì thông thường sử dụng các phương pháp 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 các thiết bị đầu cuối trong mạng và các thiết bị của doanh nghiệp trong khi vẫn đảm bảo được việc giảm các thiết bị kết nối mới Ngoài ra cũng 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 xây dựng tường lửa để bảo vệ sự tồn tại và các hoạt động của hệ thống
Bảo mật luồng thông tin lưu trữ và dịch chuyển trong trung tâm dữ liệu: Phân chia mạng thành các phân khúc với các mạng nội bộ ảo, các khu vực, các bộ
Trang 34định tuyến ảo, mạng riêng ảo và đồng thời sử dụng tường lửa để bảo vệ các thông tin được truyền từ ứng dụng này tới ứng dụng khác, giữa các máy chủ, giữa các máy ảo và giữa các điểm kết nối với nhau Ngoài ra cũng cần triển khai các chính sách bảo mật thiết bị dựa trên định danh
Thiết lập các chính sách trên toàn mạng từ một điểm trung tâm nhằm bảo đảm
sự tuân thủ quy định bảo mật Các cơ chế tập trung cho phép bao quát tổng thể theo thời gian thực và thời gian trước đó về các ứng dụng cũng như dữ liệu, đồng thời cũng cho phép đội ngũ công nghệ thông tin thực hiện các đánh giá về
lỗ hổng bảo mật theo lịch trình định sẵn
Những lo ngại về an ninh và bảo mật thông tin luôn là trở ngại lớn khi sử dụng
mô hình điện toán đám mây Việc giao trách nhiệm về các ứng dụng và dữ liệu quan trọng cho đối tác thứ ba (nhà cung cấp dịch vụ), có nghĩa là khách hàng phải biết chính xác nhà cung cấp dịch vụ điện toán đám mây xử lý thế nào về các vấn đề an ninh và kiến trúc hệ thống Các nhà cung cấp dịch vụ sẽ thông báo các thông tin trên đến mức nào vẫn là một câu hỏi lớn vẫn đang trong quá trình tìm hiểu và giải đáp Các nhà cung cấp dịch vụ điện toán đám mây thường lưu trữ dữ liệu của các khách hàng khác nhau trên cùng một thiết bị phần cứng Trong khi đó, các khách hàng mong muốn dữ liệu của họ được tách biệt rõ ràng so với các đối thủ cạnh tranh Không có gì đáng ngạc nhiên khi những nỗi lo về bảo mật là yếu tố được đặt lên hàng đầu của doanh nghiệp
và người dùng khi họ sử dụng điện toán đám mây
Bên cạnh đó là nỗi lo mất kiểm soát, an ninh, độ trễ (latency), các dịch vụ kèm theo và tính sẵn sàng của các hệ thống là những vấn đề mà những nhà quản lý công nghệ thông tin quan tâm khi sử dụng mô hình điện toán đám mây Để làm hài lòng các nhà quản lý công nghệ thông tin thì các nhà cung cấp dịch vụ còn rất nhiều việc phải làm Một số người cho rằng họ không còn giữ được dữ liệu của họ nữa, dữ liệu của họ
ở nơi họ không có mặt ở đó và không thể trực tiếp quản lý được nó Bằng cách tự lưu trữ ứng dụng của mình, một công ty có thể dễ dàng xác định những mục tiêu kiểm soát
và duy trì tình trạng toàn vẹn của dữ liệu theo các quy tắc cụ thể Tuy nhiên, nếu những công ty này muốn đưa các ứng dụng tài chính của mình lên “đám mây” thì họ
sẽ phải đánh giá lại những mục tiêu kiểm soát để đảm bảo không phạm vào các quy tắc chung đã được đặt ra trước đó
1.11 Tổng kết chương
Chương này đã trình bày toàn bộ các mô hình, các thành phần cũng như kiến trúc tổng thể của mô hình điện toán đám mây, cũng như các nhà cung cấp dịch vụ điện toán đám mây hiện có Những đặc điểm ưu việt của mô hình điện toán đám mây là điều không thể phủ nhận và chính vì những ưu điểm này mà mô hình này sẽ trở thành
mô hình phổ biến, là điểm nhấn của công nghệ trong tương lai Cùng với sự ưu việt về công nghệ thì một điều không thể không nhắc tới, đó là lợi ích kinh tế mà điện toán đám mây sẽ mang lại: Sự tiết kiệm chi phí, tính an toàn trong bảo mật thông tin, tính
Trang 35khả thi, dễ triển khai và dễ sử dụng Tất cả sẽ là những bước đệm không thể tốt hơn để giúp điện toán đám mây ngày càng phát triển hơn nữa trong tương lai, xứng đáng với vai trò và tầm quan trọng của nó
Trang 36Chương 2
DỊCH VỤ BẢN ĐỒ TRONG ĐIỆN TOÁN ĐÁM MÂY
Chương này sẽ trình bày chi tiết về các dịch vụ bản đồ trong điện toán đám mây, cụ thể là Bing Maps và Google Maps Các thông tin về thành phần, lịch sử phát triển, cách sử dụng, các công cụ nền tảng được sử dụng để xây dựng ứng dụng của các dịch vụ bản đồ Trên cơ sở đó sẽ đưa ra so sánh giữa các dịch vụ (ưu, nhược điểm của từng loại) và lựa chọn một dịch vụ để xây dựng ứng dụng
2.1 Bing Maps [16]
2.1.1 Tổng quan về Bing
Hình 0.1 Trang chủ Bing
Bing (trước đây là Live Search, Window Live Search và MSN Search) là một
bộ máy tìm kiếm web (máy ra quyết định) và đại diện cho công nghệ tìm kiếm hiện nay của Microsoft Bing là một từ tượng thanh, một từ mô tả âm thanh Thông qua nghiên cứu, Microsoft đã quyết định lấy tên Bing vì nó ngắn gọn, dễ nhớ, dễ phát âm
và chắc hẳn sẽ là một URL tốt Dưới đây là một số đặc trưng của Bing:
2.1.1.1 Về giao diện
Hình nền về các nơi trên thế giới thay đổi hàng ngày có các thông tin mà bạn có
thể xem bằng cách rê chuột lên hình ảnh
Phần đề mục nội dung của kết quả (tách các phần riêng cho hình nền, bản đồ, thời tiết )
Khung duyệt trang bên trái, bao gồm điều hướng và trên các trang kết quả sẽ liệt kê các kết quả tìm kiếm
Xem thử mở rộng ở bên phải với danh sách các url tương ứng
Trang 37 Liên kết con: Trên một số kết quả nhất định, trang kết quả tìm kiếm cũng hiển thị các liên kết đề mục bên trong một trang (Wikipedia)
Mở rộng xem đối với thông tin từ bên thứ ba có thể xem được từ Bing Cách này hoạt động được với trang Wikipedia
2.1.1.3 Về tìm kiếm cải tiến
Liệt kê khách sạn trong thành phố
Liệt kê các hãng kinh doanh
Thông tin xe cộ
Thông tin giao thông hiện tại
Tìm kiếm địa phương hóa cho nhà hàng và dịch vụ
2.1.1.4 Các sản phẩm tìm kiếm của Bing
Ngoài các công cụ để tìm kiếm trang web, Bing còn cung cấp các tìm kiếm sau:
Bảng 0.1 Các dịch vụ tìm kiếm của Bing
Health http://www.bing.com/health
Bing Health lọc các tìm kiếm các khái
niệm y học có liên quan để lấy thông tin sức khỏe tương ứng
Images http://www.bing.com/images Bing Images cho phép người dùng tìm và
hiển thị những bức ảnh tương ứng
Local http://www.bing.com/local Bing Local tìm các danh sách doanh
nghiệp trong địa phương
Maps http://www.bing.com/maps
Bing Maps cho phép người dùng tìm các
doanh nghiệp, địa chỉ, vùng đất và tên đường trên khắp thế giới, và có thể chọn góc nhìn kiểu bản đồ đường phố, góc nhìn
vệ tinh hoặc góc nhìn tổng hợp Nó có bản đồ 3D gồm khả năng duyệt 3D ảo và phóng to thu nhỏ vùng đất và tòa nhà 3D
News http://www.bing.com/news Bing News là trình đọc tin tức và cung
Trang 38cấp các kết quả tin tức phù hợp với yêu cầu
Shopping http://www.bing.com/shopping
Bing Shopping cho phép người dùng tìm
kiếm trải rộng từ các nhà cung cấp trực tuyến đến nhà bán lẻ tất cả các loại sản phẩm và hàng hóa
Translator http://www.bing.com/translator
Bing Translator cho phép người dùng
dịch văn bản hoặc toàn trang web sang các ngôn ngữ khác nhau
Travel http://www.bing.travel
Bing Travel tìm giá vé máy bay và đặt
khách sạn trực tuyến và dự đoán thời điểm tốt nhất để mua chúng
Videos http://www.bing.com/videos
Bing Video cho phép người dùng tìm
kiếm nhanh chóng và xem video trực tuyến từ các website khác nhau
xRank http://www.bing.com/xrank Bing xRank cho phép người dùng tìm
những người nổi tiếng, nhạc sĩ…
Tóm lại Bing cung cấp rất nhiều dịch vụ hữu ích cho người dùng và sử dụng cũng vô cùng tiện lợi Trong các dịch vụ đã được cung cấp bởi Bing thì Bing Maps là một trong những tiện ích rất được nhiều người sử dụng không chỉ bởi vì tính dễ sử dụng mà còn vì những lợi ích to lớn mà nó mang lại
Trang 39Bing Maps là dịch vụ bản đồ trực tuyến, được xây dựng với mục đích mang lại cho người dùng những sự lựa chọn tính năng tuyệt vời nhất về bản đồ trực tuyến Với Bing Maps, bạn có thể tra cứu nhanh chóng vị trí của mình trên trái đất, tìm thấy hình ảnh về nơi bạn muốn tìm hiểu, tra cứu trạng thái giao thông …
Giao diện của Bing Maps khá đơn giản Cửa sổ làm việc của Bing Maps mang
tính chuyên nghiệp cao, các công cụ như Directions, Get driving directions, See your
places, Share your map, Print map in the best format, See current traffic được sắp xếp
ở bên trái dưới dạng biểu tượng, thay vì sắp xếp trên cửa sổ hiển thị bản đồ như
Google Maps (hoặc các công cụ tương đương)
Trên bản đồ của Bing Maps có các công cụ: See the map in 2D-hiển thị bản đồ dạng phẳng (chữ 2D), See the map in 3D-hiển thị bản đồ dạng ba chiều (chữ 3D), Use
a standard road map-hiển thị bản đồ đường phố (chữ Road), Aerial-quan sát từ trên
không theo hai chế độ Aerial (ảnh chụp từ vệ tinh) hay Bird’s eye (quan sát theo cách
nhìn của loài chim)
Khác với các công cụ bản đồ trực tuyến khác (như Google Maps), Bing Maps
có khả năng hiển thị 3D, điều này góp phần làm tăng tính linh hoạt và khả năng hiển
thị của nó Nhưng mặc định Bing Maps chỉ hỗ trợ dạng 2D, bạn cần cài thêm add-on
Bing Maps 3D cho trình duyệt thì mới kích hoạt được dịch vụ ở chế độ 3D Sau khi cài
đặt xong, bạn cần khởi động lại trình duyệt thì thay đổi mới có hiệu lực Khi đó, bạn chọn chế độ 3D sẽ thấy được mô hình của các tòa nhà lớn hay các địa điểm cần tìm Bing Maps cung cấp công cụ Photosynth Đây là công cụ chuyển hình ảnh từ 2D thành 3D của Microsoft Công cụ này cho phép người sử dụng xâu chuỗi hình ảnh số tạo nên bức ảnh tổng hợp ba chiều Điều này cho phép người sử dụng có thể xem hình ảnh dưới các góc độ khác nhau và nó là một lợi thế vô cùng to lớn giúp cho Bing Maps có thể cạnh tranh với các dịch vụ tìm kiếm bản đồ trực tuyến khác
2.2 Google Maps [9,22]
Google Maps (GMaps) là một dịch vụ cung cấp giao diện trực quan, chi tiết về
vị trí địa lý của các địa điểm và ảnh chụp vệ tinh của Google GMaps cung cấp điều khiển để người sử dụng tùy biến hiển thị bản đồ bao gồm: dịch chuyển, xoay, phóng to/thu nhỏ cũng như tùy chỉnh hiển thị bản đồ ở những chế độ khác nhau Bên cạnh đó, dịch vụ này còn hỗ trợ tìm kiếm lộ trình đường đi, tìm kiếm địa chỉ… GMaps được cung cấp bởi công ty Google thông qua các trang web như Google Maps, Google Ride Finder và được nhúng vào các trang web thứ 3 thông qua các hàm dịch vụ API Google Maps API cho phép các nhà xây dựng ứng dụng có thể nhúng dịch vụ GMaps vào trang web của mình
Trang 40Hình 0.3 Giao diện chính của Google Maps
Với dịch vụ GMaps, người sử dụng không cần phải đầu tư vào cơ sở hạ tầng lưu trữ dữ liệu, cập nhật cũng như xử lý bản đồ mà chỉ cần biết về lập trình web, Ajax
là có thể xây dựng được một ứng dụng bản đồ số với các tính năng cơ bản được cung cấp bởi GMaps mà không cần mất khoản chi phí nào
2.2.1 Môi trường phát triển
Bản đồ Google Maps (GMaps) được đưa vào trong các ứng dụng thông qua việc sử dụng bộ thư viện API đã được cung cấp Các thư viện đã được cung cấp bởi GMaps có thể nói đến như Maps JavaScript API, Map API for Flash, Map Data API, Earth API … Mỗi một thư viện khi đưa ra đều có mục đích riêng và đều hướng đến khai thác một khía cạnh nào đó của Gmaps Để sử dụng các API đã được cung cấp thì phải khai báo thư viện API trong ứng dụng trước tiên Sau khai khai báo thì có thể sử dụng các đối tượng, dịch vụ và các thành phần mà thư viện đó cung cấp để xây dựng ứng dụng cho mình
2.2.2 Các thành phần của Google Maps JavaScrip API
Google Maps Javascript API bao gồm nhiều lớp, nhiều dịch vụ hỗ trợ khai thác bản đồ và mỗi thành phần có chức năng riêng của nó
2.2.2.1 Các sự kiện (Event)
Khi sử dụng bản đồ số, người dùng có thể thực hiện phóng to, thu nhỏ, kéo bản đồ… Để thao tác với các sự kiện, người dùng phải thông qua phương thức addListener() và để hủy sự kiện thì sử dụng phương thức removeListener() của lớp event Đối với một sự kiện thì thông thường chúng ta có 3 giá trị tham số cần quan tâm: Đối tượng của sự kiện, điều kiện cần để xảy ra sự kiện và hàm sẽ sử dụng để đáp ứng cho sự kiện đó