Thứ Năm, 27 tháng 2, 2014

Xây dựng hệ thống quản trị nội dung sử dụng Windows Azure Platform

DANH MỤC CÁC BẢNG
Bảng 2.1: Các mô hình tính toán Windows Azure 43
Bảng 3.1: Thiết kế bảng Account 54
Bảng 3.2: Thiết kế bảng AccountProperty 54
Bảng 3.3: Thiết kế bảng Content 55
Bảng 3.4: Thiết kế bảng AccountRoles 56
Bảng 3.5: Thiết kế bảng ContentRank 56
Bảng 3.6: Thiết kế bảng Domain 56
Bảng 3.7: Thiết kế bảng Zone 57
Bảng 3.8: Thiết kế bảng Distribution 57
DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ
STT Từ viết tắt/thuật ngữ Giải thích
1 CSDL Cơ sở dữ liệu
2 IaaS Infrastructure as a Service - Hạ tầng như dịch vụ
3 PaaS Platform as a Service - Nền tảng như dịch vụ
4 SaaS Software as a Service – Phần mềm như dịch vụ
5 VM Virtual Machine - Máy ảo
6 AWS Amazon Web Services - Các dịch vụ web của
Amazon
7 GAE
Google App Engine – Nền tảng điện toán đám mây
của Google
8 CMS
Content Management System - Hệ thống quản trị nội
dung
9 DBMS Hệ quản trị cơ sở dữ liệu
10 RDBMS Hệ quản trị cơ sở dữ liệu quan hệ
LỜI NÓI ĐẦU
Ngày nay, đối với các công ty, doanh nghiệp, việc quản lý hiệu quả dữ liệu của riêng
công ty cũng như dữ liệu khách hàng và đố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 đ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 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ữ “điện toán đám mây” 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 được bắt nguồn từ ý tưởng đưa tất cả mọi thứ như dữ liệu,
phần mềm, tính toán, … lên trên mạng Internet. Chúng ta sẽ không còn trông thấy các
máy PC, máy chủ của riêng các doanh nghiệp để lưu trữ dữ liệu, phần mềm nữa mà chỉ
còn một số các “máy chủ ảo” tập trung ở trên mạng. Các “máy chủ ảo” sẽ cung cấp các
dịch vụ giúp cho doanh nghiệp có thể quản lý dữ liệu dễ dàng hơn, họ sẽ chỉ trả chi phí
cho lượng sử dụng dịch vụ của họ, mà không cần phải đầu tư nhiều vào cơ sở hạ tầng
cũng như quan tâm nhiều đến công nghệ. Xu hướng này sẽ giúp nhiều cho các công ty,
doanh nghiệp vừa và nhỏ mà không có cơ sở hạ tầng mạng, máy chủ để lưu trữ, quản lý
dữ liệu tốt. Hơn thế nữa, vượt ngoài phạm vi “quản lý dữ liệu”, nếu như toàn bộ các
chương trình ứng dụng của doanh nghiệp được cài đặt trên hệ thống máy chủ đó để mọi
người có thể dễ dàng truy cập sẽ tạo thuận lợi lớn cho doanh nghiệp để họ có thể tập
trung vào nghiệp vụ của mình.
Rõ ràng để có thể cung cấp được một hệ thống điện toán đám mây đáp ứng những nhu
cầu như vậy thì nhà cung cấp cần một cơ sở vật chất và kỹ thuật cực kỳ tối tân, và trên
thực tế chỉ có những hãng công nghệ lớn mới có thể đảm nhận nhiệm vụ này. Amazon
và Google là một trong những hãng tiên phong phát triển điện toán đám mây và đã thu
được một số thành quả nhất định. Gần đây, hãng phần mềm lớn nhất thế giới Microsoft
cũng đã chính thức đưa ra sản phẩm điện toán đám mây của mình: Windows Azure
Platform. Dù chỉ mới xuất hiện nhưng Windows Azure đã gây chú ý lớn đặc biệt là ở
khả năng xây dựng các ứng dụng với khả năng mở rộng rất mạnh mẽ và linh hoạt.
Windows Azure có khả năng hỗ trợ đa ngôn ngữ, tuy nhiên cũng giống như các sản
phẩm khác của Microsoft, Windows Azure nhận được sự quan tâm rất lớn của cộng
đồng phát triển .NET. Microsoft đã và đang tạo nên một cộng đồng phát triển ứng dụng
Windows Azure và ngày càng có nhiều ứng dụng lớn được thiết kế lại để có thể đưa lên
môi trường Windows Azure và tận dụng sức mạn của công nghệ điện toán đám mây này.
Đồ án tốt nghiệp này nhằm tìm hiểu những nền tảng và xu hướng cơ bản của điện toán
đám mây, từ đó đi vào nghiên cứu công nghệ điện toán đám mây Windows Azure của
Microsoft và xây dựng một ứng dụng thử nghiệm công nghệ Windows Azure. Nắm được
nền tảng công nghệ và đưa ra định hướng phát triển, đó chính là mục tiêu của đề tài:
“Xây dựng hệ thống quản trị nội dung sử dụng Windows Azure Platform”.
CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
1.1. Khái niệm điện toán đám mây
1.1.1. Định nghĩa
Điện toán đám mây là một mô hình điện toán mà trong đó tất cả các dữ liệu và dịch vụ
được đặt trong những trung tâm dữ liệu & dịch vụ khổng lồ (cloud - đám mây) và có thể
truy cập được thông qua Internet.
Hình 1.1: Đám mây điện toán [11]
Theo định nghĩa, các nguồn điện toán khổng lồ như phần mềm, dịch vụ sẽ nằm tại các
máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn phòng (trên
mặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần.
Một trong những ý tưởng quan trọng nhất của điện toán đám mây là khả năng mở rộng
và công nghệ chủ chốt là công nghệ ảo hóa. Ảo hóa cho phép sử dụng tốt hơn một server
bằng cách kết hợp các hệ điều hành và các ứng dụng trên một máy tính chia sẻ đơn lẻ.
Ảo hóa cũng cho phép di trú trực tuyến (online migration) để khi một server quá tải, một
instance của hệ điều hành (và các ứng dụng trên đó) có thể di trú đến một server mới, ít
tải hơn.
Từ góc nhìn bên ngoài, điện toán đám mây đơn giản chỉ là việc di trú tài nguyên tính
toán và lưu trữ từ doanh nghiệp vào “đám mây”. Người dùng chỉ định yêu cầu tài
nguyên và cloud provider hầu như tập hợp các thành phần ảo này trong hạ tầng của nó.
(hình 1.2)
Hình 1.2: Di trú tài nguyên vào “đám mây” [8]
Nhưng tại sao chúng ta lại từ bỏ quyền kiểm soát tài nguyên của mình và cho phép
chúng tồn tại ảo trong “đám mây” ? Có nhiều lý do nhưng quan trọng nhất là tính dễ mở
rộng và chi phí.
Ưu điểm mới của cloud computing là khả năng ảo hóa và chia sẻ tài nguyên giữa các
ứng dụng. Hình dưới đây cho thấy một ví dụ.
Hình 1.3: Ảo hóa server [8]
Ở đây 3 nền tảng độc lập tồn tại cho các ứng dụng khác nhau , mỗi ứng dụng chạy trên
server của nó. Trong “đám mây”, server có thể được chia sẻ (được ảo hóa) giữa các hệ
điều hành và các ứng dụng để sử dụng server tốt hơn. Càng ít server thì càng cần ít
không gian (giảm vùng bao phủ của các data center) và càng ít năng lượng làm mát
(giảm tiêu hao nhiên liệu).
Hiện nay, các nhà cung cấp đưa ra nhiều dịch vụ của điện toán đám mây theo nhiều
hướng khác nhau, đưa ra các chuẩn riêng cũng như cách thức hoạt động khác nhau. Do
đó, việc tích hợp các cloud để giải quyết một bài toán lớn của khách hàng vẫn còn là một
vấn đề khó khăn. Chính vì vậy, các nhà cung cấp dịch vụ đang có xu hướng tích hợp các
cloud lại với nhau thành “sky computing”, đưa ra các chuẩn chung để giải quyết các bài
toán lớn của khách hàng.
Hình 1.4: Sky Computing cho các “đám mây”? [13]
1.1.2. Sự cần thiết của điện toán đám mây
Điện toán đám mây ra đời để giải quyết các vấn đề sau:
• Vấn đề về lưu trữ dữ liệu:
Dữ liệu được lưu trữ tập trung ở các kho dữ liệu khổng lồ. Các công ty
lớn như Microsoft, Google có hàng chục kho dữ liệu trung tâm nằm rải rác khắp
nơi trên thế giới. Các công ty lớn này sẽ cung cấp các dịch vụ cho phép doanh
nghiệp có thể lưu trữ và quản lý dữ liệu của họ trên các kho lưu trữ trung tâm.
• Vấn đề về sức mạnh tính toán:
Có 2 giải pháp chính:
o Sử dụng các siêu máy tính (super-computer) để xử lý tính toán.
o Sử dụng các hệ thống tính toán song song, phân tán, tính toán lưới (grid
computing).
• Vấn đề về cung cấp tài nguyên, phần mềm:
Cung cấp các dịch vụ như hạ tầng như dịch vụ IaaS (infrastructure as a
service), nền tảng như dịch vụ - PaaS (platform as a service), phần mềm như dịch
vụ - SaaS (software as a service). Phần 1.3 sẽ đi sâu hơn về các dịch vụ này.
1.1.3. Đặc tính của điện toán đám mây
Những đặc tính nổi bật của điện toán đám mây:
• Ảo hóa & chia sẻ tài nguyên (Shared, virtualized infrastructure): Trái tim của
điện toán đám mây là khả năng Ảo hóa (Virtualization). Ảo hóa cung cấp khả
năng chia sẻ các tài nguyên tính toán như servers, storage, data, …Nhờ khả
năng ảo hóa, hệ thống sẽ được tận dụng hiệu quả hơn.
• Khả năng tự phục vụ (Self-service access): Cloud Computing cung cấp khả
năng tự phục vụ (self-service) cho các user. Người sử dụng có khả năng truy
cập trực tiếp vào các tài nguyên và sử dụng theo nhu cầu.
• Co giãn tài nguyên (Elastic resource pools): Tài nguyên cung cấp cho người
sử dụng (servers, storage, data, …) có thể dễ dàng co giãn tùy theo nhu cầu sử
dụng. Những tài nguyên không còn được sử dụng sẽ được giải phóng cho hệ
thống.
• Hướng dịch vụ (Service-oriented): Hệ thống Cloud computing là hướng dịch
vụ và được xây dựng dựa trên tập các dịch vụ. Các dịch vụ có thể độc lập
hoặc được xây dựng dựa trên các dịch vụ đã có nhờ khả năng re-use.
• Chi trả theo mức sử dụng (Pay per use): Người dùng chỉ chi trả cho những tài
nguyên nào họ sử dụng, về phía nhà cung cấp, khả năng này cho phép họ theo
dõi các dịch vụ được sử dụng.
• Tự sửa lỗi (Self-Healing): Các ứng dụng/dịch vụ chạy trong môi trường Cloud
Computing đều có đặc tính tự sửa lỗi. Mỗi ứng dụng khi thực thi đều có các
bản copy – các phiên bản này tự động cập nhật. Khi ứng dụng gặp sự cố sẽ
luôn có một bản copy tiếp tục được thực thi.
1.2. Kiến trúc tổng quan
1.2.1 Bên trong đám mây
Bên trong “đám mây” không chỉ có một dịch vụ mà là một tập các dịch vụ. Các tầng
định nghĩa mức dịch vụ được cung cấp.
Hình 1.5: Các mức dịch vụ trong “đám mây” [8]
Ba tầng dịch vụ được định nghĩa là tầng hạ tầng (Infrastructure) tầng nền tảng
(Platform), tầng ứng dụng (Application), phía dưới là tầng phần cứng và tầng ảo hóa.
Tầng dịch vụ thấp nhất là Hạ tầng (Hạ tầng như một dịch vụ - IaaS). IaaS là việc cho
thuê hạ tầng như một dịch vụ bao gồm các máy tính ảo hóa và băng thông dành riêng
cho lưu trữ và truy cập Internet. Về cơ bản, đó là khả năng cho thuê máy tính hay data
center với ràng buộc về QoS sao cho người dùng có khả năng chạy phần mềm hay hệ
điều hành bào đó tùy ý.
Lên mức tiếp theo là Nền tảng (Nền tảng như một dịch vụ - PaaS). PaaS giống như IaaS
nhưng gồm cả hệ điều hành và các dịch vụ cần thiết cho một ứng dụng chuyên biệt. Ví
dụ PaaS ngoài server và lưu trữ ảo hóa cung hệ điều hành đặc biệt và tập các ứng dụng
(như một máy ảo) cùng các dịch vụ cần thiết như MySQL… Nói cách khác, PaaS là IaaS
với một software stack dành cho một ứng dụng.
Trên cùng là dịch vụ đơn giản nhất được cung cấp: ứng dụng. Tầng này được gọi là
Phần mềm như một dịch vụ (SaaS) và nó là mô hình triển khai phần mềm từ một hệ tập

Không có nhận xét nào:

Đăng nhận xét